Laya: Mô hình ra quyết định mã nguồn mở 33ms thách thức Jev của TypeSafe AI
Laya là dòng mô hình quyết định System 1 mã nguồn mở, chạy chỉ 32,8ms trên một GPU nhờ kiến trúc encoder hai chiều thay vì sinh văn bản. Ra đời như câu trả lời cho Jev của TypeSafe AI, Laya hỗ trợ hơn 100 ngôn ngữ, đạt độ hiệu chỉnh xác suất tốt gấp 3 lần và hoàn toàn miễn phí theo giấy phép Apache 2.0.

Trong khi cả ngành AI đang xôn xao về một kiến trúc mô hình mới không tự hồi quy (non-autoregressive), không sinh văn bản mà đưa ra dự đoán xác suất cực nhanh trên các lược đồ có cấu trúc, một nhà nghiên cứu độc lập đã quyết định biến sự bực bội của mình thành hành động. Kết quả là Laya — dòng mô hình quyết định System 1 hoàn toàn mã nguồn mở, chạy chỉ 32,8 mili-giây trên một GPU duy nhất, nhanh gấp 6 đến 8 lần so với Jev của TypeSafe AI.
Câu chuyện bắt đầu từ tháng 3 năm 2025, khi tác giả đã dành nhiều tháng làm việc miệt mài để xây dựng một mô hình chuyển đổi bán hàng theo từng lượt hội thoại, công bố bài báo arXiv (arXiv:2503.23303), phát hành trọng số trên Hugging Face và chia sẻ toàn bộ tập dữ liệu mở. Đến tháng 9 năm 2025, anh tiếp tục công bố bài báo thứ hai (arXiv:2510.01237) chính thức hóa khung ra quyết định dựa trên lược đồ, được dẫn dắt bởi học tăng cường.
Rồi đến tháng 9 năm 2026, một phòng thí nghiệm được đầu tư mạnh tên TypeSafe AI — do Diogo Almeida, đồng tác giả của ChatGPT tại OpenAI sáng lập — ra mắt Jev với đúng khái niệm quyết định phi tự hồi quy tương tự. Điểm khác biệt gây tranh cãi: Jev ra mắt mà không có bài báo kỹ thuật, không có trọng số mở và không có tập dữ liệu huấn luyện công khai, trong khi thu phí 0,042 USD cho mỗi triệu token đầu vào.
Điểm cốt lõi: System 1 và System 2
Mọi pipeline AI hiện đại đều có một nút thắt khổng lồ: chúng ta dùng các mô hình ngôn ngữ sinh (generative LLM) cho những quyết định phản xạ đơn giản.
Khi một ticket hỗ trợ khách hàng đến, khi một email rơi vào hộp thư, hay khi người dùng gửi một prompt tới API của bạn, bạn thường chỉ cần trả lời vài câu hỏi có cấu trúc đơn giản:
- Ticket này nên được định tuyến tới bộ phận nào?
- Email này là tấn công lừa đảo hay thư rác?
- Prompt này có đang cố gắng jailbreak hoặc chèn chỉ thị độc hại không?
- Vấn đề này khẩn cấp đến mức nào theo thang bậc 0 đến 3?
- Truy vấn này cần thực thi mã hay chỉ cần một câu trả lời dữ kiện?
Việc gọi một LLM 8B, 70B hay thậm chí mô hình tiên tiến cho những việc này là hoàn toàn lãng phí. Bạn phải chờ 500 đến 2.000ms để token được sinh ra, tốn tiền thật cho suy luận, rồi lại phải viết biểu thức chính quy hoặc bộ phân tích JSON để trích xuất nhãn sạch từ văn bản tự do.
Tệ nhất là các LLM rất thích "ảo giác" và tạo ra độ tin cậy giả. Khi LLM xuất ra "confidence: 0.95", nó chỉ đang dự đoán các token nghe có vẻ tự tin. Không hề có sự hiệu chỉnh toán học nào đằng sau con số đó.
Laya giải quyết bài toán này bằng cách hoạt động như System 1 của não người: ra quyết định phản xạ tức thì với xác suất trung thực, đã được hiệu chỉnh, chỉ tốn 30 đến 35ms trên phần cứng phổ thông.
Ba nguyên thủy quyết định
Laya đánh giá các câu hỏi có kiểu dữ liệu trên bất kỳ trạng thái nào (văn bản thô, email, ticket hay tài liệu JSON) chỉ trong một lượt lan truyền tiến (forward pass), dựa trên ba nguyên thủy:
- choice: Chọn một tùy chọn từ từ điển tiêu chí. Trả về khóa được chọn, phân phối xác suất trên mọi lựa chọn và điểm tin cậy đã hiệu chỉnh.
- score: Đặt trạng thái lên thang bậc thứ tự (mức 0, 1, 2,...). Trả về mức kỳ vọng, phân phối trên các hạng và độ tin cậy.
- noul: Câu hỏi boolean trực tiếp, trả về xác suất P(true) đã hiệu chỉnh từ 0,0 đến 1,0, với P(false) = 1 - P(true) theo cấu trúc.
Vì không gian đầu ra chỉ gồm xác suất và con số, mô hình không bao giờ sinh văn bản, không thể ảo giác, và việc vi phạm lược đồ hay JSON sai định dạng là điều bất khả thi về mặt kỹ thuật.
Ba checkpoint và kiến trúc hub gộp
Không một mô hình nào tối ưu cho mọi tác vụ và ngôn ngữ, nên nhóm phát triển phát hành ba checkpoint chuyên biệt, nay được gộp dưới một kho lưu trữ duy nhất trên Hugging Face:
- convaiinnovations/laya: Dùng encoder ModernBERT-large (421M tham số, ngữ cảnh 512), mạnh về phân loại văn bản tiếng Anh, guardrails và phân loại email.
- convaiinnovations/laya-multilingual: Dùng mmBERT-base với từ vựng 256k (322M tham số, ngữ cảnh lên tới 8k), hỗ trợ hơn 100 ngôn ngữ, nhanh gấp 2,2 lần, có khả năng chuyển ngữ chéo.
- convaiinnovations/laya-typed-decisions: Dùng ModernBERT-large (421M, ngữ cảnh 1024), phục vụ quan sát tác nhân, dịch vụ khách hàng, xử lý hóa đơn và cảnh báo an ninh với độ chính xác 0,766.
Thay vì buộc người dùng tải toàn bộ 2,5 GB trọng số, SDK của Laya sử dụng tính năng allow_patterns của Hugging Face để chỉ tải đúng thư mục con cần thiết:
# Chỉ tải mô hình tiếng Anh (~808 MB)
agent_en = laya.load("convaiinnovations/laya")
# Chỉ tải thư mục đa ngôn ngữ (~647 MB), không tải cả gói 2,5 GB
agent_ml = laya.load("convaiinnovations/laya", subfolder="multilingual")
Vì sao định tuyến là thiết yếu
Một trong những phát hiện đáng chú ý nhất từ khảo sát 51 ngôn ngữ trên bộ chuẩn MASSIVE (20 lựa chọn, đường cơ sở ngẫu nhiên là 0,050) là cách các mô hình tiếng Anh thất bại ngoài hệ chữ Latin.
Từ vựng BPE 50.000 token tiếng Anh của ModernBERT-large xé nát các bảng chữ cái phi Latin:
- Tiếng Khmer: Độ chính xác 0,000 nhưng độ tin cậy trung bình lên tới 0,952. Không một quyết định đúng nào trong 100 câu hỏi, trong khi mô hình báo cáo độ tin cậy gần 95%.
- Tiếng Armenia: Độ chính xác 0,050 (đúng bằng tung đồng xu ngẫu nhiên) với độ tin cậy 0,885.
- Tiếng Hebrew: Độ chính xác 0,060 với độ tin cậy 0,964.
- Tiếng Bengal: Độ chính xác 0,080 với độ tin cậy 0,945.
- Tiếng Hindi: Độ chính xác 0,100 với độ tin cậy 0,941.
Bài học then chốt: độ tin cậy của chính mô hình không hề đưa ra cảnh báo nào khi nó không thể đọc được hệ chữ của đầu vào. Trên 51 ngôn ngữ, độ tin cậy trung bình của checkpoint tiếng Anh không bao giờ giảm xuống dưới 0,885, bất kể độ chính xác là 82% hay 0%.
Vì vậy, việc chặn theo độ tin cậy (confidence gating) không thể bảo vệ bạn. Quyết định dùng mô hình nào phải được đưa ra trước lượt lan truyền tiến.
Laya tích hợp sẵn một Router kiểm tra hệ chữ Unicode của văn bản đầu vào trên 22 bảng chữ cái (Devanagari, CJK Han, Kirin, Ả Rập, Hebrew, Tamil, Thái Lan,...) và phân tích phân phối stopword tiếng Latin, với chi phí phát hiện cực nhỏ:
- Văn bản tiếng Anh chuẩn: 0,09ms.
- Văn bản Devanagari / Ấn Độ: 0,54ms.
- Tài liệu JSON lồng nhau 200 dòng: 0,73ms.
So với một lượt lan truyền tiến 33ms, chi phí định tuyến gần như không đáng kể.
So sánh trực tiếp: Laya (có định tuyến) với TypeSafe Jev
Nhóm phát triển đã đánh giá Laya trực tiếp với TypeSafe Jev trên các tập dữ liệu công khai và bộ chuẩn tiêu chuẩn. Mọi con số của Laya đều được đo đạc, còn số liệu của Jev do các nghiên cứu độc lập bên thứ ba (AbdelStark, nibzard) và chính TypeSafe AI công bố:
- typed-decisions (2.000 quyết định): Jev 0,727 so với Laya 0,766, tức Laya cao hơn 3,9% và vượt cả trần giáo viên 0,735.
- AG News (4 nhãn): Jev 0,910 so với Laya 0,950, cao hơn 4,0%.
- DAIR Emotion (6 nhãn): Jev 0,480 (Brier 0,846) so với Laya 0,595, cao hơn 11,5% (Jev có tới 16% xác suất bằng không).
- Sai số hiệu chỉnh (ECE): Jev 0,246 so với Laya 0,081, tức Laya hiệu chỉnh xác suất tốt gấp 3 lần.
- Độ trễ P50 (1 câu hỏi): Jev 236 đến 276ms so với Laya 32,8ms, nhanh gấp 7,8 lần.
- Độ trễ P50 (10 câu hỏi theo lô): Jev khoảng 1.500ms (tuần tự) so với Laya 72,3ms (7,2ms mỗi câu), nhanh gấp 20 lần khi gọi theo lô.
- Ngôn ngữ dùng được (hơn 3 lần ngẫu nhiên): Jev không công bố kết quả, Laya đạt 45 trên 51 ngôn ngữ.
- Chi phí mỗi 1 triệu token: Jev 0,042 USD (API tính phí) so với Laya 0,00 USD (tự vận hành), miễn phí 100% theo Apache 2.0.
- Trọng số và mã nguồn: Jev là API độc quyền đóng, Laya là safetensors mã nguồn mở, có thể chạy trong môi trường biệt lập hoặc tại chỗ.
Các quy trình ứng dụng thực tế
Trên 9 quy trình doanh nghiệp được đánh giá, Laya thể hiện chất lượng quyết định sẵn sàng cho môi trường sản xuất:
- Lọc thư rác email (Enron): Độ chính xác 0,993, F1 0,993, ECE 0,013.
- Phát hiện lừa đảo: Độ chính xác 0,980, F1 0,979, ECE 0,012.
- Guardrails và jailbreak LLM (ToxicChat held-out): Độ chính xác 0,755 đến 0,762. Ở mức bao phủ chọn lọc 50%, độ chính xác đạt 0,931.
- Lọc độ liên quan của đoạn RAG: Độ chính xác 0,657 trong một lượt lan truyền tiến.
- Định tuyến hàng đợi ticket hỗ trợ (10 hướng): Độ chính xác 0,522.
Những giới hạn trung thực
Không giống nhiều thông báo AI che giấu điểm yếu, nhóm phát triển Laya công khai các hạn chế:
- Câu hỏi choice suy giảm khi có hơn 20 tùy chọn: Trong bài kiểm tra căng thẳng trên Banking77 (77 nhãn), Laya đạt 0,425 so với Jev 0,870. Đây là ràng buộc ngân sách kiến trúc: các tùy chọn chia sẻ ngân sách
head_max_len192 đến 256 token, chỉ còn khoảng 3 đến 4 token cho mỗi ứng viên khi có 77 lựa chọn. Khuyến nghị: giữ lược đồ choice dưới 20 tùy chọn, hoặc dùng phân cấp thô đến tinh hai bước. - Zero-shot so với tinh chỉnh: Mô hình nền nguyên bản đạt khoảng 0,35 trên bộ chuẩn typed-decisions (gần mức ngẫu nhiên). Điểm 0,766 đạt được nhờ tinh chỉnh trên tập huấn luyện của bộ chuẩn. Hãy coi Laya là một mô hình nền nhanh để chuyên biệt hóa, không phải một nhà tiên tri zero-shot toàn năng.
- Hiệu chỉnh nhiệt độ: Trọng số nền đi kèm logit nhiệt độ thô. Việc khớp một tham số nhiệt độ vô hướng duy nhất cho mỗi loại câu hỏi trên phân phối miền của bạn sẽ giảm sai số hiệu chỉnh kỳ vọng từ 0,466 xuống 0,081.
Bắt đầu trong 30 giây
Cài đặt:
pip install laya>=0.3.3
Ví dụ đầy đủ về quyết định đa lược đồ với định tuyến ngôn ngữ tự động:
import laya
from laya import Router
# Khởi tạo router với tính năng nạp trước (tránh độ trễ hoán đổi)
router = Router(preload=True)
# Định nghĩa trạng thái phức tạp
ticket = {
"ticket_id": "TCK-8821",
"customer": "enterprise_user",
"subject": "System downtime and billing dispute",
"body": "Our production API has been failing since 6 AM. We lost critical transactions. We demand an immediate SLA refund."
}
# Định nghĩa nhiều câu hỏi thuộc các nguyên thủy khác nhau
questions = {
"queue": {
"type": "choice",
"instructions": "Which engineering queue owns this ticket?",
"criteria": {
"infrastructure": "server outages, network downtime, database failures",
"billing": "refunds, SLA credits, invoice disputes",
"security": "breaches, vulnerability reports",
"support": "general customer inquiries"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is this ticket?",
"criteria": ["low priority", "medium", "high priority", "critical blocker"]
},
"churn_risk": {
"type": "noul",
"instructions": "Does the customer threaten to cancel or express severe churn intent?"
}
}
# Một lượt lan truyền tiến duy nhất: đánh giá tất cả câu hỏi đồng thời
res = router.predict(ticket, questions)
print("Routing Decision :", res["routing"]["model"])
# -> english
print("Assigned Queue :", res["answers"]["queue"]["choice"])
# -> infrastructure (độ tin cậy: 0.96)
print("Urgency Score :", res["answers"]["urgency"]["score"])
# -> 2.87 / 3.0
print("Churn Risk :", f"{res['answers']['churn_risk']['noul']:.1%}")
# -> 91.4%
Tài nguyên và cộng đồng
- Hugging Face Model Hub: convaiinnovations/laya (chứa cả 3 checkpoint)
- Không gian tương tác trực tiếp: convaiinnovations/laya-demo (thử 8 quy trình và định tuyến đa ngôn ngữ trực tiếp trên ZeroGPU)
- Kho GitHub: github.com/NandhaKishorM/laya (mã nguồn, router và bộ đánh giá có thể tái lập trên nhánh research)
- Gói PyPI:
pip install laya - Notebook tinh chỉnh Kaggle 2xT4: huấn luyện mô hình System 1 tùy chỉnh của riêng bạn trong khoảng 4 giờ trên GPU Kaggle miễn phí
Kết luận
Một năm nghiên cứu, từ bài báo arXiv tháng 3 năm 2025 đến nay, đã dẫn tới một nhận thức cốt lõi: không phải mọi bài toán AI đều cần một chatbot tự hồi quy.
Đối với phân loại khối lượng lớn, guardrails, định tuyến và phân loại ưu tiên, một mô hình quyết định hai chiều dưới 35ms được huấn luyện bằng RLCD mang lại hiệu năng nhanh gấp 7,8 lần so với các giải pháp độc quyền, không ảo giác, định tuyến ngôn ngữ toàn cầu và điểm tin cậy trung thực mà bạn thực sự có thể dùng để rẽ nhánh trong mã sản xuất.
Và điều tuyệt vời nhất: nó hoàn toàn mã nguồn mở cho toàn bộ cộng đồng.

