RepoTrending
Về bảng xếp hạng
GitHubLLM / Mô hình ngôn ngữJupyter Notebook

rasbt/LLMs-from-scratch

Triển khai LLM giống ChatGPT trong PyTorch từ đầu, từng bước

104k sao16k fork

README

Xây dựng mô hình ngôn ngữ lớn (Từ đầu)

Kho lưu trữ này chứa mã để phát triển, đào tạo trước và tinh chỉnh LLM giống GPT và là kho lưu trữ mã chính thức cho cuốn sách Xây dựng mô hình ngôn ngữ lớn (Từ đầu).




trong Xây dựng mô hình ngôn ngữ lớn (Từ đầu), bạn sẽ tìm hiểu và hiểu cách các mô hình ngôn ngữ lớn (LLM) hoạt động từ trong ra ngoài bằng cách mã hóa chúng từ đầu, từng bước một. Trong cuốn sách này, tôi sẽ hướng dẫn bạn cách tạo LLM của riêng mình, giải thích từng giai đoạn bằng văn bản, sơ đồ và ví dụ rõ ràng.

Phương pháp được mô tả trong cuốn sách này để đào tạo và phát triển mô hình nhỏ nhưng có chức năng của riêng bạn cho mục đích giáo dục phản ánh cách tiếp cận được sử dụng trong việc tạo ra các mô hình nền tảng quy mô lớn, chẳng hạn như các mô hình đằng sau ChatGPT. Ngoài ra, cuốn sách này còn bao gồm mã để tải trọng số của các mô hình được huấn luyện trước lớn hơn để tinh chỉnh.



Để tải xuống bản sao của kho lưu trữ này, hãy nhấp vào Tải xuống ZIP hoặc thực hiện lệnh sau trong terminal của bạn:

git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git

