Chủ đề thịnh hành
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Hào hứng để phát hành repo mới: nanochat!
(nó nằm trong số những thứ điên rồ nhất mà tôi đã viết).
Khác với repo tương tự trước đây của tôi là nanoGPT chỉ bao gồm việc huấn luyện trước, nanochat là một pipeline huấn luyện/giải suy diễn đầy đủ, từ đầu, tối thiểu cho một bản sao đơn giản của ChatGPT trong một mã nguồn tối thiểu về phụ thuộc. Bạn khởi động một hộp GPU đám mây, chạy một script duy nhất và chỉ trong khoảng 4 giờ sau, bạn có thể trò chuyện với LLM của riêng mình qua giao diện web giống ChatGPT.
Nó nặng khoảng ~8,000 dòng mã mà tôi cho là khá sạch sẽ để:
- Huấn luyện bộ mã hóa bằng một triển khai Rust mới
- Huấn luyện trước một LLM Transformer trên FineWeb, đánh giá điểm CORE qua một số chỉ số
- Huấn luyện giữa các cuộc trò chuyện giữa người dùng và trợ lý từ SmolTalk, các câu hỏi trắc nghiệm, sử dụng công cụ.
- SFT, đánh giá mô hình trò chuyện trên kiến thức thế giới trắc nghiệm (ARC-E/C, MMLU), toán học (GSM8K), mã (HumanEval)
- RL mô hình tùy chọn trên GSM8K với "GRPO"
- Giải suy diễn hiệu quả mô hình trong một Engine với bộ nhớ KV, điền trước/giải mã đơn giản, sử dụng công cụ (trình thông dịch Python trong một sandbox nhẹ), trò chuyện với nó qua CLI hoặc WebUI giống ChatGPT.
- Viết một báo cáo markdown duy nhất, tóm tắt và gamify toàn bộ.
Ngay cả với chi phí thấp khoảng ~$100 (~4 giờ trên một node 8XH100), bạn có thể huấn luyện một bản sao nhỏ của ChatGPT mà bạn có thể trò chuyện, và nó có thể viết truyện/thơ, trả lời các câu hỏi đơn giản. Khoảng ~12 giờ vượt qua chỉ số CORE của GPT-2. Khi bạn tiếp tục mở rộng lên khoảng ~$1000 (~41.6 giờ huấn luyện), nó nhanh chóng trở nên mạch lạc hơn và có thể giải quyết các vấn đề toán học/mã đơn giản và tham gia các bài kiểm tra trắc nghiệm. Ví dụ, một mô hình độ sâu 30 được huấn luyện trong 24 giờ (điều này tương đương với FLOPs của GPT-3 Small 125M và 1/1000 của GPT-3) đạt được 40s trên MMLU và 70s trên ARC-Easy, 20s trên GSM8K, v.v.
Mục tiêu của tôi là đưa toàn bộ "baseline mạnh" vào một repo thống nhất, tối thiểu, dễ đọc, dễ hack, có thể fork tối đa. nanochat sẽ là dự án đỉnh cao của LLM101n (vẫn đang được phát triển). Tôi nghĩ nó cũng có tiềm năng phát triển thành một công cụ nghiên cứu, hoặc một tiêu chuẩn, tương tự như nanoGPT trước đó. Nó không hoàn toàn hoàn thiện, được tinh chỉnh hay tối ưu hóa (thực sự tôi nghĩ có thể có khá nhiều cơ hội dễ dàng), nhưng tôi nghĩ nó đang ở một nơi mà bộ khung tổng thể đủ ổn để có thể lên GitHub nơi tất cả các phần của nó có thể được cải thiện.
Liên kết đến repo và một hướng dẫn chi tiết về tốc độ nanochat có trong phản hồi.

Kho lưu trữ GitHub:
Một hướng dẫn chi tiết và kỹ thuật hơn:
Cuộc trò chuyện ví dụ với nanochat $100, 4 giờ trong WebUI. Nó... thú vị :) Các mô hình lớn hơn (ví dụ: độ sâu 26 trong 12 giờ hoặc độ sâu 30 trong 24 giờ) nhanh chóng trở nên mạch lạc hơn.

Và đây là một ví dụ về một số chỉ số tóm tắt được tạo ra bởi cuộc chạy tốc độ $100 trong bảng báo cáo để bắt đầu. Mã nguồn hiện tại có hơn 8000 dòng, nhưng tôi đã cố gắng giữ cho chúng sạch sẽ và có chú thích rõ ràng.
Bây giờ đến phần thú vị - điều chỉnh và leo đồi.

1,9M
Hàng đầu
Thứ hạng
Yêu thích