พื้นที่เก็บข้อมูลนี้มีรหัสสำหรับการพัฒนาการเตรียมการและการกำหนด LLM เหมือน GPT และเป็นที่เก็บรหัสอย่างเป็นทางการสำหรับหนังสือสร้างรูปแบบภาษาขนาดใหญ่ (ตั้งแต่เริ่มต้น)
ใน การสร้างรูปแบบภาษาขนาดใหญ่ (ตั้งแต่เริ่มต้น) คุณจะได้เรียนรู้และเข้าใจว่าโมเดลภาษาขนาดใหญ่ (LLMs) ทำงานได้อย่างไรจากภายในสู่ภายนอกโดยการเข้ารหัสจากพื้นดินขึ้นทีละขั้นตอน ในหนังสือเล่มนี้ฉันจะแนะนำคุณผ่านการสร้าง LLM ของคุณเองอธิบายแต่ละขั้นตอนด้วยข้อความที่ชัดเจนไดอะแกรมและตัวอย่าง
วิธีการที่อธิบายไว้ในหนังสือเล่มนี้สำหรับการฝึกอบรมและพัฒนารูปแบบขนาดเล็ก แต่ใช้งานได้ของคุณเองเพื่อจุดประสงค์ทางการศึกษาสะท้อนให้เห็นถึงวิธีการที่ใช้ในการสร้างแบบจำลองพื้นฐานขนาดใหญ่เช่นวิธีการที่อยู่เบื้องหลัง ChatGPT นอกจากนี้หนังสือเล่มนี้ยังรวมถึงรหัสสำหรับการโหลดน้ำหนักของรุ่นที่มีขนาดใหญ่กว่าสำหรับการปรับแต่ง
หากต้องการดาวน์โหลดสำเนาของที่เก็บนี้ให้คลิกที่ปุ่มดาวน์โหลด zip หรือดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:
git clone --depth 1 https://github.com/ranpy13/Learning-LLM.git(หากคุณดาวน์โหลดชุดรหัสจากเว็บไซต์ Manning โปรดพิจารณาเยี่ยมชมที่เก็บรหัสอย่างเป็นทางการบน GitHub ที่ https://github.com/ranpy13/learning-llm สำหรับการอัปเดตล่าสุด)
โปรดทราบว่าไฟล์ README.md นี้เป็นไฟล์ markdown ( .md ) หากคุณดาวน์โหลดชุดรหัสนี้จากเว็บไซต์ Manning และกำลังดูอยู่ในคอมพิวเตอร์ในพื้นที่ของคุณฉันขอแนะนำให้ใช้ตัวแก้ไข Markdown หรือ Previewer สำหรับการดูที่เหมาะสม หากคุณยังไม่ได้ติดตั้งตัวแก้ไข Markdown Marktext เป็นตัวเลือกฟรีที่ดี
คุณสามารถดูสิ่งนี้และไฟล์อื่น ๆ บน GitHub ได้ที่ https://github.com/ranpy13/learning-llm ในเบราว์เซอร์ของคุณ
เคล็ดลับ
หากคุณกำลังมองหาคำแนะนำเกี่ยวกับการติดตั้งแพ็คเกจ Python และ Python และตั้งค่าสภาพแวดล้อมรหัสของคุณฉันขอแนะนำให้อ่านไฟล์ readme.md ที่อยู่ในไดเรกทอรีการตั้งค่า
| ชื่อบท | รหัสหลัก (สำหรับการเข้าถึงอย่างรวดเร็ว) | รหัสทั้งหมด + เสริม |
|---|---|---|
| คำแนะนำการตั้งค่า | - | - |
| CH 1: ทำความเข้าใจกับแบบจำลองภาษาขนาดใหญ่ | ไม่มีรหัส | - |
| CH 2: การทำงานกับข้อมูลข้อความ | - ch02.ipynb - dataloader.ipynb (สรุป) - การออกกำลังกาย solutions.ipynb | ./ch02 |
| CH 3: กลไกการเข้ารหัสความสนใจ | - ch03.ipynb - Multihead-Attention.ipynb (สรุป) - การออกกำลังกาย solutions.ipynb | ./ch03 |
| CH 4: การใช้โมเดล GPT ตั้งแต่เริ่มต้น | - ch04.ipynb - gpt.py (สรุป) - การออกกำลังกาย solutions.ipynb | ./ch04 |
| CH 5: การเตรียมข้อมูลที่ไม่มีป้ายกำกับ | - ch05.ipynb - gpt_train.py (สรุป) - gpt_generate.py (สรุป) - การออกกำลังกาย solutions.ipynb | ./ch05 |
| CH 6: Finetuning สำหรับการจำแนกประเภทข้อความ | - ch06.ipynb - gpt_class_finetune.py - การออกกำลังกาย solutions.ipynb | ./ch06 |
| CH 7: Finetuning เพื่อทำตามคำแนะนำ | - ch07.ipynb - gpt_instruction_finetuning.py (สรุป) - ollama_evaluate.py (สรุป) - การออกกำลังกาย solutions.ipynb | ./ch07 |
| ภาคผนวก A: บทนำสู่ Pytorch | - Code-Part1.ipynb - Code-Part2.ipynb - ddp-script.py - การออกกำลังกาย solutions.ipynb | ./appendix-a |
| ภาคผนวก B: การอ้างอิงและการอ่านเพิ่มเติม | ไม่มีรหัส | - |
| ภาคผนวก C: โซลูชั่นการออกกำลังกาย | ไม่มีรหัส | - |
| ภาคผนวก D: การเพิ่มระฆังและนกหวีดลงในวงฝึกซ้อม | - ภาคผนวก -d.ipynb | ./appendix-d |
| ภาคผนวก E: finetuning พารามิเตอร์ที่มีประสิทธิภาพด้วย lora | - ภาคผนวก -e.ipynb | ./appendix-e |
แบบจำลองทางจิตด้านล่างสรุปเนื้อหาที่กล่าวถึงในหนังสือเล่มนี้
รหัสในบทหลักของหนังสือเล่มนี้ได้รับการออกแบบมาเพื่อทำงานบนแล็ปท็อปทั่วไปภายในกรอบเวลาที่สมเหตุสมผลและไม่จำเป็นต้องใช้ฮาร์ดแวร์พิเศษ วิธีการนี้ทำให้มั่นใจได้ว่าผู้ชมจำนวนมากสามารถมีส่วนร่วมกับเนื้อหา นอกจากนี้รหัสจะใช้ GPU โดยอัตโนมัติหากมีอยู่ (โปรดดูเอกสารการตั้งค่าสำหรับคำแนะนำเพิ่มเติม)
หลายโฟลเดอร์มีวัสดุเสริมเป็นโบนัสสำหรับผู้อ่านที่สนใจ:
ฉันยินดีต้อนรับข้อเสนอแนะทุกประเภทแบ่งปันที่ดีที่สุดผ่านการสนทนาของ Manning หรือ GitHub ในทำนองเดียวกันหากคุณมีคำถามใด ๆ หรือต้องการตีกลับความคิดผู้อื่นโปรดอย่าลังเลที่จะโพสต์สิ่งเหล่านี้ในฟอรัมเช่นกัน
โปรดทราบว่าเนื่องจากพื้นที่เก็บข้อมูลนี้มีรหัสที่สอดคล้องกับหนังสือพิมพ์ปัจจุบันฉันไม่สามารถยอมรับการมีส่วนร่วมที่จะขยายเนื้อหาของรหัสบทหลักเนื่องจากมันจะแนะนำการเบี่ยงเบนจากหนังสือจริง การรักษาให้สอดคล้องกันช่วยให้มั่นใจได้ว่าทุกคนจะได้รับประสบการณ์ที่ราบรื่น
หากคุณพบว่าหนังสือหรือรหัสนี้มีประโยชน์สำหรับการวิจัยของคุณโปรดพิจารณาอ้างถึง
การอ้างอิงสไตล์ชิคาโก:
Raschka, เซบาสเตียน สร้างรูปแบบภาษาขนาดใหญ่ (ตั้งแต่เริ่มต้น) Manning, 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}
}