
Một công cụ đánh giá LLM mã nguồn mở, gọn nhẹ – So sánh mọi mô hình trên OpenRouter
Không có bình luận nào.
Golang
Điểm chuẩn LLM
Giao diện dòng lệnh
Tôi đã xây dựng một công cụ đánh giá LLM — Đây là những gì tôi tìm thấy
Đây là một CLI (giao diện dòng lệnh) nhẹ, đo lường độ chính xác, khả năng tuân thủ hướng dẫn, gọi công cụ và đầu ra có cấu trúc của một mô hình.
Cheikh Seck
5 phút đọc · 5 giờ trước
--
Nghe
Chia sẻ
Mỗi tuần, một LLM mới ra mắt với điểm số nổi bật khiến các mô hình trước đó trở nên lỗi thời. MMLU, HumanEval, GPQA — những điểm chuẩn này kiểm tra kiến thức cấp độ Tiến sĩ và lập trình cạnh tranh. Chúng ấn tượng. Chúng cũng không liên quan đến hầu hết chúng ta.
Người dùng thông thường không cần một mô hình có thể đạt điểm cao trong kỳ thi cơ học lượng tử. Họ cần một mô hình tuân thủ hướng dẫn một cách đáng tin cậy, xuất ra JSON hợp lệ khi được yêu cầu, gọi đúng công cụ vào đúng thời điểm và không bị ảo giác về các sự kiện cơ bản. Hầu hết các điểm chuẩn không đo lường bất kỳ điều nào trong số đó.
Vì vậy, tôi đã xây dựng một công cụ làm được điều đó.
Nhấn enter hoặc nhấp để xem hình ảnh ở kích thước đầy đủ
Công cụ đánh giá
Tôi đã viết một CLI Go truy cập API của OpenRouter trên bốn bộ:
┌─────────────────────────────────────────────────────┐
│ Bộ │ Nội dung đo lường │
├────────────────┼────────────────────────────────────┤
│ Độ chính xác │ Kiến thức + toán học (15 tác vụ) │
│ Hướng dẫn │ Tuân thủ xác định (12) │
│ Công cụ │ Gọi hàm (kiểu BFCL, 12) │
│ JSON │ Tuân thủ lược đồ (5 tác vụ) │
└────────────────┴────────────────────────────────────┘Mỗi tác vụ chạy 3 lần để chấm điểm độ tin cậy. Công cụ lấy giá trực tiếp từ OpenRouter, tính toán chi phí cho mỗi câu trả lời đúng và xuất báo cáo JSON, CSV và Markdown.
Tại sao lại là OpenRouter? Có hai lý do. Thứ nhất, nó tổng hợp hàng chục mô hình từ các nhà cung cấp khác nhau đằng sau một API duy nhất — bạn có thể so sánh một mô hình Trung Quốc với một mô hình Mỹ cạnh nhau mà không cần quản lý hai SDK. Thứ hai, BYOK (Bring Your Own Key - Mang theo khóa của riêng bạn) có nghĩa là tôi có thể sử dụng khóa của riêng mình, hạn mức của riêng mình và thanh toán của riêng mình. Không bị khóa nhà cung cấp.
Và nếu OpenRouter đang tuyển dụng — họ chắc chắn nên liên hệ với tôi. Tôi rất muốn làm việc trên các công cụ giúp việc đánh giá đa nhà cung cấp như thế này trở nên dễ dàng.
Các mô hình
Tôi đã so sánh hai mô hình miễn phí:
Nhấn enter hoặc nhấp để xem hình ảnh ở kích thước đầy đủ
Sự khác biệt về kích thước rất đáng kinh ngạc — 550 tỷ tham số so với một mô hình "flash". Trực giác cho thấy mô hình lớn hơn sẽ thắng. Dữ liệu lại cho thấy điều ngược lại.
Kết quả
Nhấn enter hoặc nhấp để xem hình ảnh ở kích thước đầy đủ
Độ chính xác (Kiến thức + Toán học)
15 tác vụ này kiểm tra những gì một mô hình thực sự biết — thủ đô, số học, khoa học, lịch sử — và liệu nó có thể đưa ra câu trả lời đúng hay không. Không giống như các điểm chuẩn học thuật kiểm tra chuyên môn cấp độ Tiến sĩ, đây là những loại câu hỏi mà người dùng thực có thể hỏi hàng ngày. Kết quả cho thấy một mô hình rõ ràng: mô hình nhỏ hơn xử lý việc nhớ lại sự kiện với độ tin cậy đáng ngạc nhiên, trong khi những khó khăn của mô hình lớn hơn với toán học cơ bản và các sự kiện đơn giản cho thấy rằng số lượng tham số thô không phải lúc nào cũng chuyển thành tính hữu ích hàng ngày.
Nhấn enter hoặc nhấp để xem hình ảnh ở kích thước đầy đủ
Ling đúng 11 trên 15 lần trong ít nhất một lần thử. Nemotron đúng 9 lần. Nhưng mô hình này cho thấy rõ ràng — Nemotron liên tục thất bại trong toán học cơ bản và nhớ lại sự kiện, trong khi những lỗi của Ling rải rác.
Tuân thủ hướng dẫn
Nhấn enter hoặc nhấp để xem hình ảnh ở kích thước đầy đủ
Ling hoàn thành mọi tác vụ tuân thủ hướng dẫn. Nemotron gặp khó khăn với các ràng buộc — không dấu phẩy, không chữ số, số lượng từ chính xác. Đây là nơi khoảng cách "khả năng sử dụng chung" rõ ràng nhất. Một mô hình không thể tuân thủ "không sử dụng dấu phẩy" là một mô hình sẽ gây khó chịu cho người dùng thực.
Gọi công cụ
Ling gọi đúng công cụ 10 trên 11 lần. Nemotron đạt 8 lần. Khoảng cách lớn nhất nằm ở việc gọi công cụ song song (nhiều công cụ trong một yêu cầu). Nemotron thất bại trong việc gọi đồng thời hai công cụ cả ba lần thử.
Đầu ra JSON
Cả hai mô hình đều đạt 100% về đầu ra có cấu trúc. Đây là lĩnh vực duy nhất mà chúng ngang bằng nhau.
Cách thức hoạt động của công cụ
Công cụ này là một CLI (giao diện dòng lệnh) Go, chấp nhận tên mô hình, mã API và cấu hình bộ thử nghiệm thông qua các cờ dòng lệnh, sau đó gửi từng tác vụ đến API OpenRouter. Nó thực thi mọi tác vụ qua nhiều lần chạy, chấm điểm đạt/không đạt cho mỗi lần thử trong khi theo dõi độ trễ, mức sử dụng token và chi phí – sau đó tổng hợp kết quả thành điểm cho từng bộ thử nghiệm và điểm tổng thể. Cuối cùng, nó ghi ba định dạng đầu ra (JSON, CSV và Markdown) để người dùng có thể kiểm tra dữ liệu thô, nhập vào bảng tính hoặc chia sẻ bản tóm tắt dễ đọc.
┌─────────────┐ ┌──────────────────────┐ ┌─────────────────┐
│ Cờ CLI │───▶ API OpenRouter ────▶ Định giá trực tiếp │
│ -token │ │ /v1/chat/completions│ │ /v1/models │
│ -models │ │ Xác thực BYOK │ │ Bộ nhớ đệm │
│ -suites │ └──────────────────────┘ └─────────────────┘
│ -runs │ │
└─────────────┘ ▼
┌─────────────────┐
│ Thực thi tác vụ │
│ 4 bộ × N │
│ tác vụ × R lần chạy │
└────────┬────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ JSON │ │ CSV │ │ Markdown│
│ Báo cáo │ │ Thử nghiệm │ │ Tóm tắt │
└──────────┘ └──────────┘ └──────────┘
┌────────────────────────────────────────┐
│ Chú giải │
├────────────────────────────────────────┤
│ N = Số lượng tác vụ trên mỗi bộ thử nghiệm │
│ R = Số lần thực thi trên mỗi tác vụ │
└────────────────────────────────────────┘Toàn bộ công cụ được viết bằng Go chỉ sử dụng thư viện chuẩn — net/http, encoding/json, flag, sort, math, crypto/sha256. Không có phụ thuộc bên ngoài.
Bức tranh lớn hơn
Kết quả cho thấy một câu chuyện rõ ràng: các mô hình nhỏ hơn, tập trung có thể vượt trội hơn các mô hình lớn trên các tác vụ thực tế. Ling 3.0 Flash là một mô hình “flash” – được thiết kế để đạt tốc độ và tuân thủ hướng dẫn. Nemotron 3 Ultra là một mô hình khổng lồ 550B gặp khó khăn với các phép toán cơ bản và liên tục bỏ qua các ràng buộc định dạng.
Đây chính xác là loại đánh giá quan trọng để lựa chọn một mô hình cho công việc sản xuất. Không phải điểm MMLU. Không phải xếp hạng HumanEval. Mà là: nó có tuân thủ hướng dẫn không? Nó có gọi đúng công cụ không? Nó có xuất ra JSON hợp lệ không? Và mỗi câu trả lời đúng tốn bao nhiêu?
Công cụ
Công cụ đánh giá này là mã nguồn mở và được viết bằng Go. Bạn có thể tự chạy nó:
$ go install github.com/cheikh2shift/go-sni
Nguồn tin: Hacker News LLM — Tác giả: cheikhdev. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.