Khóa học thực hành dành cho kỹ sư hệ thống: Tự hiện thực suy luận Qwen3 trên chip Apple bằng các mảng MLX, bắt đầu từ phép nhân ma trận, sau đó từng bước thêm bộ nhớ đệm KV, lượng tử hóa, xử lý lô liên tục và bộ nhớ đệm KV phân trang, tạo ra một vLLM thu nhỏ, và cuối cùng xây dựng một tác nhân lập trình.
Số sao 4851 (+22 / 24h)
Lý do
- Lộ trình 4 tuần: Tuần 1 chỉ sử dụng mlx.core để viết cơ chế attention, RoPE, GQA, RMSNorm, MLP, lấy mẫu và vòng lặp tự hồi quy; tuần 2 thêm bộ nhớ đệm KV, phép nhân ma trận-véc-tơ lượng tử hóa 4 bit, và tiền xử lý SIMD; tuần 3 thực hiện xử lý lô liên tục, chấp nhận theo khối và bộ nhớ đệm KV phân trang, để cơ chế attention khi giải mã và FlashAttention đọc trực tiếp từ các trang
- Mỗi khi đề cập đến một toán tử, bạn phải tự hiện thực bằng Python, C++ hoặc Metal, không sử dụng các phiên bản tối ưu có sẵn của MLX; MLX chỉ được dùng làm tham chiếu về tính đúng đắn và cơ sở hiệu năng
- Tác nhân lập trình của tuần 4 được phát hành theo ngày, hiện đã mở đến ngày thứ 9: sửa đổi tệp sau khi phê duyệt, lệnh xác thực đơn lẻ, điểm kiểm tra và khôi phục, nén ngữ cảnh, đánh giá xác định, v.v.
Cách sử dụng
- Tài liệu nằm tại skyzh.github.io/tiny-llm, hãy bắt đầu với chương cấu hình môi trường; kiểm tra môi trường: pdm install -v, pdm run check-installation, pdm run test-refsol -- -- -k week_1
- Bài tập được viết trong gói tiny_llm, tiny_llm_ref là câu trả lời tham khảo dùng cho kiểm thử, hãy làm theo thứ tự mục lục của sách
Rủi ro
- Yêu cầu máy Mac có chip Apple; tác giả lưu ý rằng từ ngày thứ 3 của tuần 4, tác nhân sẽ gửi nội dung tệp cho mô hình, có thể sửa đổi tệp và chạy lệnh, vì vậy hãy sử dụng một không gian làm việc tạm thời không chứa khóa bảo mật
- Đây là một dự án giáo dục, không phải là một khung suy luận cho môi trường sản xuất; kho lưu trữ đã tồn tại từ năm 2025, giấy phép Apache-2.0