Kevinpro-NLP-Demo
Un simple implemento del algoritmo NLP divertido en Pytorch. actualización y mantenimiento
Si tiene alguna pregunta, por favor comente en cuestión
Si el proyecto te ayuda, bienvenida a la estrella ~ (por favor no solo desembolsas sin estrella (´ ・ Ω ・ `))
Atención: La parte del código en este repositorio puede originar desde otros materiales de código abierto, solo por mi propio interés y experimento. Puede contener errores y referencias al código de otras personas.
中文版本 Readme
El contenido principal
Puede entrar en cada carpeta de proyecto para obtener más detalles en la carpeta ReadMe.md Inside,
- Clasificación de texto basada en muchos modelos (bilstm, transformador) Vaya aquí
- Generación de resumen (Pointer Generator Network) Vaya aquí
- Traducción del diálogo (SEQ2SEQ) para construir su propio diálogo ~~ Vaya aquí
- Use GNN en la clasificación de texto Vaya aquí
- Transformer Mask Language Model Pretratening Vaya aquí
- GPT para la generación de texto y GPT para el problema de matemáticas Go HeoSource Repo
- Entrenamiento adversario (FGM) vaya aquí
- Uso/implementación muy simple y rápido de SEQ2SEQ-Transformer. Incluyendo varias Eamples (Denoise Pretrain, Medical-QuestionAnwering Go aquí
- Uso práctico de pytorch_lighting ir aquí
- AMP y FP16 Entrenamiento para Pytorch vaya aquí
- Visualice de manera útil el kit de herramientas para el mapa de atención (u otra matriz ponderada, vaya aquí
- Implementación y aplicación de modelos de difusión sobre la moda mnist vaya aquí
- Simple sabor del aprendizaje estable (edificio) Vaya aquí
- Simple sabor del meta aprendizaje (construcción) Vaya aquí
- Demo simple de inferencia de modelo grande de Langauge Vaya aquí
Mis otros proyectos de PNL de código abierto
- Bert en relación extracción : ricokokevins/bert-in-relación-extracción: 使用 bert 完成实体之间关系抽取 (github.com)
- Partido de texto: ricokokevins/text_matching: nlp2020 中兴捧月句子相似度匹配(github.com)
- Implemento de transformador y útil Tool Toolkit : Ricokokevins/EasyTransformer: comienza rápido con una fuerte línea de base de Bert y Transformer sin pretrano (github.com)
¿Qué hay de nuevo? ~~
2023.3.27
- Actualice una demostración simple sobre el proceso de inferencia del modelo de idioma grande. Se actualizará más en el futuro.
2022.8.31
- Actualización para el modelo de difusión. Adoptamos el código del tutorial e hicimos algunos cambios necesarios en el código para que funcione localmente. El modelo de entrenamiento práctico y los resultados de inferencia se pueden encontrar en la carpeta Diffusion/Result2.
2022.3.25
- Gracias al número de @Rattlesnakey (más detalles de discusión aquí). Agrego la función en el proyecto Pretrrain. Establezca el peso de la atención de la máscara en cero para evitar la autoatención de máscaras entre sí. Puede habilitar esta función en Transformer.py configurando "self.pretrain = true". PD: La nueva característica no se ha verificado por el momento, y el efecto en el pre-entrenamiento no se ha verificado. Completaré las pruebas más tarde
2022.1.28
- Reconstruya la estructura del código en Transformer. Hacer que el código sea más fácil de usar e implementar
- Agregar ejemplos: Denoise-Pretrain en Transformer (fácil de usar)
2022.1.16
- Actualización Use el transformador SEQ2SEQ para modelar la tarea de control de control médico (tumbando en 55W pares de datos de control de calidad médico chino) Más detalles para ver en ReadMe.md de Transformer/Medqademo/
- Actualizar nuevos entrenadores y herramientas útiles
- Eliminar el implemento anterior de Transformer (con algunos errores no fiables)
Historial de actualizaciones
2021.1.23
- 初次 Commit 添加句子分类模块 添加句子分类模块 包含 Transformador 和 bilstm 以及 bilstm+attn 模型
- 上传基本数据集 句子二分类作为 句子二分类作为 demostración 例子
- 加上和使用对抗学习思路
2021.5.1
- 重新整理和更新了很多东西 .... 略
2021.6.22
- 修复了 Clasificación de texto 的一些整理问题
- 增加了 Clasificación de texto 对应的使用说明
2021.7.2
- 增加了 mlm 预训练技术实践
- 修复了句子分类模型里 , 过分大且不必要的 过分大且不必要的 过分大且不必要的 过分大且不必要的 (因为太懒 (因为太懒 所以只修改了 所以只修改了 的) 的)
- 在句子分类里增加了加载预训练的可选项
- 修复了一些 Error
2021.7.11
- 增加了 GNN 在 NLP 中的应用
- 实现了 GNN 在文本分类上的使用
- 效果不好 暂时怀疑是数据处理的问题 暂时怀疑是数据处理的问题
2021.7.29
- 增加了 chi+tfidf 传统机器学习算法在文本分类上的应用
- 实现和测试了算法性能
- 更新了 Readme
2021.8.2
- 重构了对话机器人模型于 SEQ2SEQ 文件夹
- 实现了 Beamsearch 解码方式
- 修复了 PGN 里的 Beamsearch Error
2021.9.11
- 添加了 GPT 在文本续写和数学题问题的解决(偷了 Karpathy/Mingpt: una reimplementación mínima de Pytorch de la capacitación de OpenAI GPT (transformador generativo previamente pretralado) (github.com) 代码实现的很好 对理解 对理解 gpt 很有帮助 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西
- 重构了 Red de generador de puntero , , 打算干脆重构 一行一行的重新捋一遍 一行一行的重新捋一遍 感觉会安心很多。施工 感觉会安心很多。施工。。
2021.9.16
- 修复了 Pretrain 里 Token de máscara 未对齐 位置不一致问题 位置不一致问题
2021.9.29
- 在 Transformador 里增加了一个随机数字串恢复的 Demo , 对新手理解 Transformer 超友好 , 不需要外部数据 利用随机构造的数字串训练
- 新增实验 transfomervae , 暂时有 bug , 施工中
2021.11.20
- Actualice el algoritmo BM25 y TF-IDF para una coincidencia rápida del texto.
2021.12.10
- Actualizar el uso práctico de pytorch_lighting, use text_classification como ejemplo. Convierta el Pytorch a Lightninglite. Más detalles en LightingMain.py。
- Eliminar el código redundante
2021.12.9
- Actualizar el uso práctico de AMP (precisión mixta automática). Implementar en Vaegenerator, pruebe en MX150 local, mejore significativamente el tiempo de entrenamiento y el uso de memoria, más detalles en los comentarios al final del código
- Basado el comando de AMP, modificó la definición de 1e-9 a INF en model.py
2021.12.17
- Actualice la matriz ponderada Visualizar el kit de herramientas (por ejemplo, utilizado para visualizar el mapa de atención) implementarse en Visualize. Más útil kit de herramientas en el futuro
- Actualizar los estándares del código de comentarios de Python. Se seguirán las prácticas de código más formales en el futuro.
参考
BM25
https://blog.csdn.net/chaojianmo/article/details/105143657
Precisión mixta automática (AMP)
https://featurize.cn/notebooks/368cbc81-2b27-4036-98a1-d77589b1f0c4