(Nếu bạn đã tải xuống gói mã từ trang web Manning, vui lòng xem xét truy cập kho lưu trữ mã chính thức trên GitHub tại https://GitHub.com/rasbt/LLMs-from-scratch để biết thông tin cập nhật mới nhất.)



Mục lục

Xin lưu ý rằng điều này README.md tập tin là một Markdown (.md) tài liệu. Nếu bạn đã tải xuống gói mã này từ trang web Manning và đang xem nó trên máy tính cục bộ của mình, tôi khuyên bạn nên sử dụng trình chỉnh sửa hoặc trình xem trước Markdown để xem chính xác. Nếu bạn chưa cài đặt trình chỉnh sửa Markdown, Người viết ma là một lựa chọn miễn phí tốt.

Ngoài ra, bạn có thể xem tệp này và các tệp khác trên GitHub tại https://GitHub.com/rasbt/LLMs-from-scratch trong trình duyệt của bạn, trình duyệt này sẽ tự động hiển thị Markdown.



Mẹo: Nếu bạn đang tìm kiếm hướng dẫn về cách cài đặt các gói Python và Python cũng như thiết lập môi trường mã của mình, tôi khuyên bạn nên đọc phần README.md tập tin nằm trong thiết lập thư mục.



Code tests Linux Code tests Windows Code tests macOS

Tiêu đề chương Mã chính (để truy cập nhanh) Tất cả mã + bổ sung
Đề xuất thiết lập
Cách đọc cuốn sách này tốt nhất
- -
Ch 1: Tìm hiểu các mô hình ngôn ngữ lớn Không có mã -
Ch 2: Làm việc với dữ liệu văn bản - ch02.ipynb
- trình tải dữ liệu.ipynb (tóm tắt)
- tập thể dục-giải pháp.ipynb
./ch02
Ch 3: Cơ chế chú ý mã hóa - ch03.ipynb
- đa đầu chú ý.ipynb (tóm tắt)
- tập thể dục-giải pháp.ipynb
./ch03
Chương 4: Triển khai mô hình GPT từ đầu - ch04.ipynb
- gpt.py (tóm tắt)
- tập thể dục-giải pháp.ipynb
./ch04
Chương 5: Huấn luyện trước dữ liệu chưa được gắn nhãn - ch05.ipynb
- gpt_train.py (tóm tắt)
- gpt_generate.py (tóm tắt)
- tập thể dục-giải pháp.ipynb
./ch05
Ch 6: Tinh chỉnh phân loại văn bản - ch06.ipynb
- gpt_class_finetune.py
- tập thể dục-giải pháp.ipynb
./ch06
Ch 7: Tinh chỉnh làm theo hướng dẫn - ch07.ipynb
- gpt_instruction_finetuning.py (tóm tắt)
- {P28__evaluate.py (tóm tắt)
- tập thể dục-giải pháp.ipynb
./ch07
Phụ lục A: Giới thiệu về PyTorch - mã-part1.ipynb
- mã-part2.ipynb
- DDP-script.py
- tập thể dục-giải pháp.ipynb
./phụ lục-A
Phụ lục B: Tài liệu tham khảo và đọc thêm Không có mã ./phụ lục-B
Phụ lục C: Giải bài tập - danh sách các giải pháp tập thể dục ./phụ lục-C
Phụ lục D: Thêm chuông và còi vào vòng huấn luyện - phụ lục-D.ipynb ./phụ lục-D
Phụ lục E: Tinh chỉnh tham số hiệu quả với LoRA - phụ lục-E.ipynb ./appendix-E

 

Mô hình tinh thần dưới đây tóm tắt nội dung được đề cập trong cuốn sách này.


 

Điều kiện tiên quyết

Điều kiện tiên quyết quan trọng nhất là nền tảng vững chắc về lập trình Python. Với kiến ​​thức này, bạn sẽ được chuẩn bị tốt để khám phá thế giới LLM hấp dẫn và hiểu các khái niệm cũng như ví dụ về mã được trình bày trong cuốn sách này.

Nếu bạn có một số kinh nghiệm với mạng lưới thần kinh sâu, bạn có thể thấy một số khái niệm quen thuộc hơn vì LLM được xây dựng dựa trên các kiến ​​trúc này.

Cuốn sách này sử dụng PyTorch để triển khai mã từ đầu mà không cần sử dụng bất kỳ thư viện LLM bên ngoài nào. Mặc dù trình độ thành thạo về PyTorch không phải là điều kiện tiên quyết nhưng việc làm quen với các khái niệm cơ bản về PyTorch chắc chắn rất hữu ích. Nếu bạn chưa quen với PyTorch, Phụ lục A cung cấp phần giới thiệu ngắn gọn về PyTorch. Ngoài ra, bạn có thể tìm thấy cuốn sách của tôi, PyTorch trong một giờ: Từ Tensors đến Huấn luyện Mạng nơ-ron trên nhiều GPU, hữu ích cho việc tìm hiểu về những điều cần thiết.


 

Yêu cầu phần cứng

Mã trong các chương chính của cuốn sách này được thiết kế để chạy trên máy tính xách tay thông thường trong khung thời gian hợp lý và không yêu cầu phần cứng chuyên dụng. Cách tiếp cận này đảm bảo rằng nhiều đối tượng có thể tương tác với tài liệu. Ngoài ra, mã sẽ tự động sử dụng GPU nếu chúng có sẵn. (Xin vui lòng xem thiết lập doc để có thêm khuyến nghị.)

 

Khóa học video

Khóa học video đồng hành dài 17 giờ 15 phút nơi tôi viết mã qua từng chương của cuốn sách. Khóa học được tổ chức thành các chương và phần phản ánh cấu trúc của cuốn sách để có thể sử dụng nó như một tài liệu thay thế độc lập cho cuốn sách hoặc tài nguyên mã bổ sung.

 

Sách đi kèm/Phần tiếp theo

Xây dựng mô hình lý luận (Từ đầu), tuy là một cuốn sách độc lập nhưng có thể được coi là phần tiếp theo của Xây dựng mô hình ngôn ngữ lớn (từ đầu).

Nó bắt đầu với một mô hình được huấn luyện trước và triển khai các phương pháp lý luận khác nhau, bao gồm chia tỷ lệ thời gian suy luận, học tăng cường và chắt lọc để cải thiện khả năng lý luận của mô hình.

Tương tự như Xây dựng mô hình ngôn ngữ lớn (từ đầu), Xây dựng mô hình lý luận (Từ đầu) thực hiện phương pháp thực hành thực hiện các phương pháp này ngay từ đầu.


 

Bài tập

Mỗi chương của cuốn sách bao gồm một số bài tập. Các giải pháp được tóm tắt trong Phụ lục C và sổ ghi chép mã tương ứng có sẵn trong các thư mục chương chính của kho lưu trữ này (ví dụ: ./ch02/01_main-chapter-code/exercise-solutions.ipynb.

Ngoài các bài tập về mã, bạn có thể tải xuống bản PDF dài 170 trang miễn phí có tiêu đề Tự kiểm tra việc xây dựng một mô hình ngôn ngữ lớn (từ đầu) từ trang web Manning. Nó chứa khoảng 30 câu hỏi trắc nghiệm và đáp án mỗi chương để giúp bạn kiểm tra sự hiểu biết của mình.

 

Tài liệu thưởng

Một số thư mục chứa các tài liệu tùy chọn như một phần thưởng dành cho độc giả quan tâm:

Thêm tài liệu thưởng từ Lập luận từ đầu kho lưu trữ:


 

Câu hỏi, Phản hồi và Đóng góp cho Kho lưu trữ này

Tôi hoan nghênh tất cả các loại phản hồi, được chia sẻ tốt nhất thông qua Diễn đàn quản lý hoặc GitHub Thảo luận. Tương tự như vậy, nếu bạn có bất kỳ câu hỏi nào hoặc chỉ muốn đưa ra ý tưởng từ người khác, vui lòng đăng những câu hỏi này lên diễn đàn.

Xin lưu ý rằng vì kho lưu trữ này chứa mã tương ứng với sách in nên hiện tại tôi không thể chấp nhận những đóng góp mở rộng nội dung của mã chương chính, vì nó sẽ tạo ra những sai lệch so với sách in. Việc duy trì tính nhất quán sẽ giúp đảm bảo trải nghiệm mượt mà cho mọi người.

 

Trích dẫn

Nếu bạn thấy cuốn sách hoặc đoạn mã này hữu ích cho nghiên cứu của mình, vui lòng cân nhắc việc trích dẫn nó.

Trích dẫn theo phong cách Chicago:

Raschka, Sebastian. Xây dựng mô hình ngôn ngữ lớn (từ đầu). Manning, 2024. ISBN: 978-1633437166.

Mục nhập 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}
}

Dự án cùng danh mục

ollama/ollama

Thiết lập và chạy với Kimi-K2.6, GLM-5.2, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma và các mẫu khác.

179k18k1 giờ trước
GitHubLLM / Mô hình ngôn ngữGo

f/prompts.chat

f.k.a. Lời nhắc ChatGPT tuyệt vời. Chia sẻ, khám phá và thu thập lời nhắc từ cộng đồng. Nguồn mở và miễn phí — tự lưu trữ cho tổ chức của bạn với sự riêng tư hoàn toàn.

168k22k21 giờ trước
GitHubLLM / Mô hình ngôn ngữHTML

huggingface/transformers

🤗 Transformers: khung định nghĩa mô hình cho các mô hình học máy tiên tiến ở dạng văn bản, hình ảnh, âm thanh và mô hình đa phương thức, cho cả suy luận và đào tạo.

164k34k1 giờ trước
GitHubLLM / Mô hình ngôn ngữPython

open-webui/open-webui

Giao diện AI thân thiện với người dùng (Hỗ trợ Ollama, OpenAI API, ...)

150k22k46 phút trước
GitHubLLM / Mô hình ngôn ngữPython

ggml-org/llama.cpp

Suy luận LLM trong C/C++

125k22k2 giờ trước
GitHubLLM / Mô hình ngôn ngữC++

microsoft/generative-ai-for-beginners

21 bài học, bắt đầu xây dựng bằng AI sáng tạo

118k62k4 ngày trước
GitHubLLM / Mô hình ngôn ngữJupyter Notebook
rasbt/LLMs-from-scratch — Repo Trending