Dieses Repository enthält den Code für die Entwicklung, Vorbereitung und Fülle eines GPT-ähnlichen LLM und ist das offizielle Code-Repository für das Buch, das ein großes Sprachmodell erstellt (von Grund auf).
In Build a großes Sprachmodell (von Grund auf) lernen und verstehen Sie, wie große Sprachmodelle (LLMs) von innen nach außen funktionieren, indem Sie sie Schritt für Schritt von Grund nach up codieren. In diesem Buch werde ich Sie durch das Erstellen Ihres eigenen LLM führen und jede Phase mit klaren Text, Diagrammen und Beispielen erläutern.
Die in diesem Buch beschriebene Methode für das Training und die Entwicklung Ihres eigenen kleinen, aber funktionsfähigen Modells für Bildungszwecke spiegelt den Ansatz wider, der bei der Erstellung großer Grundmodelle wie der hinter Chatgpt verwendet wird. Darüber hinaus enthält dieses Buch Code zum Laden der Gewichte größerer vorbereiteter Modelle für die Finetunierung.
Um eine Kopie dieses Repositorys herunterzuladen, klicken Sie auf die Schaltfläche ZIP Download oder führen Sie den folgenden Befehl in Ihrem Terminal aus:
git clone --depth 1 https://github.com/ranpy13/Learning-LLM.git(Wenn Sie das Codepaket von der Manning-Website heruntergeladen haben, besuchen Sie bitte das offizielle Code-Repository unter Github unter https://github.com/ranpy13/learning-llm für die neuesten Updates.)
Bitte beachten Sie, dass diese README.md -Datei eine Markdown -Datei ( .md ) ist. Wenn Sie dieses Codepaket von der Manning -Website heruntergeladen haben und es auf Ihrem lokalen Computer anzeigen, empfehle ich, einen Markdown -Editor oder Vorschauer zur ordnungsgemäßen Anzeige zu verwenden. Wenn Sie noch keinen Markdown -Editor installiert haben, ist MarkText eine gute kostenlose Option.
Sie können diese und andere Dateien auf GitHub unter https://github.com/ranpy13/learning-llm in Ihrem Browser alternativ anzeigen, wodurch sich die Markierung automatisch markieren.
Tipp
Wenn Sie nach Anleitung zur Installation von Python- und Python -Paketen und zur Einrichtung Ihrer Codeumgebung suchen, empfehle ich, die im Setup -Verzeichnis befindliche LEADME.MD -Datei zu lesen.
| Kapitel Titel | Hauptcode (für schnellen Zugriff) | Alle Code + ergänzend |
|---|---|---|
| Setup -Empfehlungen | - - | - - |
| Ch 1: Großsprachenmodelle verstehen | Kein Code | - - |
| Ch 2: Arbeiten mit Textdaten | - Ch02.ipynb - Dataloader.ipynb (Zusammenfassung) - Übungslösungen.IPynb | ./ch02 |
| Ch 3: Aufmerksamkeitsmechanismen codieren | - CH03.IPYNB - multihead-attention.ipynb (Zusammenfassung) - Übungslösungen.IPynb | ./ch03 |
| Ch 4: Implementieren eines GPT -Modells von Grund auf neu | - CH04.IPYNB - gpt.py (Zusammenfassung) - Übungslösungen.IPynb | ./ch04 |
| CH 5: Vorbereitung auf nicht beleidigte Daten | - Ch05.ipynb - gpt_train.py (Zusammenfassung) - gpt_generate.py (Zusammenfassung) - Übungslösungen.IPynb | ./ch05 |
| CH 6: Finetuning für die Textklassifizierung | - CH06.IPYNB - gpt_class_finetune.py - Übungslösungen.IPynb | ./ch06 |
| CH 7: Finetuning, um Anweisungen zu befolgen | - CH07.IPYNB - gpt_instruction_finetuning.py (Zusammenfassung) - Ollama_Valuate.py (Zusammenfassung) - Übungslösungen.IPynb | ./ch07 |
| Anhang A: Einführung in Pytorch | - CODE-PART1.IPYNB - CODE-PART2.IPYNB - ddp-script.py - Übungslösungen.IPynb | ./Appendix-a |
| Anhang B: Referenzen und weiteres Lesen | Kein Code | - - |
| Anhang C: Übungslösungen | Kein Code | - - |
| Anhang D: Hinzufügen von Glocken und Pfeifen zur Trainingsschleife | - Anhang-d.ipynb | ./Appendix-d |
| Anhang E: Parameter-effizientes Finetuning mit Lora | - Anhang-e.ipynb | ./Appendix-e |
Das folgende mentale Modell fasst den in diesem Buch behandelten Inhalt zusammen.
Der Code in den Hauptkapiteln dieses Buches ist so konzipiert, dass er in konventionellen Laptops innerhalb eines angemessenen Zeitrahmens ausgeführt wird, und erfordert keine spezielle Hardware. Dieser Ansatz stellt sicher, dass sich ein breites Publikum mit dem Material beschäftigen kann. Darüber hinaus verwendet der Code den GPUs automatisch, wenn sie verfügbar sind. (Weitere Empfehlungen finden Sie im Setup -Dokument.)
Mehrere Ordner enthalten optionale Materialien als Bonus für interessierte Leser:
Ich begrüße alle möglichen Feedback, die am besten über das Manning Forum oder die GitHub -Diskussionen geteilt werden. Wenn Sie Fragen haben oder nur Ideen von anderen abprallen möchten, zögern Sie bitte nicht, diese auch im Forum zu veröffentlichen.
Bitte beachten Sie, dass ich, da dieses Repository den Code enthält, der einem Printbuch entspricht, derzeit keine Beiträge akzeptieren, die den Inhalt des Hauptkapitelscodes erweitern würden, da es Abweichungen aus dem physischen Buch einführen würde. Wenn Sie es konsistent halten, können Sie für alle ein reibungsloses Erlebnis gewährleisten.
Wenn Sie dieses Buch oder Code für Ihre Recherche nützlich finden, sollten Sie es zitieren.
Zitat im Chicago-Stil:
Raschka, Sebastian. Erstellen Sie ein großes Sprachmodell (von Grund auf neu) . Manning, 2024. ISBN: 978-1633437166.
Bibtex -Eintrag:
@book{build-llms-from-scratch-book,
author = {Sebastian Raschka},
title = {Build A Large Language Model (From Scratch)},
publisher = {Manning},
year = {2024},
isbn = {978-1633437166},
url = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
github = {https://github.com/ranpy13/Learning-LLM}
}