該存儲庫包含用於開發,預處理和填充類似GPT的LLM的代碼,並且是該書構建大型語言模型(從頭開始)的官方代碼存儲庫。
在構建大型語言模型(從頭開始) ,您將通過一步一步地從頭開始編碼大型語言模型(LLM)從內而外進行編碼。在這本書中,我將指導您創建自己的LLM,用清晰的文字,圖表和示例來解釋每個階段。
本書中描述的方法用於培訓和開發自己的小型功能模型用於教育目的,反映了用於創建大規模基礎模型(例如Chatgpt背後的基礎模型)所使用的方法。此外,本書還包括用於加載較大審慎模型的重量的代碼。
要下載此存儲庫的副本,請單擊下載zip按鈕或在您的終端中執行以下命令:
git clone --depth 1 https://github.com/ranpy13/Learning-LLM.git(如果您從Manning網站下載了代碼捆綁包,請考慮在https://github.com/ranpy.com/ranpy13/learning-llm上訪問GitHub上的官方代碼存儲庫,以獲取最新更新。)
請注意,此README.md文件是降價( .md )文件。如果您從Manning網站下載了此代碼捆綁包並在本地計算機上查看它,我建議使用Markdown編輯器或預覽器進行正確查看。如果您尚未安裝Markdown編輯器,則MarkText是一個不錯的免費選項。
您可以在https://github.com/ranpy13/learning-llm上在github上在github上查看此文件,在瀏覽器中自動呈現Markdown。
提示
如果您正在尋求有關安裝Python和Python軟件包並設置代碼環境的指導,我建議閱讀位於設置目錄中的readme.md文件。
| 章節標題 | 主代碼(用於快速訪問) | 所有代碼 +補充 |
|---|---|---|
| 設置建議 | - | - |
| CH 1:了解大型語言模型 | 沒有代碼 | - |
| CH 2:使用文本數據 | -CH02.IPYNB -Dataloader.ipynb(摘要) - 鍛煉溶液。 IPYNB | ./ch02 |
| CH 3:編碼注意機制 | -CH03.IPYNB - 多頭注意力 - 鍛煉溶液。 IPYNB | ./ch03 |
| CH 4:從頭開始實施GPT模型 | -CH04.IPYNB -gpt.py(摘要) - 鍛煉溶液。 IPYNB | ./ch04 |
| CH 5:預讀未標記的數據 | -CH05.IPYNB -gpt_train.py(摘要) -gpt_generate.py(摘要) - 鍛煉溶液。 IPYNB | ./ch05 |
| ch 6:文本分類的填充 | -CH06.IPYNB -GPT_CLASS_FINETUNE.PY - 鍛煉溶液。 IPYNB | ./ch06 |
| ch 7:遵守指示 | -CH07.IPYNB -gpt_instruction_finetuning.py(摘要) -Ollama_evaluate.py(摘要) - 鍛煉溶液。 IPYNB | ./ch07 |
| 附錄A:Pytorch簡介 | -code-part1.ipynb -code-part2.ipynb -DDP-script.py - 鍛煉溶液。 IPYNB | ./appendix-a |
| 附錄B:參考和進一步閱讀 | 沒有代碼 | - |
| 附錄C:鍛煉解決方案 | 沒有代碼 | - |
| 附錄D:在訓練循環中添加鈴鐺和哨子 | - 附錄 - d.ipynb | ./appendix-d |
| 附錄E:洛拉(Lora | - 附錄-E.IPYNB | ./appendix-e |
下面的心理模型總結了本書中涵蓋的內容。
本書主要章節中的代碼旨在在合理的時間範圍內在常規筆記本電腦上運行,並且不需要專門的硬件。這種方法可確保廣泛的聽眾可以與材料互動。此外,如果代碼可用,代碼將自動使用GPU。 (請參閱設置文檔以獲取其他建議。)
幾個文件夾包含可選材料作為感興趣的讀者的獎勵:
我歡迎各種反饋,最好通過Manning論壇或Github討論共享。同樣,如果您有任何疑問或只是想從他人中反彈想法,請不要猶豫將其發佈到論壇中。
請注意,由於此存儲庫包含與印刷書相對應的代碼,因此我目前無法接受將擴展主章節代碼內容的貢獻,因為它會引入物理書籍的偏差。保持它一致有助於確保每個人的平穩體驗。
如果您發現這本書或代碼對您的研究有用,請考慮引用它。
芝加哥風格的引用:
拉斯卡卡,塞巴斯蒂安。構建大型語言模型(從頭開始) 。曼寧,2024。 ISBN:978-1633437166。
Bibtex條目:
@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}
}