Repositori ini berisi kode untuk mengembangkan, pretraining, dan finetuning LLM seperti GPT dan merupakan repositori kode resmi untuk buku membangun model bahasa besar (dari awal).
Dalam membangun model bahasa besar (dari awal) , Anda akan belajar dan memahami cara kerja model bahasa besar (LLM) dari dalam ke luar dengan mengkodekannya dari bawah ke atas, langkah demi langkah. Dalam buku ini, saya akan memandu Anda dengan membuat LLM Anda sendiri, menjelaskan setiap tahap dengan teks yang jelas, diagram, dan contoh.
Metode yang dijelaskan dalam buku ini untuk melatih dan mengembangkan model kecil tetapi fungsional Anda sendiri untuk tujuan pendidikan mencerminkan pendekatan yang digunakan dalam menciptakan model dasar skala besar seperti di belakang chatgpt. Selain itu, buku ini termasuk kode untuk memuat bobot model pretrained yang lebih besar untuk finetuning.
Untuk mengunduh salinan repositori ini, klik tombol Download Zip atau jalankan perintah berikut di terminal Anda:
git clone --depth 1 https://github.com/ranpy13/Learning-LLM.git(Jika Anda mengunduh bundel kode dari situs web Manning, silakan pertimbangkan untuk mengunjungi repositori kode resmi di Github di https://github.com/ranpy13/learning-llm untuk pembaruan terbaru.)
Harap dicatat bahwa file README.md ini adalah file Markdown ( .md ). Jika Anda telah mengunduh bundel kode ini dari situs web Manning dan melihatnya di komputer lokal Anda, saya sarankan menggunakan editor markdown atau previewer untuk dilihat dengan tepat. Jika Anda belum menginstal editor markdown, MarkText adalah opsi gratis yang baik.
Anda dapat melihat ini dan file-file ini di Github di https://github.com/ranpy13/learning-llm di browser Anda, yang membuat penurunan harga secara otomatis.
Tip
Jika Anda mencari panduan untuk menginstal paket Python dan Python dan menyiapkan lingkungan kode Anda, saya sarankan membaca file readme.md yang terletak di direktori pengaturan.
| Judul Bab | Kode utama (untuk akses cepat) | Semua kode + Tambahan |
|---|---|---|
| Rekomendasi Pengaturan | - | - |
| Bab 1: Memahami model bahasa besar | Tidak ada kode | - |
| Ch 2: Bekerja dengan Data Teks | - CH02.IPYNB - dataloader.ipynb (ringkasan) - Latihan-solusi.ipynb | ./ch02 |
| Bab 3: Mekanisme perhatian pengkodean | - CH03.IPYNB - Multihead-attention.ipynb (ringkasan) - Latihan-solusi.ipynb | ./ch03 |
| Bab 4: Menerapkan model GPT dari awal | - CH04.IPYNB - gpt.py (ringkasan) - Latihan-solusi.ipynb | ./ch04 |
| Bab 5: Pretraining pada data yang tidak berlabel | - CH05.IPYNB - gpt_train.py (ringkasan) - gpt_generate.py (ringkasan) - Latihan-solusi.ipynb | ./ch05 |
| Bab 6: Finetuning untuk Klasifikasi Teks | - CH06.IPYNB - gpt_class_finetune.py - Latihan-solusi.ipynb | ./ch06 |
| Bab 7: Finetuning untuk mengikuti instruksi | - CH07.IPYNB - gpt_instruction_finetuning.py (ringkasan) - ollama_evaluate.py (ringkasan) - Latihan-solusi.ipynb | ./ch07 |
| Lampiran A: Pengantar Pytorch | - kode-part1.ipynb - kode-part2.ipynb - ddp-script.py - Latihan-solusi.ipynb | ./appendix-a |
| Lampiran B: Referensi dan Bacaan Lebih Lanjut | Tidak ada kode | - |
| Lampiran C: Solusi Latihan | Tidak ada kode | - |
| Lampiran D: Menambahkan lonceng dan peluit ke loop pelatihan | - Lampiran-D.ipynb | ./appendix-d |
| Lampiran E: Finetuning Efisien Parameter dengan Lora | - Lampiran-E.ipynb | ./appendix-e |
Model mental di bawah ini merangkum isinya yang dibahas dalam buku ini.
Kode dalam bab -bab utama buku ini dirancang untuk dijalankan pada laptop konvensional dalam jangka waktu yang wajar dan tidak memerlukan perangkat keras khusus. Pendekatan ini memastikan bahwa audiens yang luas dapat terlibat dengan materi. Selain itu, kode secara otomatis menggunakan GPU jika tersedia. (Silakan lihat Dokter Pengaturan untuk rekomendasi tambahan.)
Beberapa folder berisi bahan opsional sebagai bonus untuk pembaca yang tertarik:
Saya menyambut segala macam umpan balik, dibagikan terbaik melalui Forum Manning atau diskusi GitHub. Demikian juga, jika Anda memiliki pertanyaan atau hanya ingin memantulkan ide dari orang lain, jangan ragu untuk memposting ini di forum juga.
Harap dicatat bahwa karena repositori ini berisi kode yang sesuai dengan buku cetak, saat ini saya tidak dapat menerima kontribusi yang akan memperluas isi kode bab utama, karena akan memperkenalkan penyimpangan dari buku fisik. Menjaga agar konsisten membantu memastikan pengalaman yang lancar bagi semua orang.
Jika Anda menemukan buku atau kode ini berguna untuk penelitian Anda, silakan pertimbangkan mengutipnya.
Kutipan bergaya Chicago:
Raschka, Sebastian. Bangun model bahasa besar (dari awal) . Manning, 2024. ISBN: 978-1633437166.
Entri 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}
}