Repositori ini berisi kode untuk mengembangkan, melatih, dan menyempurnakan LLM mirip GPT dan merupakan gudang kode resmi untuk buku Membangun Model Bahasa Besar (Dari Awal).
Dalam Membangun Model Bahasa Besar (Dari Awal) , Anda akan mempelajari dan memahami cara kerja model bahasa besar (LLM) dari dalam ke luar dengan mengkodekannya dari awal, langkah demi langkah. Dalam buku ini, saya akan memandu Anda dalam membuat LLM Anda sendiri, menjelaskan setiap tahapan dengan teks yang jelas, diagram, dan contoh.
Metode yang dijelaskan dalam buku ini untuk melatih dan mengembangkan model Anda sendiri yang kecil namun fungsional untuk tujuan pendidikan mencerminkan pendekatan yang digunakan dalam membuat model dasar berskala besar seperti yang ada di balik ChatGPT. Selain itu, buku ini menyertakan kode untuk memuat bobot model terlatih yang lebih besar untuk penyesuaian.
Untuk mengunduh salinan repositori ini, klik tombol Unduh ZIP atau jalankan perintah berikut di terminal Anda:
git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git
(Jika Anda mengunduh bundel kode dari situs web Manning, harap pertimbangkan untuk mengunjungi repositori kode resmi di GitHub di https://github.com/rasbt/LLMs-from-scratch untuk pembaruan terkini.)
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 atau pratinjau Markdown agar dapat dilihat dengan benar. Jika Anda belum menginstal editor Markdown, MarkText adalah pilihan gratis yang bagus.
Sebagai alternatif, Anda dapat melihat file ini dan file lainnya di GitHub di https://github.com/rasbt/LLMs-from-scratch di browser Anda, yang merender Markdown secara otomatis.
Tip
Jika Anda mencari panduan dalam menginstal paket Python dan Python serta menyiapkan lingkungan kode Anda, saya sarankan membaca file README.md yang terletak di direktori setup.
Judul Bab | Kode Utama (untuk Akses Cepat) | Semua Kode + Tambahan |
---|---|---|
Rekomendasi pengaturan | - | - |
Bab 1: Memahami Model Bahasa Besar | Tidak ada kode | - |
Bab 2: Bekerja dengan Data Teks | - ch02.ipynb - dataloader.ipynb (ringkasan) - solusi-latihan.ipynb | ./ch02 |
Bab 3: Mekanisme Perhatian Pengkodean | - ch03.ipynb - multihead-attention.ipynb (ringkasan) - solusi-latihan.ipynb | ./ch03 |
Bab 4: Menerapkan Model GPT dari Awal | - ch04.ipynb - gpt.py (ringkasan) - solusi-latihan.ipynb | ./ch04 |
Bab 5: Pelatihan Awal tentang Data Tak Berlabel | - ch05.ipynb - gpt_train.py (ringkasan) - gpt_generate.py (ringkasan) - solusi-latihan.ipynb | ./ch05 |
Bab 6: Penyempurnaan Klasifikasi Teks | - ch06.ipynb - gpt_class_finetune.py - solusi-latihan.ipynb | ./ch06 |
Bab 7: Menyempurnakan untuk Mengikuti Instruksi | - ch07.ipynb - gpt_instruction_finetuning.py (ringkasan) - ollama_evaluate.py (ringkasan) - solusi-latihan.ipynb | ./ch07 |
Lampiran A: Pengantar PyTorch | - kode-part1.ipynb - kode-part2.ipynb - DDP-skrip.py - solusi-latihan.ipynb | ./lampiran-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 Lingkaran Latihan | - lampiran-D.ipynb | ./lampiran-D |
Lampiran E: Penyempurnaan Parameter yang Efisien dengan LoRA | - lampiran-E.ipynb | ./lampiran-E |
Model mental di bawah ini merangkum isi buku ini.
Kode dalam 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 khalayak luas dapat terlibat dengan materi tersebut. Selain itu, kode tersebut secara otomatis menggunakan GPU jika tersedia. (Silakan lihat dokumen pengaturan untuk rekomendasi tambahan.)
Beberapa folder berisi materi opsional sebagai bonus bagi pembaca yang tertarik:
Saya menyambut segala jenis masukan, yang paling baik dibagikan melalui Forum Manning atau Diskusi GitHub. Demikian pula, jika Anda mempunyai pertanyaan atau hanya ingin menyampaikan ide kepada orang lain, jangan ragu untuk mempostingnya juga di forum.
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 menimbulkan penyimpangan dari buku fisik. Menjaganya tetap konsisten membantu memastikan pengalaman yang lancar bagi semua orang.
Jika Anda merasa buku atau kode ini berguna untuk penelitian Anda, mohon pertimbangkan untuk mengutipnya.
Kutipan gaya 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/rasbt/LLMs-from-scratch}
}