# Privatemode biến GLM-5.3-Flash thành mô hình ra quyết định có cấu trúc chỉ với một lần suy luận

- Nguồn: Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung)
- Thời gian phát hành: 2026-09-27 18:32 (giờ Việt Nam)
- Điểm AI: 67/100
- Link AIHOT.vn: https://aihot.vn/items/d0201a285538ef11
- Nguồn dữ liệu AI HOT: https://aihot.news/items/cmujrs8b40uo9ro9h3fuuyn6w
- Link gốc: https://www.privatemode.ai/blog/system-one-from-glm-flash

## Tóm tắt AI

Nhóm Privatemode giới thiệu kỹ thuật không cần tinh chỉnh, tận dụng log probability của GLM-5.3-Flash để thực hiện các quyết định có kiểu dữ liệu cụ thể chỉ trong một lần forward pass.

## Thân bài

![Turn GLM-5.3-Flash into a Jev-like System One model](https://www.privatemode.ai/og/ad-W6Z1ZCF7ETN3t_Privatemode_OG_Image.jpg)

![](https://www.privatemode.ai/_next/image?url=%2Fimages%2FagISS6YofJOwHGDr_Frame2147227814.png&w=3840&q=100&dpl=dpl_49MA4AsZg1o2f2ZF4dwb1Mw4ciPt)

24 tháng 9, 2026

Các quyết định có định dạng (typed decisions) kèm xác suất cho mọi tùy chọn, chỉ trong một lần truyền tiến (forward pass): đạt độ chính xác và tốc độ tương đương Jev với một LLM.

Johannes Hötter

Phó chủ tịch phụ trách Tăng trưởng

![Marko Rosenmüller](https://www.privatemode.ai/_next/image?url=%2Fimages%2FafoORcBOoF08xonG_marko.jpg&w=828&q=85&dpl=dpl_49MA4AsZg1o2f2ZF4dwb1Mw4ciPt)

Tiến sĩ Marko Rosenmüller

Trưởng nhóm Kỹ thuật AI

Tóm tắt: Trong bài viết này, chúng tôi trình bày cách một LLM thương mại có sẵn có thể đưa ra các quyết định có định dạng chỉ trong một lần truyền tiến. Phương pháp này giúp biến một LLM thành mô hình ra quyết định giống như Jev.

Chúng tôi đánh giá phương pháp này bằng cách sử dụng GLM-5.3-Flash chạy trên [Privatemode](https://www.privatemode.ai/). Sử dụng bộ tiêu chuẩn đánh giá (benchmark) xây dựng từ các tập dữ liệu công khai, chúng tôi chứng minh rằng thiết lập này mang lại kết quả ngang bằng với [Jev của TypeSafe](https://docs.typesafe.ai/models) về độ chính xác/đúng đắn của quyết định và tốc độ.

Điểm cộng là thiết lập với GLM-5.3-Flash cho phép thực hiện các quyết định có định dạng trên hình ảnh, điều mà Jev không làm được.

Cách thức hoạt động | Playground | Benchmark

### Tại sao cần các quyết định có định dạng

Phần lớn những gì phần mềm yêu cầu LLM thực hiện là một quyết định. "Nhóm nào nên xử lý phiếu yêu cầu này?", hoặc "Điều khoản hợp đồng này có thuộc phần trách nhiệm pháp lý không?".

Trong những trường hợp như vậy, phần mềm thường yêu cầu phản hồi của LLM phải tuân theo một định dạng nhất định như JSON và nằm trong một tập hợp được xác định trước như "có" và "không".

Với các chỉ dẫn phù hợp, LLM thường đã có thể thực hiện điều này một cách đáng tin cậy. Tuy nhiên, với phương pháp cơ bản, tốc độ và chi phí trở thành vấn đề: Đối với mỗi quyết định, LLM cần viết toàn bộ đối tượng JSON, và một mô hình suy luận có thể phải "suy nghĩ" hàng trăm token trước đó. Hơn nữa, bạn cũng không biết được độ tự tin của mô hình (trừ khi bạn yêu cầu rõ ràng). Tất cả những khía cạnh này rất quan trọng trong thực tế và cho đến nay đã ngăn cản việc sử dụng LLM để ra quyết định trong các kịch bản có lưu lượng/tần suất cao.

Các mô hình ra quyết định chuyên biệt (hay mô hình "System One") như Jev và [Laya](https://huggingface.co/convaiinnovations/laya) được thiết kế để giải quyết vấn đề này. Bạn truyền vào một trạng thái và một tập hợp các tùy chọn có tên, sau đó nhận lại tùy chọn đã chọn cùng với giá trị độ tự tin (tức là xác suất) cho mỗi tùy chọn.

### Biến LLM thành mô hình ra quyết định

Ban đầu, chúng tôi tự hỏi liệu một LLM có thể được chuyển đổi thành mô hình ra quyết định với các đặc tính giống Jev hay không. Câu trả lời ngắn gọn là: "Có". Dưới đây, chúng tôi sẽ trình bày cách thực hiện.

Để hiểu phương pháp của chúng tôi, điều quan trọng là phải hiểu cách LLM hoạt động:

Một LLM không bao giờ viết văn bản trực tiếp. Với một câu lệnh (prompt), LLM xuất ra một phân phối xác suất trên toàn bộ từ vựng token của nó. Trong tạo văn bản, trường hợp đơn giản nhất, token có xác suất cao nhất được chọn làm token tiếp theo. Token được chọn sau đó được thêm vào câu lệnh và toàn bộ quá trình lặp lại. Như đã mô tả ở trên, điều này tốn kém và chậm nếu bạn chỉ muốn thiết lập một vài trường trong đối tượng JSON.

Thông tin cốt lõi của chúng tôi là không cần thiết phải để LLM dự đoán toàn bộ đối tượng JSON, vì chúng ta đã biết hình dạng của nó. Chúng ta chỉ quan tâm đến đánh giá có định dạng của LLM cho một đầu vào nhất định.

Chúng tôi nhận ra rằng có thể tạo các câu lệnh để nhận được đánh giá có định dạng trong một lần chạy duy nhất của LLM — không cần tinh chỉnh (fine-tuning), trên chính mô hình nguyên bản. Đây là điểm khác biệt so với Jev và Laya, vốn là các mô hình được huấn luyện cho mục đích này. Các bước cơ bản như sau:

1. Đánh số các tùy chọn. Trạng thái, câu hỏi và các tùy chọn đầu ra được đưa vào câu lệnh dưới dạng JSON, với một chỉ số (index) cho mỗi tùy chọn. Chỉ dẫn yêu cầu mô hình trả lời bằng `choice_index:` theo sau là một chỉ số.
2. Điền trước câu trả lời (Prefill). Câu lệnh kết thúc bằng `choice_index:`. Do đó, token đầu tiên mà mô hình tạo ra sẽ là một chỉ số trong các tùy chọn đã xác định trước.
3. Đánh giá đầu ra. Thay vì đọc token mà mô hình phát ra, chúng tôi đọc các xác suất mà nó gán cho tất cả các chỉ số tùy chọn tại vị trí đó. Sau khi chuẩn hóa trên các tùy chọn, chúng cung cấp xác suất cho mỗi câu trả lời, và chúng tôi chỉ cần chọn tùy chọn có xác suất cao nhất.

Chúng tôi đã triển khai các bước trên cho GLM-5.3-Flash chạy trên vLLM (trong Privatemode). Chúng tôi sử dụng endpoint `/chat/completions` với `continue_final_message` và `add_generation_prompt: false`, vì chúng cho phép mô hình tiếp tục lượt trợ lý đã điền trước từ bước 2 thay vì bắt đầu một lượt mới. Chúng cũng cho phép chúng tôi truyền hình ảnh bên cạnh văn bản, điều này giúp các quyết định có định dạng trên hình ảnh trở nên khả thi.

Đối với vLLM và GLM-5.3-Flash, chúng tôi nhận thấy các chi tiết sau là quan trọng:

1. `allowed_token_ids` của vLLM có thể được sử dụng để giới hạn từ vựng đầu ra của LLM chỉ trong các tùy chọn cho phép. Nó loại bỏ mọi token khác về -inf. Chúng tôi đã thiết lập nó, nhưng đây là một biện pháp bảo vệ hơn là một yêu cầu bắt buộc.
2. `top_logprobs` là không đủ cho bước 3. Nó báo cáo phân phối trước khi áp dụng hạn chế, vì vậy các token định dạng như khoảng trắng dẫn đầu chiếm các vị trí hàng đầu, và một số tùy chọn bị loại khỏi danh sách và có vẻ như có xác suất bằng 0. `logprob_token_ids` của vLLM giải quyết vấn đề này: nó trả về log xác suất chính xác của các token id mà bạn yêu cầu.
3. Các token id của chỉ số phụ thuộc vào bộ tách từ (tokenizer) của mô hình. Các chữ số không phải lúc nào cũng là một token đơn lẻ. Ví dụ, GLM-5.3-Flash có một token duy nhất cho "12". Thay vì cung cấp một tokenizer dành riêng cho mô hình, thư viện lấy các token id từ máy chủ, giúp việc sử dụng với bất kỳ mô hình nào trở nên đơn giản: gửi câu lệnh đến `/completions` với `echo` sẽ trả về chính xác cách tách token của mô hình đang phục vụ.

Bạn có thể tìm thấy bản triển khai của chúng tôi trong kho lưu trữ dưới đây.

[edgelesssys/privatemode-decisions](#L1) Thư viện Python: token oracle, câu lệnh, tạo mặt nạ và chuẩn hóa lại, áp dụng cho bất kỳ endpoint nào hỗ trợ vLLM.

### Thử nghiệm

Playground bên dưới chạy GLM-5.3-Flash được truy vấn với thiết lập trên trong Privatemode, trực tiếp từ trình duyệt của bạn. Chọn một trong các ví dụ, bao gồm hóa đơn đã quét và câu hỏi phụ thuộc vào giờ địa phương của bạn, hoặc viết câu hỏi của riêng bạn và thêm hình ảnh. Mỗi câu trả lời được trả về dưới dạng phân phối trên các tùy chọn của nó, thường trong vòng vài trăm mili giây.

Phân phối thường rất hữu ích, ví dụ: để quyết định xem có nên bao gồm sự can thiệp của con người (human-in-the-loop) hay không. Mô hình giải quyết hầu hết các câu hỏi mẹo kinh điển, nhưng không phải tất cả.

### Kết quả Benchmark

Chúng tôi đã đánh giá phương pháp của mình bằng một benchmark tùy chỉnh, có sẵn trong kho lưu trữ dưới đây.

[edgelesssys/privatemode-decisions-benchmark](#L1) Benchmark: phương pháp luận, thông số tập dữ liệu cố định, bộ công cụ và tổng hợp. Mọi con số trong bài viết này đều có thể được tính toán lại từ đó.

Chúng tôi đã so sánh ba hệ thống trên 29 tập dữ liệu công khai có nhãn: GLM-5.3-Flash được lưu trữ trên Privatemode và truy vấn bằng kỹ thuật trên, Jev của TypeSafe và Laya của Convai.

Các tập dữ liệu có từ 2 đến 151 tùy chọn và bao gồm định tuyến ý định, cảm xúc, phân loại chủ đề, kiểm duyệt, suy luận logic, trả lời câu hỏi, văn bản pháp lý và tài liệu quét. Cả văn bản tiếng Anh và tiếng Đức đều được bao gồm trong kho dữ liệu. Cả ba hệ thống đều nhận cùng một trạng thái, cùng tên tùy chọn theo cùng thứ tự và cùng một chỉ dẫn.

Chúng tôi đã chạy mỗi tập dữ liệu hai lần. Ngay cả ở nhiệt độ (temperature) 0, GLM-5.3-Flash và Jev của chúng tôi vẫn thay đổi tới 3,5% câu trả lời giữa các lần chạy giống hệt nhau: nhiệt độ 0 loại bỏ tính ngẫu nhiên từ việc lấy mẫu, nhưng việc xử lý theo lô (batching) và số học dấu phẩy động vẫn khiến một lần truyền tiến trên máy chủ bận rộn không thể tái lập bit chính xác. Do đó, chúng tôi coi những khác biệt nhỏ hơn là nhiễu.

Chúng tôi đã chạy Jev và Laya với các cài đặt mặc định và không tinh chỉnh prompt của mình trên các tập dữ liệu này.

_Bài gốc còn tiếp._ Xem tiếp tại: <https://www.privatemode.ai/blog/system-one-from-glm-flash>
