พื้นที่เก็บข้อมูลนี้มีโค้ดสำหรับการพัฒนา การฝึกอบรมล่วงหน้า และการปรับแต่ง LLM ที่คล้ายกับ GPT และเป็นที่เก็บโค้ดอย่างเป็นทางการสำหรับหนังสือ Build a Large Language Model (From Scratch)
ใน Build a Large Language Model (ตั้งแต่เริ่มต้น) คุณจะได้เรียนรู้และเข้าใจว่าโมเดลภาษาขนาดใหญ่ (LLM) ทำงานจากภายในสู่ภายนอกอย่างไรโดยการเขียนโค้ดตั้งแต่ต้นจนจบทีละขั้นตอน ในหนังสือเล่มนี้ ฉันจะแนะนำคุณตลอดขั้นตอนการสร้าง LLM ของคุณเอง โดยอธิบายแต่ละขั้นตอนด้วยข้อความที่ชัดเจน แผนภาพ และตัวอย่าง
วิธีที่อธิบายไว้ในหนังสือเล่มนี้เพื่อฝึกอบรมและพัฒนาโมเดลขนาดเล็กแต่ใช้งานได้จริงเพื่อวัตถุประสงค์ทางการศึกษา สะท้อนแนวทางที่ใช้ในการสร้างแบบจำลองพื้นฐานขนาดใหญ่ เช่น ที่อยู่เบื้องหลัง ChatGPT นอกจากนี้ หนังสือเล่มนี้ยังมีโค้ดสำหรับการโหลดน้ำหนักของโมเดลที่ได้รับการฝึกฝนขนาดใหญ่กว่าเพื่อการปรับแต่งอย่างละเอียด
หากต้องการดาวน์โหลดสำเนาของพื้นที่เก็บข้อมูลนี้ ให้คลิกที่ปุ่มดาวน์โหลด ZIP หรือดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:
git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git
(หากคุณดาวน์โหลดชุดโค้ดจากเว็บไซต์ Manning โปรดลองไปที่ที่เก็บโค้ดอย่างเป็นทางการบน GitHub ที่ https://github.com/rasbt/LLMs-from-scratch เพื่อดูการอัปเดตล่าสุด)
โปรดทราบว่าไฟล์ README.md
นี้เป็นไฟล์ Markdown ( .md
) หากคุณดาวน์โหลดชุดโค้ดนี้จากเว็บไซต์ Manning และกำลังดูบนเครื่องคอมพิวเตอร์ของคุณ ฉันขอแนะนำให้ใช้โปรแกรมแก้ไขหรือโปรแกรมดูตัวอย่าง Markdown เพื่อการดูที่เหมาะสม หากคุณยังไม่ได้ติดตั้งโปรแกรมแก้ไข Markdown MarkText เป็นตัวเลือกฟรีที่ดี
คุณสามารถดูไฟล์นี้และไฟล์อื่นๆ บน GitHub ได้ที่ https://github.com/rasbt/LLMs-from-scratch ในเบราว์เซอร์ของคุณ ซึ่งจะแสดงผล Markdown โดยอัตโนมัติ
เคล็ดลับ
หากคุณกำลังมองหาคำแนะนำในการติดตั้งแพ็คเกจ 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: การปรับแต่งเพื่อการจำแนกข้อความ | - ch06.ipynb - gpt_class_finetune.py - การออกกำลังกาย-solutions.ipynb | ./ch06 |
Ch 7: การปรับแต่งให้ทำตามคำแนะนำ | - ch07.ipynb - gpt_instruction_finetuning.py (สรุป) - ollama_evaluate.py (สรุป) - การออกกำลังกาย-solutions.ipynb | ./ch07 |
ภาคผนวก A: ข้อมูลเบื้องต้นเกี่ยวกับ PyTorch | - รหัส-part1.ipynb - รหัส-part2.ipynb - DDP-script.py - การออกกำลังกาย-solutions.ipynb | ./ภาคผนวก-A |
ภาคผนวก B: ข้อมูลอ้างอิงและการอ่านเพิ่มเติม | ไม่มีรหัส | - |
ภาคผนวก C: วิธีแก้ปัญหาการออกกำลังกาย | ไม่มีรหัส | - |
ภาคผนวก ง: การเพิ่มเสียงระฆังและนกหวีดให้กับลูปการฝึกซ้อม | - ภาคผนวก-D.ipynb | ./ภาคผนวก-D |
ภาคผนวก E: การปรับแต่งพารามิเตอร์อย่างมีประสิทธิภาพด้วย LoRA | - ภาคผนวก-E.ipynb | ./ภาคผนวก-E |
แบบจำลองทางจิตด้านล่างสรุปเนื้อหาที่กล่าวถึงในหนังสือเล่มนี้
โค้ดในบทหลักของหนังสือเล่มนี้ได้รับการออกแบบมาให้ทำงานบนแล็ปท็อปทั่วไปภายในกรอบเวลาที่เหมาะสม และไม่ต้องใช้ฮาร์ดแวร์พิเศษ แนวทางนี้ช่วยให้แน่ใจว่าผู้ชมในวงกว้างสามารถมีส่วนร่วมกับเนื้อหาได้ นอกจากนี้โค้ดจะใช้ GPU โดยอัตโนมัติหากมี (โปรดดูเอกสารการตั้งค่าสำหรับคำแนะนำเพิ่มเติม)
หลายโฟลเดอร์มีสื่อเสริมเป็นโบนัสสำหรับผู้อ่านที่สนใจ:
ฉันยินดีรับข้อเสนอแนะทุกประเภท แบ่งปันได้ดีที่สุดผ่านทาง Manning Forum หรือ GitHub Discussions ในทำนองเดียวกัน หากคุณมีคำถามใดๆ หรือเพียงต้องการแลกเปลี่ยนความคิดเห็นจากผู้อื่น โปรดอย่าลังเลที่จะโพสต์สิ่งเหล่านี้ในฟอรั่มเช่นกัน
โปรดทราบว่าเนื่องจากพื้นที่เก็บข้อมูลนี้มีโค้ดที่สอดคล้องกับหนังสือที่จัดพิมพ์ ขณะนี้ฉันไม่สามารถยอมรับการมีส่วนร่วมที่จะขยายเนื้อหาของโค้ดบทหลักได้ เนื่องจากอาจทำให้เกิดการเบี่ยงเบนไปจากหนังสือที่มีอยู่จริง การรักษาความสอดคล้องจะช่วยให้ทุกคนได้รับประสบการณ์ที่ราบรื่น
หากคุณพบว่าหนังสือหรือรหัสนี้มีประโยชน์สำหรับการวิจัยของคุณ โปรดพิจารณาอ้างอิงด้วย
การอ้างอิงสไตล์ชิคาโก:
รัชก้า, เซบาสเตียน. สร้างแบบจำลองภาษาขนาดใหญ่ (ตั้งแต่เริ่มต้น) แมนนิ่ง 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/rasbt/LLMs-from-scratch}
}