Jeff: Mô hình ra quyết định 0,8B chạy cục bộ, phản hồi chỉ ~30 ms

Công nghệ28 tháng 9, 2026·7 phút đọc

Jeff là bộ mô hình nhỏ gọn (0,8B và 2B) được tinh chỉnh từ Qwen3.5 và Gemma 4, chuyên phân loại zero-shot với tốc độ phản hồi cực nhanh chỉ khoảng 22–28 ms. Dự án hoàn toàn huấn luyện trên phần cứng cục bộ, không dùng GPU đám mây, và đạt kết quả ấn tượng trên nhiều bài kiểm tra phân loại.

Jeff: Mô hình ra quyết định 0,8B chạy cục bộ, phản hồi chỉ ~30 ms

Jeff: Mô hình ra quyết định 0,8B chạy cục bộ, phản hồi chỉ ~30 ms

Jeff là bộ mô hình tinh chỉnh từ Qwen3.5 và Gemma 4 dành cho bài toán phân loại zero-shot, hoạt động như những "mô hình ra quyết định" nhỏ gọn, nhanh nhẹn, có thể nhúng thẳng vào mã nguồn của bạn với định dạng yêu cầu tương tự Jev. Chỉ cần mô tả tình huống và liệt kê các lựa chọn bằng ngôn ngữ tự nhiên, Jeff sẽ trả về xác suất đã hiệu chỉnh cho từng lựa chọn chỉ trong một lượt lan truyền xuôi (forward pass) — không sinh văn bản, không cần phân tích cú pháp.

Biểu đồ hiệu năng các mô hình JeffBiểu đồ hiệu năng các mô hình Jeff

Zero-shot nghĩa là gì và dùng được cho việc gì?

Zero-shot ở đây có nghĩa là các lựa chọn có thể là bất cứ thứ gì: hàng đợi hỗ trợ khách hàng, ý định người dùng, nhãn kiểm duyệt nội dung, lệnh thoại, nước đi trong game. Các danh mục của bạn không cần xuất hiện trong dữ liệu huấn luyện — bạn chỉ cần mô tả chúng, và Jeff sẽ chọn.

Đây là những mô hình rất nhỏ. Chúng đưa ra phán đoán cực nhanh và được hiệu chỉnh tốt giữa các lựa chọn, dễ dàng nhúng vào mã cục bộ của bạn.

Trên các bài kiểm tra chuẩn, Jeff tiệm cận và đôi khi vượt qua Jev; nhưng với kích thước nhỏ như vậy, khả năng suy luận của nó sẽ không thể sánh bằng Jev — vốn chạy trên mô hình lớn hơn nhiều. Nếu độ chính xác zero-shot chưa đủ tốt cho mục đích của bạn, một lần tinh chỉnh ngắn trên chính ví dụ của bạn sẽ đưa bạn tiến xa hơn: bản tinh chỉnh điều hướng bằng giọng nói của nhóm đã nâng độ chính xác trên tập kiểm tra từ 31,7% lên 95,8% chỉ trong chưa đầy nửa giờ trên một GPU.

Xây dựng hoàn toàn trên phần cứng cục bộ

Điểm đáng chú ý là toàn bộ quá trình huấn luyện diễn ra trên phần cứng cục bộ. Cụ thể:

  • Huấn luyện trên một GPU trạm làm việc RTX PRO 6000 (bản 0,8B mất khoảng 2 giờ, bản 2B khoảng 3,5 giờ)
  • Toàn bộ dữ liệu huấn luyện tổng hợp do một mô hình mở (Qwen3.8-Flash-Next) viết trên hai máy DGX Spark
  • Kiểm thử trên MacBook
  • Không dùng GPU đám mây, không có đầu ra từ mô hình đóng trong dữ liệu huấn luyện

Đây là dự án độc lập, không liên kết với TypeSafe — đơn vị phát triển Jev. Mã huấn luyện khởi nguồn từ công thức AutoJev mã nguồn mở.

Ba loại câu hỏi và cách dùng hiệu quả

Jeff hỗ trợ ba loại câu hỏi:

  • choice: chọn một trong tối đa 255 lựa chọn
  • noul: câu hỏi có/không, trả về dưới dạng xác suất
  • score: một điểm số trên thang đo bạn mô tả

Nhiều câu hỏi độc lập trong cùng một yêu cầu sẽ được trả lời cùng lúc. Một số lưu ý khi sử dụng:

  • Suy luận trong mã, quyết định bằng Jeff. Đây là bộ phân loại, không phải bộ lập kế hoạch. Hãy nêu rõ mỗi lựa chọn dẫn đến điều gì.
  • Cách diễn đạt cực kỳ quan trọng. Mô tả các lựa chọn nhất quán: cho lựa chọn mục tiêu của Frogger dùng cùng từ ngữ như mọi lựa chọn tiến khác đã nâng số lần vượt qua từ 15 lên 23 chỉ trong một tập.
  • Dùng khóa lựa chọn ngắn và phần mô tả chi tiết: {"1": "Thư cam kết"} thay vì ID dài dòng.
  • Tinh chỉnh nếu zero-shot chưa đủ. Một bản tinh chỉnh trên ~11 nghìn ví dụ riêng cho ứng dụng mất khoảng nửa giờ trên một GPU, đạt khoảng 40 ms mỗi quyết định trên M4 Max.
  • Chọn kích thước phù hợp với công việc. Với việc chọn lựa chọn nhanh, bản 0,8B là điểm ngọt: bản 2B thận trọng hơn và chơi game kém hơn, dù điểm kiểm tra chuẩn cao hơn.

