Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung)
Điểm AI 60/100

Mô hình

Jeff ra mắt bộ mô hình ra quyết định 0.8B và 2B, tốc độ phản hồi siêu nhanh chỉ 22ms

(giờ Việt Nam)

Tóm tắt AI

Jeff giới thiệu các mô hình Jeff-Qwen3.5-0.8B/2B và Jeff-Gemma4-E2B, được tối ưu hóa cho tác vụ phân loại zero-shot với định dạng tương thích Jev, đạt tốc độ xử lý ấn tượng chỉ 22ms mỗi lượt.

Chính văn · Bản dịch AI

GitHub - firelex/jeff: Fine-tunes of Qwen3.5 and Gemma 4 for zero-shot classification

Các phiên bản tinh chỉnh (fine-tune) của Qwen3.5 và Gemma 4 cho phân loại zero-shot: các mô hình quyết định nhỏ, nhanh mà bạn có thể tích hợp vào mã nguồn của mình, với cùng định dạng yêu cầu như Jev. Bạn mô tả một tình huống và liệt kê các tùy chọn bằng ngôn ngữ thông thường; Jeff trả về xác suất đã hiệu chỉnh cho mỗi tùy chọn từ một lần truyền tiến (forward pass) duy nhất. Không tạo văn bản, không cần phân tích cú pháp: khoảng 22 ms cho mỗi quyết định trên RTX PRO 6000 và 28 ms trên Apple M4 Max (MLX).

Zero-shot nghĩa là các tùy chọn có thể là bất cứ thứ gì: hàng đợi hỗ trợ, ý định người dùng, nhãn kiểm duyệt, lệnh thoại, nước đi trong trò chơi. Các danh mục của bạn không cần phải 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.

Nó là gì và không phải là gì. Đây là những mô hình rất nhỏ. Chúng đưa ra các quyết định đánh giá cực kỳ nhanh, được hiệu chỉnh tốt giữa các tùy chọn và dễ dàng tích hợp vào mã nguồn cục bộ của bạn. Trên các bộ điểm chuẩn (benchmarks), chúng tiệm cận và đôi khi vượt qua Jev; nhưng ở kích thước này, khả năng suy luận của chúng sẽ không bằng Jev, vốn chạy trên một 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 quá trình tinh chỉnh ngắn trên các ví dụ của riêng bạn sẽ mang lại hiệu quả cao hơn nhiều: quá trình tinh chỉnh điều hướng bằng giọng nói của chúng tôi đã nâng độ chính xác từ 31,7% lên 95,8% trong chưa đầy nửa giờ trên một GPU.

Được xây dựng hoàn toàn trên phần cứng cục bộ. Huấn luyện trên một GPU máy trạm RTX PRO 6000 (bản 0.8B huấn luyện trong khoảng 2 giờ, bản 2B trong khoảng 3,5 giờ), tất cả dữ liệu huấn luyện tổng hợp được viết bởi một mô hình mở (Qwen3.8-Flash-Next) trên hai máy DGX Sparks, kiểm thử trên MacBook. Không sử dụng GPU đám mây và không có đầu ra của mô hình đóng trong dữ liệu huấn luyện; một mô hình đóng chỉ được sử dụng để kiểm tra chất lượng ngẫu nhiên trên một mẫu dữ liệu tổng hợp.

Dự án độc lập. Jeff sử dụng cùng định dạng yêu cầu như Jev, nhưng không liên kết hoặc được xác nhận bởi TypeSafe, nhà sản xuất của Jev. Mã huấn luyện của chúng tôi bắt đầu từ công thức mã nguồn mở AutoJev.

Các mô hình trên Hugging Face: Jeff-Qwen3.5-0.8B · Jeff-Qwen3.5-2B · Jeff-Gemma4-E2B

Bắt đầu nhanh

Mã
uv sync
uv run hf download mstrasser/Jeff-Qwen3.5-0.8B --local-dir checkpoints/jeff-0.8b

# NVIDIA GPU or CPU (PyTorch)
JEFF_CHECKPOINT=checkpoints/jeff-0.8b PORT=8765 uv run jeff-serve
# Apple silicon (MLX, much faster on a Mac; Qwen models only)
uv sync --extra mac
JEFF_BACKEND=mlx JEFF_CHECKPOINT=checkpoints/jeff-0.8b PORT=8765 uv run jeff-serve
Mã
curl -s localhost:8765/v1/systemone -H 'content-type: application/json' -d '{
  "model": "jeff-latest",
  "state": "Refund request: the customer says the parcel arrived crushed and wants their money back.",
  "questions": {
    "route": {"type": "choice", "instructions": "Which team should handle this?",
              "criteria": {"1": "Refunds and payments", "2": "Damaged or lost parcels", "3": "Account and login problems"}},
    "angry": {"type": "noul", "instructions": "Is the customer angry?"}
  }
}'

