Kevinpro-nlp-Demo
Einige einfache Implementierungen eines lustigen NLP -Algorithmus in Pytorch. Aktualisieren und Wartung
Wenn Sie Fragen haben, kommentieren Sie bitte in der Ausgabe
Wenn das Projekt Ihnen hilft, begrüßen Sie Stern ~ (bitte nicht nur ohne Stern (´ ・ ω ・ `))
Achtung: Der Teil des Codes in diesem Repository kann aus anderen Open -Source -Materialien stammen, nur zu meinem eigenen Interesse und meinem eigenen Experiment. Kann Fehler und Verweise auf den Code anderer Personen enthalten.
中文版本 Readme
Der Hauptinhalt
Sie können in jeden Projektordner eingehen, um weitere Details in der Ordner Readme.md in Inside zu erhalten.
- Textklassifizierung basierend auf vielen Modellen (BILSTM, Transformator) finden Sie hier
- Zusammenfassende Generierung (Zeigergenerator -Netzwerk) finden Sie hier
- Dialogue -Übersetzung (SEQ2SEQ), um Ihren eigenen Dialogogebot ~~ zu erstellen ~~ Gehen Sie hier
- Verwenden Sie GNN in der Textklassifizierung. Gehen Sie hier
- STRANFOMATER -MASK -Sprachmodell Vorabend finden Sie hier
- GPT für Textgenerierung und GPT für Mathematikproblem
- Gegentes Training (FGM) finden Sie hier
- Sehr einfacher und schneller Gebrauch/Bereitstellung von SEQ2SEQ-Transformator. Einschließlich mehrerer Eamples (Denoise Pretrain, medizinische Befragung hierher gehen
- Praktische Verwendung von Pytorch_Lighting hier
- AMP- und FP16 -Training für Pytorch finden Sie hier
- Nutzend visualisieren Sie das Toolkit für die Aufmerksamkeitskarte (oder eine andere gewichtete Matrix finden Sie hier
- Diffusionsmodelle implementieren und anwenden auf modischen MNIST finden Sie hier
- Einfacher Geschmack des stabilen Lernens (Gebäude) finden Sie hier
- Einfacher Geschmack des Meta -Lernens (Gebäude) finden Sie hier
- Einfache Demo der großen Langauge -Modellinferenz finden Sie hier
Meine anderen Open -Source -NLP -Projekte
- Bert in der Beziehungsextraktion: Ricardokevins/Bert-in-Beziehung-Extraktion: 使用 Bert 完成实体之间关系抽取 (Github.com)
- Text-Matching: Ricardokevins/text_matching: NLP2020 中兴捧月句子相似度匹配(github.com)
- Transformator -Implementierung und nützliches NLP -Toolkit : Ricardokevins/EasyTransformer: Kurzer Beginn mit starker Grundlinie von Bert und Transformator ohne Vorab (Github.com)
Was ist neu ~~
2023.3.27
- Aktualisieren Sie die einfache Demo zum Inferenzprozess des großen Sprachmodells. Wird in Zukunft mehr aktualisieren.
2022.8.31
- Update für Diffusionsmodell. Wir übernehmen den Code aus dem Tutorial und haben einige erforderliche Änderungen des Code vorgenommen, damit er vor Ort funktioniert. Das praktische Trainingsmodell und die Inferenzergebnisse finden Sie im Ordner diffusion/result2.
2022.3.25
- Vielen Dank an die Ausgabe von @rattlesnakey (weitere Diskussionsdetails hier). Ich füge eine Funktion im Project -Projekt hinzu. Legen Sie das Aufmerksamkeitsgewicht von Masken, um Null zu verhindern, um sich gegenseitig zu verhindern. Sie können diese Funktion in Transformator.py aktivieren, indem Sie "self.pretrain = true" festlegen. PS: Das neue Merkmal wurde vorerst nicht verifiziert, und die Auswirkungen auf die Vorausbildung wurden nicht überprüft. Ich werde die Tests später ausfüllen
2022.1.28
- Bauen Sie die Codestruktur im Transformator wieder auf. Genießen Sie den Code leichter zu verwenden und bereitzustellen
- Beispiele hinzufügen: Denoise-Vorstrain im Transformator (einfach zu bedienen)
2022.1.16
- UPDATE Verwenden
- Aktualisieren Sie neue Trainer und nützliche Tools
- Entfernen Sie die vorherige Implementierung von Transformator (mit einigen unfixierbaren Fehler)
Aktualisieren Sie die Geschichte
2021.1.23
- 初次 Commit 添加句子分类模块 , 包含 Transformator 和 bilstm 以及 bilstm+attn 模型
- 上传基本数据集 , 句子二分类作为 Demo 例子
- 加上和使用对抗学习思路
2021.5.1
- 重新整理和更新了很多东西 .... 略
2021.6.22
- 修复了 Textklassifizierung 的一些整理问题
- 增加了 Textklassifizierung 对应的使用说明
2021.7.2
- 增加了 mlm 预训练技术实践
- 修复了句子分类模型里 , 过分大且不必要的 Wortbett (因为太懒 , 所以只修改了 Transformator 的)
- 在句子分类里增加了加载预训练的可选项
- 修复了一些 Fehler
2021.7.11
- 增加了 gnn 在 nlp 中的应用
- 实现了 gnn 在文本分类上的使用
- 效果不好 , 暂时怀疑是数据处理的问题
2021.7.29
- 增加了 Chi+tfidf 传统机器学习算法在文本分类上的应用
- 实现和测试了算法性能
- 更新了 Readme
2021.8.2
- 重构了对话机器人模型于 SEQ2SEQ 文件夹
- 实现了 BeamSearch 解码方式
- 修复了 PGN 里的 BeamSearch -Fehler
2021.9.11
- 添加了 GPT 在文本续写和数学题问题的解决(偷了 Karpathie/Mingpt: Eine minimale Pytorch-Neuauflagen des OpenAI-GPT-Trainings (generativ voraber Transformator) (Github.com) 代码实现的很好 , GPT 很有帮助 很有帮助 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西 对理解 对理解 对理解 对理解 对理解 对理解 对理解 对理解 对理解 对理解 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西
- 重构了 Zeigergenerator Netzwerk , 之前的表现一直不好 , 打算干脆重构 , 一行一行的重新捋一遍 , 感觉会安心很多。施工 ing。
2021.9.16
- 修复了 vorrain 里 Masken -Token 未对齐 , 位置不一致问题 位置不一致问题
2021.9.29
- 在 Transformator 里增加了一个随机数字串恢复的 Demo , 对新手理解 Transformator 超友好 , 不需要外部数据 , 利用随机构造的数字串训练
- 新增实验 transfomervae , 暂时有 bug , 施工中
2021.11.20
- Aktualisieren Sie den BM25- und TF-IDF-Algorithmus für die schnelle Übereinstimmung mit Text.
2021.12.10
- Aktualisieren Sie die praktische Verwendung von pytorch_lighting, verwenden Sie text_classification als Beispiel. Konvertieren Sie den Pytorch in Lightninglite. Weitere Details in LightingMain.py。
- Entfernen Sie den redundanten Code
2021.12.9
- Aktualisieren Sie die praktische Verwendung von AMP (automatische gemischte Präzision). Implementieren Sie in Vaegenerator, testen Sie auf dem lokalen MX150, signifikant die Trainingszeit und die Speicheranwendungen, weitere Details in Kommentaren am Ende des Codes
- Basierte den Befehl von AMP, modifizierte die Definition von 1E-9 nach Inf in Modell.py.py
2021.12.17
- Aktualisieren Sie die gewichtete Matrix visualisieren Sie das Toolkit (z. B. zur Visualisierung der Aufmerksamkeitskarte) in Visualisierung implementiert. Nützlicheres Toolkit in der Zukunft
- Aktualisieren Sie Python Kommentarcode -Standards. In Zukunft werden formelle Codepraktiken verfolgt.
参考
BM25
https://blog.csdn.net/chaojianmo/article/details/105143657
Automatische gemischte Präzision (AMP)
https://featurize.cn/notebooks/368cbc81-2b27-4036-98a1-d77589b1f0c4