このリポジトリには、GPTのようなLLMの開発、前登録、および微調整のためのコードが含まれており、本の公式コードリポジトリは(ゼロから)大きな言語モデルを構築しています。
(ゼロから)大きな言語モデルを構築する際には、言語モデル(LLM)が段階的に段階的にコーディングすることにより、内側からどのように動作するかを学び、理解します。この本では、独自のLLMを作成し、各段階を明確なテキスト、図、および例で説明することをご案内します。
この本で説明されている方法は、教育目的で独自の小さな機能モデルを訓練し、開発することで、ChatGptの背後にある大規模な基礎モデルの作成に使用されるアプローチを反映しています。さらに、この本には、Finetuningのために、より大きな前提型モデルの重量をロードするためのコードが含まれています。
このリポジトリのコピーをダウンロードするには、zipボタンをダウンロードするか、端末で次のコマンドを実行します。
git clone --depth 1 https://github.com/ranpy13/Learning-LLM.git(Manning Webサイトからコードバンドルをダウンロードした場合は、最新のアップデートについては、https://github.com/ranpy13/learning-llmのGithubの公式コードリポジトリにアクセスしてください。)
このREADME.mdファイルはマークダウン( .md )ファイルであることに注意してください。 Manning Webサイトからこのコードバンドルをダウンロードして、ローカルコンピューターで表示している場合は、適切な表示のためにMarkdown EditorまたはPreviewerを使用することをお勧めします。マークダウンエディターをまだインストールしていない場合、MarkTextは良い無料オプションです。
代わりに、ブラウザでhttps://github.com/ranpy13/learning-llmのgithubでこれと他のファイルを表示することもできます。これにより、マークダウンが自動的にレンダリングされます。
ヒント
PythonパッケージとPythonパッケージのインストールとコード環境のセットアップに関するガイダンスを求めている場合は、セットアップディレクトリにあるreadme.mdファイルを読むことをお勧めします。
| 章のタイトル | メインコード(クイックアクセス用) | すべてのコード +補足 |
|---|---|---|
| セットアップの推奨事項 | - | - |
| CH 1:大規模な言語モデルの理解 | コードなし | - |
| CH 2:テキストデータの操作 | -Ch02.ipynb -dataloader.ipynb(要約) - エクササイズソリューション。Ipynb | ./CH02 |
| CH 3:注意メカニズムのコーディング | -CH03.IPYNB -multihead-attention.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:テキスト分類のためのFinetuning | -Ch06.ipynb -gpt_class_finetune.py - エクササイズソリューション。Ipynb | ./CH06 |
| CH 7:指示に従うためのFinetuning | -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:トレーニングループにベルとホイッスルを追加する | -pathing-d.ipynb | ./appendix-D |
| 付録E:LORAを使用したパラメーター効率の高い微調整 | - 付録-e.ipynb | ./appendix-e |
以下のメンタルモデルは、この本で説明されている内容をまとめたものです。
この本の主要な章のコードは、合理的な時間枠内で従来のラップトップで実行されるように設計されており、特殊なハードウェアを必要としません。このアプローチにより、幅広い視聴者が素材に関与できるようになります。さらに、コードが利用可能な場合は、GPUを自動的に使用します。 (追加の推奨については、セットアップドキュメントを参照してください。)
いくつかのフォルダーには、関心のある読者のためのボーナスとしてオプションの資料が含まれています。
マニングフォーラムや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}
}