Mỗi câu trả lời có xác suất cho từng tùy chọn, tùy chọn được chọn và độ tin cậy. Ba loại câu hỏi: choice (chọn một trong tối đa 255 tùy chọn), noul (có/không, trả về dưới dạng xác suất) và score (một điểm trên thang đo bạn mô tả). Nhiều câu hỏi độc lập trong một yêu cầu được trả lời cùng lúc.

Các bộ điểm chuẩn (Benchmarks)

4.599 câu hỏi từ năm bộ điểm chuẩn công khai, cộng với tầng khó công khai của JevBench (105 mục, được chấm điểm riêng):

Accuracy of Jeff-Qwen3.5-0.8B, Jeff-Qwen3.5-2B and Jeff-Gemma4-E2B against Jev's published figures, per benchmark
Bộ điểm chuẩnQwen3.5-0.8B chưa huấn luyệnJeff-Qwen3.5-0.8BQwen3.5-2B chưa huấn luyệnJeff-Qwen3.5-2BGemma 4 E2B chưa huấn luyệnJeff-Gemma4-E2BJev (đã công bố)AutoJev-27B (đã công bố)
Tổng thể (5 bộ điểm chuẩn)45.379.146.583.162.581.683.084.9
BBH39.564.046.068.051.366.494.382.8
Financial PhraseBank36.096.453.496.386.096.177.084.2
JudgeBench56.662.657.464.646.960.678.678.9
RAGTruth49.186.135.988.963.887.477.388.9
WinoGrande49.268.652.279.051.077.490.783.3
JevBench hard (riêng biệt)36.247.645.753.341.048.673.370.3

In đậm: người chiến thắng giữa Jeff và Jev trong mỗi hàng. In đậm nghiêng: AutoJev-27B khi nó là mô hình tốt nhất trong tất cả các mô hình ở hàng đó (trên RAGTruth, ngang bằng với Jeff-Qwen3.5-2B); nó được hiển thị để tham khảo, vì so sánh đối đầu là với Jev. Các số liệu Jev và AutoJev đã công bố được đo lường trên một mẫu khác của cùng các bộ điểm chuẩn. Điểm tổng thể của Jeff đến từ phân loại và grounding, nơi nó ngang bằng hoặc vượt qua các mô hình lớn; trên các bộ điểm chuẩn đòi hỏi suy luận cao (BBH, JudgeBench, JevBench), nó vẫn thấp hơn đáng kể, như bạn mong đợi ở kích thước này.

Trò chơi: một bài kiểm tra zero-shot

Để kiểm tra hiệu suất zero-shot trên các tác vụ không giống bất kỳ thứ gì trong các bộ điểm chuẩn, chúng tôi đã để Jeff chơi ba trò chơi. Trò chơi không phải là bài kiểm tra zero-shot lý tưởng, vì trạng thái của trò chơi không phải là dữ liệu phi cấu trúc điển hình; nhưng chúng là một cách phổ biến và thú vị để kiểm tra một mô hình Hệ thống 1 (System 1). Mỗi lượt, mã nguồn mô tả tình huống và các nước đi hợp lệ bằng từ ngữ, và mô hình chọn một nước đi. Các tùy chọn nêu rõ mỗi nước đi dẫn đến đâu (Frogger: "bạn sẽ bị xe đâm và mất một mạng"; Doom: "quái vật gần nhất nằm hơi chếch về bên trái của bạn"), nhưng không bao giờ nói nước đi nào là đúng. Mỗi kết quả là 20 tập (episodes), hạt giống 1234; ▶ mở video của tập đầu tiên trong lượt chạy.

Jeff-Qwen3.5-0.8B đang chơi, zero-shot (hàng in đậm trong bảng dưới đây; nhấp vào clip để xem video đầy đủ):