Kết quả kiểm tra và thời gian phản hồi

Trên 4.599 câu hỏi từ năm bài kiểm tra chuẩn công khai, Jeff-Qwen3.5-0.8B đạt 79,1 điểm tổng thể (so với 45,3 của bản gốc chưa huấn luyện), còn Jeff-Qwen3.5-2B đạt 83,1 điểm. Trên tập JevBench hard (105 mục), hai bản lần lượt đạt 47,6 và 53,3.

Về tốc độ, thời gian trung vị mỗi quyết định trên cùng 200 câu hỏi:

  • Jeff-Qwen3.5-0.8B: 22 ms trên RTX PRO 6000, 28 ms trên Apple M4 Max (MLX), 463 ms trên CPU 32 luồng
  • Jeff-Qwen3.5-2B: 24 ms trên RTX PRO 6000, 60 ms trên M4 Max
  • Jeff-Gemma4-E2B: 29 ms trên RTX PRO 6000

Để so sánh, các lần chạy Doom đã công bố của Jev mất 114–212 ms mỗi lần gọi qua API, đã tính cả độ trễ mạng.

Bài kiểm tra trò chơi: thử thách zero-shot thú vị

Để kiểm tra hiệu năng zero-shot trên các nhiệm vụ khác biệt hoàn toàn với dữ liệu kiểm tra, nhóm đã cho Jeff chơi ba trò chơi. Mỗi lượt, mã mô tả tình huống và các nước đi hợp lệ bằng lời, còn mô hình chọn một nước. Các lựa chọn nêu rõ mỗi nước dẫn đến đâu (ví dụ Frogger: "bạn sẽ bị ô tô đâm và mất một mạng") nhưng không bao giờ nói nước nào là đúng.

Kết quả đáng chú ý: Jeff-Qwen3.5-0.8B chơi Frogger đạt 10,3 lần vượt qua, ngang ngửa bot luật viết tay (10,25) và vượt xa bản Qwen3.5-0.8B chưa huấn luyện (1,0). Ở Pac-Man, Jeff-0.8B ăn được 57 trong số 98 viên so với 25,8 của bản gốc. Tuy nhiên ở Doom, bản 2B lại chơi tệ hơn cả mức ngẫu nhiên.

Những điều cần lưu ý

Một số hạn chế được nhóm phát triển thẳng thắn thừa nhận:

  • Mô hình nhỏ không biết suy luận. Hãy kỳ vọng vào những lựa chọn nhanh, được hiệu chỉnh tốt giữa các phương án bạn mô tả, chứ không phải suy luận nhiều bước.
  • Jeff-2B chơi game kém hơn Jeff-0.8B. Bản 2B chưa huấn luyện đã tỏ ra ngại rủi ro hơn bản 0,8B, và quá trình huấn luyện dường như làm điều đó tệ hơn.
  • Điểm kiểm tra chuẩn không dự đoán được khả năng chơi game. Gemma 4 E2B chưa huấn luyện vượt các mô hình Qwen trên bài kiểm tra nhưng lại chơi game tệ nhất.
  • Câu lệnh (prompt) rất quan trọng. Câu lệnh Doom gốc của Jev không hoạt động với bất kỳ mô hình nào của nhóm; các lựa chọn nêu rõ hậu quả bằng lời thì hiệu quả.
  • Chỉ hỗ trợ tiếng Anh và văn bản.

Giấy phép và mã nguồn

Mã nguồn theo giấy phép MIT (bao gồm cả AutoJev). Trọng số mô hình theo Apache 2.0. Nhóm phát hành trọng số và mã nguồn, nhưng không phát hành dữ liệu huấn luyện — một số nguồn dữ liệu có giấy phép chia sẻ tương tự (CC BY-SA).

Dự án bắt đầu như một bản fork của AutoJev do Denis Yarats phát triển (giấy phép MIT), giữ lại thiết kế cốt lõi và bổ sung nhiều cải tiến: mô hình học trò nhỏ (0,8B và 2B Qwen, Gemma 4 E2B), pipeline dữ liệu tổng hợp cục bộ có bộ lọc rò rỉ, cách bố trí câu lệnh cho tinh chỉnh theo lĩnh vực, phục vụ MLX trên chip Apple, kiểm tra trò chơi và bảng điều khiển huấn luyện.

Với những ai quan tâm đến việc tự huấn luyện mô hình AI quy mô nhỏ trên phần cứng cá nhân, Jeff là một ví dụ đáng tham khảo về cách tối ưu hóa quy trình từ dữ liệu tổng hợp đến triển khai thực tế, không cần đến hạ tầng đám mây đắt đỏ.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