Kevinpro-NLP-Demo
Un simple implémentation de l'algorithme NLP amusant dans Pytorch. Mise à jour et maintien
Si vous avez une question, veuillez commenter dans le problème
Si le projet vous aide, bienvenue étoile ~ (s'il vous plaît ne vous contentez pas de fourche sans étoile (´ ・ ω ・ `))
ATTENTION: La partie du code de ce référentiel peut provenir d'autres matériaux open source, juste pour mon propre intérêt et mon expérience. Peut contenir des bogues et des références au code des autres.
中文版本 Readme
Le contenu principal
Vous pouvez accéder à chaque dossier de projet pour plus de détails dans Readme.md de dossier à l'intérieur,
- La classification du texte basée sur de nombreux modèles (Bilstm, Transformer) va ici
- Génération de résumé (réseau de générateurs de pointeurs) allez ici
- Traduction de dialogue (SEQ2SEQ) pour construire votre propre dialogue ~~ allez ici
- Utilisez GNN dans la classification du texte allez ici
- Transformer Mask Language Model Pre-Triping va ici
- GPT pour la génération de texte et GPT pour Math Problem Go Heresource Repo
- Formation contradictoire (MGF) allez ici
- Utilisation / déploiement très simple et rapide de SEQ2SEQ-transformateur. Y compris plusieurs eamples (Denoise Pretrain, Medical-Questionnanswering va ici
- Utilisation pratique de pytorch_lighting va ici
- Formation AMP et FP16 pour Pytorch allez ici
- Visualisez utilement la boîte à outils pour la carte d'attention (ou toute autre matrice pondérée allez ici
- Modèles de diffusion Implémentation et application sur la mode MNIST Va ici
- Taste simple de l'apprentissage stable (bâtiment) allez ici
- Taste simple de la méta-apprentissage (construction) allez ici
- Demo simple de la grande inférence du modèle de Langauge va ici
Mes autres projets NLP open source
- Bert en relation Extraction: Ricardokevins / Bert-in-Relation-Extraction: 使用 Bert 完成实体之间关系抽取(github.com)
- Partie de texte: Ricardokevins / Text_matching: NLP2020 中兴捧月句子相似度匹配(github.com)
- Implémentation du transformateur et boîte à outils NLP utile : Ricardokevins / EasyTransformateur: démarrage rapide avec une solide ligne de base de Bert et Transformer sans prétraitement (github.com)
Quoi de neuf ~~
2023.3.27
- Mettez à jour la démo simple sur le processus d'inférence du modèle de grande langue. Mettra à jour davantage à l'avenir.
2022.8.31
- Mise à jour du modèle de diffusion. Nous adoptons le code du didacticiel et apportons quelques modifications nécessaires au code pour le faire fonctionner localement. Le modèle de formation pratique et les résultats d'inférence peuvent être trouvés dans le dossier Diffusion / Result2.
2022.3.25
- Merci au problème de @ RattlesNakey (plus de détails de discussion ici). J'ajoute une fonctionnalité dans le projet Pretrain. Réglez le poids de l'attention du masque à zéro pour empêcher l'auto-attitude de masques. Vous pouvez activer cette fonctionnalité dans Transformer.py en définissant "self.pretrain = true". PS: La nouvelle fonctionnalité n'a pas été vérifiée pour le moment, et l'effet sur la pré-formation n'a pas été vérifié. Je vais remplir les tests plus tard
2022.1.28
- Reconstruisez la structure du code dans le transformateur. Rendre le code plus facile à utiliser et à déployer
- Ajouter des exemples: Denoise-prétraitement dans le transformateur (facile à utiliser)
2022.1.16
- Mise à jour Utiliser SEQ2SEQ Transformer vers la modélisation de la tâche de QA médicale (tirant sur 55w paires de données de QA médical chinois) plus détaillées dans Readme.md de Transformer / Medqademo /
- Mettre à jour le nouveau formateur et les outils utiles
- Supprimer l'implémentation précédente du transformateur (avec quelques bugs non flexibles)
Mettre à jour l'historique
2021.1.23
- 初次 engager 添加句子分类模块 , 包含 Transformateur 和 bilstm 以及 bilstm + attn 模型
- 上传基本数据集 , 句子二分类作为 Demo 例子
- 加上和使用对抗学习思路
2021.5.1
- 重新整理和更新了很多东西 .... 略
2021.6.22
- 修复了 Classification du texte 的一些整理问题
- 增加了 Classification du texte 对应的使用说明
2021.7.2
- 增加了 mlm 预训练技术实践
- 修复了句子分类模型里 , 过分大且不必要的 Mot intégré (因为太懒 , 所以只修改了 所以只修改了 所以只修改了 的 的))
- 在句子分类里增加了加载预训练的可选项
- 修复了一些 Bogue
2021.7.11
- 增加了 gnn 在 NLP 中的应用
- 实现了 gnn 在文本分类上的使用
- 效果不好 , 暂时怀疑是数据处理的问题
2021.7.29
- 增加了 Chi + tfidf 传统机器学习算法在文本分类上的应用
- 实现和测试了算法性能
- 更新了 Readme
2021.8.2
- 重构了对话机器人模型于 SEQ2SEQ 文件夹
- 实现了 BeamSearch 解码方式
- 修复了 PGN 里的 Bogue de recherche de faisceau
2021.9.11
- 添加了 GPT 在文本续写和数学题问题的解决 (偷了 Karpathy / Mingpt: Une réimplémentation minimale de pytorch de l'Openai GPT (transformateur pré-entraîné génératif) (github.com) 代码实现的很好 , 对理解 gpt 很有帮助 , 偷过来看看能不能用在好玩的东西
- 重构了 réseau de générateurs de pointeurs , 之前的表现一直不好 , 打算干脆重构 , 一行一行的重新捋一遍 , 感觉会安心很多。施工 感觉会安心很多。施工 感觉会安心很多。施工。。
2021.9.16
- 修复了 Pretrain 里 jeton de masque 未对齐 , 位置不一致问题
2021.9.29
- 在 Transformateur 里增加了一个随机数字串恢复的 Démo , 对新手理解 Transformateur 超友好 , 不需要外部数据 , 利用随机构造的数字串训练
- 新增实验 transfomervae , 暂时有 bug , 施工中
2021.11.20
- Mettez à jour l'algorithme BM25 et TF-IDF pour une correspondance rapide du texte.
2021.12.10
- Mettez à jour l'utilisation pratique de pytorch_lighting, utilisez text_classification comme exemple. Convertissez le Pytorch en Lightninglite. Plus de détails dans LightingMain.py。
- Supprimer le code redondant
2021.12.9
- Mettez à jour l'utilisation pratique de l'AMP (précision automatique mixte). Implémenter dans Vaegenerator, tester sur MX150 local, améliorer le temps de formation et la mémoire, plus de détails dans les commentaires à la fin du code
- Basé la commande de l'ampli, a modifié la définition de 1E-9 à inf dans Model.py
2021.12.17
- Mise à jour de la matrice pondérée Visualisez la boîte à outils (par exemple, utilisée pour visualiser la carte de l'attention) Implémentation dans Visualize. Boîte à outils plus utile à l'avenir
- Mettez à jour les normes de code de commentaire Python. Des pratiques de code plus formelles seront suivies à l'avenir.
参考
BM25
https://blog.csdn.net/chaojianmo/article/details/105143657
Précision mixte automatique (ampli)
https://featurise.cn/notebooks/368cbc81-2b27-4036-98a1-d77589b1f0c4