Mô hìnhDoom, số lần tiêu diệt (hướng của quái vật bằng từ ngữ)Frogger, số lần qua đường (hệ quả)Pac-Man, số viên năng lượng trong 98 (hệ quả)
Nước đi ngẫu nhiên−0.05011.2
Bot quy tắc viết tay6.55▶10.25▶94.1▶
Qwen3.5-0.8B, chưa huấn luyện5.0▶1.0▶25.8▶
Jeff-Qwen3.5-0.8B6.55▶10.3▶57.0▶
Qwen3.5-2B, chưa huấn luyện0.55▶0.05▶72.1▶
Jeff-Qwen3.5-2B−0.9▶6.0▶41.2▶
Gemma 4 E2B, chưa huấn luyện−0.55▶0▶3.2▶
Jeff-Gemma4-E2B0.55▶0.15▶53.2▶
Jev (đã công bố, Doom)6,55, được cho biết quy tắc ngắm bắn; −0,60 nếu không có nó——

Jeff-0.8B quyết định trong 29–49 ms mỗi nước đi trên M4 Max; lượt chạy Doom đã công bố của Jev mất 212 ms mỗi lệnh gọi qua API của nó. Hai khoảng thời gian này không được đo trên cùng một phần cứng. Để tự mình chơi:

Mã
uv sync --extra games
uv run python -m jeff.games --game doom --player jeff --criteria situation --url http://127.0.0.1:8765 --video --out runs/games/doom.json
uv run python -m jeff.games --game frogger --player jeff --criteria outcomes --url http://127.0.0.1:8765 --out runs/games/frogger.json
uv run python -m jeff.games --game pacman --player rule --out runs/games/pacman-rule.json

Tốc độ và kích thước

Thời gian trung bình cho mỗi quyết định qua cùng 200 câu hỏi điểm chuẩn (mỗi câu khoảng 200 token đầu vào), từng câu một, từ văn bản thô đến xác suất:

Mô hìnhTham sốTrọng số (16-bit)NVIDIA RTX PRO 6000Apple M4 Max (MLX)CPU (32 luồng)
Jeff-Qwen3.5-0.8B0.8B1.7 GB22 ms28 ms463 ms
Jeff-Qwen3.5-2B2B4.2 GB24 ms60 ms708 ms
Jeff-Gemma4-E2B2B hiệu dụng (4.6B được lưu trữ)9.3 GB29 ms— (MLX chỉ chạy Qwen)1.0 s
AutoJev-27B27B~54 GBchưa công bố——
Jevchưa tiết lộChỉ API114–212 ms mỗi lệnh gọi trong các lượt chạy Doom đã công bố, bao gồm cả mạng

Sử dụng hiệu quả

  • Suy luận trong mã, quyết định với Jeff. Đây là một bộ phân loại, không phải bộ lập kế hoạch. Hãy nêu rõ mỗi tùy chọn dẫn đến kết quả gì ("nước đi này khiến bạn bị xe đâm"); nếu được yêu cầu dự báo ("một chiếc xe sẽ đến sau 2 lượt"), nó không làm tốt hơn việc chọn ngẫu nhiên.
  • Cách diễn đạt cực kỳ quan trọng. Mô tả các tùy chọn một cách nhất quán: việc đặt cùng một từ ngữ cho tùy chọn mục tiêu của Frogger giống như mọi tùy chọn tiến lên khác đã giúp tăng từ 15 lên 23 lượt vượt qua trong một tập.
  • Sử dụng các khóa tùy chọn ngắn và văn bản mô tả: {"1": "Thư cam kết"}, không dùng ID dài, vì chúng tốn thời gian và không mang lại giá trị gì.
  • Đặt các câu hỏi độc lập cùng nhau trong một yêu cầu.
  • Tinh chỉnh (fine-tune) nếu zero-shot là không đủ. Việc tinh chỉnh điều hướng bằng giọng nói trên khoảng 11 nghìn ví dụ cụ thể của ứng dụng mất khoảng nửa giờ trên một GPU và cải thiện độ chính xác từ 31,7% lên 95,8%, với tốc độ khoảng 40 ms mỗi quyết định trên chip M4 Max: autojev-train --initial-checkpoint <jeff> --epochs 1....
  • Chọn kích thước phù hợp cho công việc. Để chọn tùy chọn nhanh, mô hình 0.8B là điểm tối ưu: mô hình 2B thận trọng hơn và chơi game kém hơn, mặc dù đạt điểm cao hơn trên các bài kiểm tra đánh giá (benchmark).

Tự huấn luyện mô hình của riêng bạn

