Đặt mô hình nhỏ vào đúng chỗ nó thắng
Mô hình frontier gán nhãn dữ liệu một lần. Mô hình nhỏ gánh hết traffic mãi về sau. Một router theo độ tự tin quyết định ai xử lý 7% ca thật sự khó.
4 phút đọcViết từ Seoul và Nha Trang
Câu hỏi "nên dùng mô hình nào" thường là một câu hỏi đặt sai. Với những việc mang dáng dấp phân loại, câu trả lời là hai mô hình và một ngưỡng.
Công thức: gán nhãn bằng mô hình lớn, phục vụ bằng mô hình nhỏ
Khi một pipeline cần phân loại ở quy mô lớn, nào là danh mục, spam, ý định, ngôn ngữ, chúng tôi không gọi mô hình frontier cho từng item. Chúng tôi gọi nó một lần cho cả dataset: để mô hình lớn gán nhãn 30,000 ví dụ lịch sử theo một rubric được thiết kế kỹ, kiểm tra tay một mẫu ngẫu nhiên, rồi distill đống nhãn đó vào một mô hình nhỏ chạy ngay trên máy của mình. Phán đoán của mô hình frontier được biên dịch thành một thứ phục vụ ở mức 15 ms với chi phí chỉ ngang tiền điện.
Router gánh phần đuôi hóc búa
const p = small.classify(x); // ~15 ms, on-box, effectively free
if (p.confidence >= 0.92) return p.label;
return frontier.classify(x); // ~1.5 s, the 7% that deserve it
Trên phân phối dữ liệu của chúng tôi, 93% số item vượt ngưỡng ngay tại chỗ, và mức đồng thuận với mô hình frontier trên phần đó là trên 99%. 7% mơ hồ còn lại mới cần đến bộ não đắt tiền. Chi phí gộp lại thấp hơn hai bậc độ lớn so với việc gọi mô hình frontier cho mọi thứ, và latency p50 tụt từ vài giây xuống còn mili giây, chuyện sống còn khi bộ phân loại nằm ngay trong một request phục vụ người dùng.
Chỗ fine-tuning thật sự thua
Chúng tôi thử đi thử lại fine-tuning và nó cứ thua prompting trong những dạng việc của mình. Về phong cách, định dạng và tuân thủ policy, một prompt có đánh version kèm vài ví dụ few-shot cưỡi trên một prefix cache còn nóng lại làm tốt hơn hẳn: đổi thì deploy trong vài phút, rollback trong vài giây, và A/B sạch sẽ. Một bản fine-tune là một build artifact với vòng lặp thử nghiệm dài cả ngày trời, và nó lỗi thời mỗi khi mô hình nền được nâng cấp, mà dạo này thì nâng cấp xoành xoạch. Công thức distill ở trên là ngoại lệ xứng đáng, và ngay cả ở đó chúng tôi cũng distill vào những mô hình open-weight nhỏ tự host, để artifact là của mình.
Cái giá của drift
Mô hình đã distill thì đóng băng; còn thế giới thì không. Vì vậy router liên tục ghi song song 1% mẫu shadow sang mô hình frontier, và khi mức bất đồng vượt ngưỡng thì nó nhắn (page) chúng tôi để gán nhãn lại và distill lại. Mô hình nhỏ chạy rẻ và cũng dễ bị bỏ quên. Chính cái mẫu shadow đó giữ cho "vụ này tụi mình tự động hóa từ mùa xuân năm ngoái" khỏi âm thầm mục thành "tụi mình đã phân loại sai suốt từ mùa xuân mà không hay".