Tự xây dựng LLM từ nền tảng: Workshop lập trình 3 giờ
(magazine.sebastianraschka.com)- Đây là workshop cho phép bạn dành vài giờ cuối tuần để vừa theo dõi cách LLM hoạt động bằng mã nguồn, vừa xem toàn bộ quy trình triển khai, huấn luyện và sử dụng trong một lần
- Phần thực hành bắt đầu từ phần giới thiệu LLM, rồi lần lượt đi qua dữ liệu đầu vào, tokenizer và triển khai kiến trúc mô hình
- Sau khi triển khai kiến trúc, workshop tiếp tục với GPT-2 và Llama 2, tiền huấn luyện và nạp trọng số đã tiền huấn luyện để nối sang quy trình sử dụng mô hình thực tế
- Nội dung cũng bao gồm sử dụng trọng số với LitGPT, fine-tuning theo chỉ dẫn, đánh giá benchmark và cả đánh giá hiệu năng hội thoại
- Sách, kho lưu trữ GitHub, mã workshop, Lightning Studio và kho lưu trữ LitGPT đều được cung cấp nên rất dễ làm theo trực tiếp
Luồng video workshop 3 giờ
- Toàn bộ quy trình triển khai, huấn luyện và sử dụng LLM được trình bày trong một workshop lập trình duy nhất
- Có các chương có thể nhấp để chuyển ngay đến chủ đề cần xem
-
Cơ bản và xử lý đầu vào
- 0:00 Tổng quan workshop
- 2:17 Giới thiệu LLM
- 9:14 Tài liệu workshop
- 10:48 Tìm hiểu dữ liệu đầu vào của LLM
- 23:25 Lớp tokenizer đơn giản
-
Triển khai và huấn luyện mô hình
- 41:03 Code kiến trúc LLM
- 45:01 GPT-2 và Llama 2
- 1:07:11 Tiền huấn luyện
- 1:29:37 Nạp trọng số đã tiền huấn luyện
- 1:45:12 Sử dụng trọng số tiền huấn luyện qua LitGPT
-
Fine-tuning và đánh giá
- 1:53:09 Fine-tuning theo chỉ dẫn
- 2:08:21 Fine-tuning theo chỉ dẫn qua LitGPT
- 2:26:45 Đánh giá benchmark
- 2:36:55 Đánh giá hiệu năng hội thoại
- 2:42:40 Kết thúc
Tài liệu cần có để làm theo
- Build an LLM from Scratch book: Cuốn sách hướng dẫn tạo LLM từ đầu
- Build an LLM from Scratch GitHub repository: Kho GitHub liên quan đến cuốn sách
- GitHub repository with workshop code: Kho mã nguồn của workshop
- Lightning Studio for this workshop: Lightning Studio dành cho workshop này
- LitGPT GitHub repository: Kho GitHub của LitGPT
1 bình luận
Ý kiến trên Hacker News
Có khá nhiều phần trùng nhau, nhưng mỗi bên đi sâu hơn vào những chủ đề khác nhau hoặc có trọng tâm khác nhau. Toàn bộ loạt bài của Andrej hoàn toàn đáng xem, và những gì Eureka Labs sắp làm cũng có vẻ rất hứa hẹn. Blog và sách của Sebastian cũng đáng để bỏ thời gian và tiền bạc
https://ai.meta.com/research/publications/the-llama-3-herd-o...
Đây là một tutorial PyTorch tốt, nhưng ý tôi là đừng giả vờ nó ở mức quá thấp
Trước đó tôi đã thử học bằng fast.ai, nhưng vì lập tức bắt đầu dựng mạng bằng Pytorch nên nhanh chóng bỏ cuộc. Nó thấy chán ngang học Java thời trung học, và tôi cần phải hiểu mình đang thao tác với cái gì
https://16x.engineer/2023/12/29/nanoGPT-azure-T4-ubuntu-guid...
Cũng muốn biết có thể làm được gì với thứ tạo ra như vậy, và cách huấn luyện nó với các sự kiện mới nhất ra sao
Giờ nếu xét kỹ, "code" là thứ được thiết lập như nội dung của một codex. Có thể xem bối cảnh lịch sử tại https://en.wikipedia.org/wiki/Codex; nó bắt đầu từ tập hợp quy tắc trong lĩnh vực pháp lý rồi ít nhất từ giữa thế kỷ 16 đã mở rộng sang các lĩnh vực khác trong tiếng Anh.
"program" thì gần hơn với việc công bố một tập hợp ý định, ví dụ như "đầu tiên chơi Bach rồi sau đó chơi Mozart". Cách dùng này xuất hiện muộn hơn vài thế kỷ so với code theo nghĩa "tập hợp quy tắc".
"develop" mang nghĩa triển khai, nên cũng hay, nhưng không hàm ý quy tắc hay thủ tục tuần tự như hai từ kia
Tôi không chắc lý do chính xác là gì, nhưng có vẻ trong tiếng Bồ Đào Nha Brazil, "program" gắn khá mạnh với mại dâm
Tài liệu của Andrej với tôi lại quá thấp tầng nên dễ bị lạc trong tiểu tiết. Đây không hẳn là chê, chỉ là một bình luận có thể hữu ích cho những ai ở hoàn cảnh giống tôi
Tôi từng lần theo cách backprop hoạt động trong RNN sâu từ rất lâu trước đây, nên nghĩ rằng xem nốt phần còn lại chắc cũng sẽ thú vị
Nếu Windows không được nhắc rõ, thường là chưa được kiểm thử trong môi trường đó, và tôi hay thấy nó không chạy ổn vì những vấn đề rất ngẫu nhiên
https://developer.nvidia.com/cuda-downloads?target_os=Linux&...