Mã
uv run autojev-mix ...          # build the training set (public data, synthetic data, leak filter)
scripts/train.sh RUN data/mix/public.jsonl data/mix 5e-6 40 Qwen/Qwen3.5-0.8B <revision> --epochs 1
uv run autojev-evaluate --data data/panel.jsonl --local --checkpoint checkpoints/RUN/selected --output runs/eval/RUN.json

Toàn bộ quy trình (dữ liệu tổng hợp từ giáo viên cục bộ, bộ lọc rò rỉ, quét tốc độ học, bảng điều khiển) được mô tả trong scripts/train_all.sh, và mọi nguồn huấn luyện cùng giấy phép của chúng nằm trong docs/data-sources.md. Công thức huấn luyện: tinh chỉnh toàn bộ trọng số, một epoch, batch kích thước 256, cross-entropy trên các chữ cái tùy chọn, sau đó là một nhiệt độ (temperature) được hiệu chỉnh; các checkpoint được chọn trên tập phát triển, không bao giờ chọn trên bảng benchmark. Ít nhất một nửa số dữ liệu của mỗi nhóm huấn luyện tuân theo các quy ước bố cục của bảng (chỉ định dạng; không có mục nào trong bảng được dùng để huấn luyện).

Lưu ý

  • Các mô hình nhỏ không có khả năng suy luận. Hãy kỳ vọng vào các lựa chọn nhanh, đã được hiệu chỉnh giữa các tùy chọn mà bạn mô tả, thay vì suy luận nhiều bước. Ở mức 0.8B–2B tham số, điều này đúng với mọi mô hình, không chỉ riêng Jeff.
  • Jeff-2B là người chơi game yếu hơn Jeff-0.8B. Mô hình 2B chưa qua huấn luyện đã tỏ ra e ngại rủi ro hơn so với 0.8B chưa qua huấn luyện, và quá trình huấn luyện của chúng tôi dường như làm điều đó trở nên tệ hơn. Điều này cần được nghiên cứu thêm.
  • Điểm benchmark không dự đoán được khả năng chơi game. Gemma 4 E2B chưa qua huấn luyện đánh bại các mô hình Qwen trên các bài benchmark nhưng lại chơi game tệ nhất: đúng hầu hết thời gian, nhưng không đáng tin cậy. Việc huấn luyện đã cải thiện trò Pac-Man (3.2 → 53.2 viên) nhưng không cải thiện được Doom hay Frogger.
  • Prompt rất quan trọng. Prompt Doom của riêng Jev (một con số phương vị thô cộng với quy tắc nhắm mục tiêu) không hoạt động với bất kỳ mô hình nào của chúng tôi; các tùy chọn nêu rõ hậu quả bằng từ ngữ thì có.
  • Chỉ hỗ trợ tiếng Anh và văn bản.

Lịch sử

Jeff bắt đầu như một bản fork của AutoJev bởi Denis Yarats (giấy phép MIT), một công thức mở giúp tinh chỉnh Qwen3.8-27B để đưa ra các quyết định theo phong cách Jev. Chúng tôi giữ nguyên thiết kế cốt lõi (một lần truyền tiến cho mỗi quyết định, một bộ đọc câu trả lời đã huấn luyện, một nhiệt độ được hiệu chỉnh) và phát triển dựa trên đó: các học viên nhỏ (0.8B và 2B Qwen, Gemma 4 E2B), quy trình dữ liệu tổng hợp cục bộ với bộ lọc rò rỉ, bố cục prompt cho tinh chỉnh miền, phục vụ MLX trên Apple silicon, các bài kiểm tra game và bảng điều khiển huấn luyện. Thông báo bản quyền gốc được giữ nguyên trong LICENSE.

Giấy phép

Mã nguồn: MIT (bao gồm cả của AutoJev). Trọng số mô hình: Apache 2.0. Bộ khung Doom được điều chỉnh từ jev-plays-doom (MIT). Dữ liệu huấn luyện: xem thẻ dữ liệu (dataset card); mỗi nguồn giữ giấy phép riêng và được liệt kê trong docs/data-sources.md. Chúng tôi phát hành trọng số và mã nguồn, không phát hành dữ liệu huấn luyện; một số nguồn là share-alike (CC BY-SA).

Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.

Jeff ra mắt bộ mô hình ra quyết định 0.8B và 2B, tốc độ phản hồi siêu nhanh chỉ 22ms | AIHOT.vn