Làm Cùng Long.
Quay lại Kho ghi chú
Automation & AI Workflow · 13 phút đọc ·

dLLM-SetScore: Phân loại đa nhãn không cần fine-tune

Trả lời nhanh: dLLM-SetScore là phương pháp dùng mô hình ngôn ngữ diffusion rời rạc để phân loại văn bản đa nhãn mà không fine-tune theo tác vụ. Hệ thống hỏi riêng từng nhãn bằng một câu Yes/No có một masked token, so xác suất hai đáp án rồi áp threshold đã hiệu chỉnh để quyết định nhãn nào phù hợp.

Cập nhật lần cuối: 21/08/2026

Một email hỗ trợ có thể đồng thời thuộc các nhãn “thanh toán”, “hoàn tiền” và “khách hàng có nguy cơ rời bỏ”. Một bài viết có thể vừa nói về “AI”, “bảo mật” và “automation”. Đây là phân loại đa nhãn: mỗi mẫu không chỉ có một đáp án đúng.

Cách quen thuộc là fine-tune một classifier, dùng mô hình NLI để kiểm tra entailment hoặc yêu cầu LLM sinh danh sách nhãn. dLLM-SetScore đề xuất một hướng khác: dùng xác suất tại masked token của discrete diffusion language model để chấm điểm từng nhãn độc lập.

Kết quả đáng quan tâm không chỉ nằm ở metric. Nghiên cứu phát hiện rằng gom tất cả nhãn vào một prompt có thể tạo sai lệch vị trí cực lớn. Trên hai tập dữ liệu, slot trả lời đầu tiên bị dự đoán dương tính ở mức 99,4% và 100%. Điều này cho thấy một hệ thống nhìn có vẻ thông minh có thể chỉ đang phản ứng với vị trí trong prompt.

dLLM-SetScore là gì?

dLLM-SetScore là phương pháp phân loại văn bản đa nhãn không fine-tune theo tác vụ, sử dụng discrete masked-diffusion language model để chấm riêng từng nhãn. Mỗi candidate label được chuyển thành một câu hỏi Yes/No với một vị trí bị mask; chênh lệch xác suất giữa hai token đáp án tạo thành score cho nhãn.

Phương pháp do Pawan Kumar trình bày trong bài Discrete Diffusion Language Models Are Training-Free Multi-Label Classifiers, được chấp nhận tại SIAM SDM 2026.

Thuộc tínhdLLM-SetScore
Đầu vàoVăn bản và danh sách nhãn ứng viên
Đơn vị chấmMột câu hỏi Yes/No cho mỗi nhãn
Tín hiệuXác suất token Yes so với No tại cùng masked slot
Huấn luyện theo tác vụKhông fine-tune model
Hiệu chỉnhDùng 200 mẫu validation có nhãn
OutputTập nhãn vượt threshold
Mô hình thử nghiệmLLaDA-8B và Dream-7B
Số bộ dữ liệu đánh giá6 bộ dữ liệu

Từ “training-free” cần được hiểu chính xác: model không được fine-tune cho từng dataset và không cần huấn luyện trên tập textual entailment. Nhưng quy trình vẫn dùng dữ liệu validation có nhãn để chọn prompt, temperature và threshold.

Mô hình ngôn ngữ diffusion rời rạc là gì?

Mô hình ngôn ngữ tự hồi quy tạo token từ trái sang phải. Token sau phụ thuộc vào các token đã tạo trước đó.

Discrete diffusion language model đi theo hướng khác. Nó thường bắt đầu từ một chuỗi bị mask hoặc nhiễu rồi lặp lại quá trình khôi phục token. Mô hình học cách dự đoán token phù hợp tại các vị trí chưa biết dựa trên context xung quanh.

Đặc điểm masked prediction tạo ra một khả năng hữu ích cho phân loại: đặt một token đáp án ở vị trí cố định, sau đó đọc phân phối xác suất của các đáp án có thể có mà không cần sinh một đoạn văn dài.

dLLM-SetScore tận dụng đúng khả năng này. Nó không yêu cầu model tự viết danh sách nhãn, vốn có thể sai format, bỏ nhãn hoặc tạo nhãn ngoài taxonomy.

dLLM-SetScore hoạt động như thế nào?

Giả sử văn bản cần phân loại là:

Tôi đã bị trừ tiền hai lần và muốn được hoàn lại khoản dư.

Taxonomy gồm billing, refund, technical_issueaccount_access.

Với mỗi nhãn, hệ thống tạo một prompt tương đương:

Văn bản trên có thuộc nhãn billing không? [MASK]

Tại vị trí [MASK], model cho xác suất của token Yes và No. Một score có thể được tạo từ log probability hoặc log-odds giữa hai đáp án. Sau đó score được hiệu chỉnh và so với threshold của nhãn.

Quy trình gồm sáu bước:

  1. Chuẩn hóa taxonomy để mỗi nhãn có tên và mô tả rõ.
  2. Tạo cùng một template Yes/No cho mọi nhãn.
  3. Đặt từng nhãn vào đúng một vị trí cú pháp để tránh positional bias.
  4. Lấy xác suất Yes và No tại masked token.
  5. Hiệu chỉnh score và threshold trên validation slice.
  6. Trả tập nhãn vượt ngưỡng thay vì ép chọn một nhãn duy nhất.

Vì từng nhãn được hỏi riêng, thứ tự của danh sách nhãn không làm thay đổi vị trí cú pháp của câu trả lời.

Vì sao hỏi tất cả nhãn trong một prompt có thể sai?

Một thiết kế tưởng như tiết kiệm là đưa toàn bộ candidate labels vào một prompt và yêu cầu model điền chuỗi Yes/No tương ứng. Nhưng các slot không được đối xử giống nhau.

Nghiên cứu báo cáo:

  • slot đầu tiên bị dự đoán positive trên 99,4% mẫu GoEmotions;
  • slot đầu tiên bị dự đoán positive trên 100% mẫu Reuters;
  • thay đổi thứ tự nhãn có thể đổi prediction dù văn bản không đổi.

Đây là slot-position asymmetry. Model không chỉ đánh giá nội dung mà còn phản ứng với vị trí của đáp án trong chuỗi.

dLLM-SetScore tránh artifact bằng cách đặt mỗi label trong một prompt riêng có cấu trúc giống hệt nhau. Nhờ đó, prediction có tính permutation invariance: hoán đổi thứ tự label trong danh sách không làm thay đổi score từng label.

Bài học rộng hơn cho prompt engineering

Một output đúng format không chứng minh model đang dùng đúng tín hiệu. Khi prompt chứa nhiều slot tương tự, cần kiểm tra:

  • đổi thứ tự item có đổi kết quả không;
  • đổi tên nhãn nhưng giữ nghĩa có đổi score không;
  • thêm một nhãn không liên quan có ảnh hưởng nhãn khác không;
  • vị trí đầu và cuối có tỷ lệ positive khác nhau không;
  • output có ổn định qua nhiều template tương đương không.

Invariance test nên là một phần của eval, không phải kiểm tra tùy chọn sau khi hệ thống đã deploy.

“Không cần huấn luyện” có thực sự không cần dữ liệu?

Không. dLLM-SetScore không fine-tune trọng số model cho task, nhưng vẫn sử dụng 200 mẫu validation có nhãn để chọn:

  • prompt wording;
  • temperature;
  • global hoặc per-label threshold;
  • cấu hình phù hợp cho dataset.

Vì vậy, cách gọi chính xác hơn trong ngữ cảnh triển khai là không fine-tune theo tác vụ hoặc không huấn luyện lại model, thay vì “zero-data”.

Sự phân biệt này quan trọng về chi phí:

Hạng mụcCó cần không?
Huấn luyện trọng số modelKhông
GPU training task-specificKhông
Taxonomy nhãn
Validation có nhãn
Chọn threshold
Eval trên test độc lập
Theo dõi drift production

Nếu không có validation đại diện, threshold có thể quá cao cho nhãn hiếm hoặc quá thấp cho nhãn phổ biến.

Nghiên cứu đã đánh giá dLLM-SetScore ra sao?

Tác giả đánh giá LLaDA-8B và Dream-7B trên 6 bộ dữ liệu, so với NLI model, autoregressive LLM, SetFit và supervised classifier.

Trên năm dataset chung cho cả hai diffusion family:

  • Instruct checkpoint cải thiện macro-F1 trong 9/10 phép so sánh;
  • cải thiện micro-F1 trong 8/10 phép so sánh;
  • LLaDA-Instruct đạt kết quả training-free cao nhất trong protocol của nghiên cứu trên Reuters và ECtHR;
  • một thử nghiệm Joint Set Refinement làm F1 giảm và được giữ lại như negative result.

Negative result có giá trị vì nó chống lại trực giác rằng xử lý tương tác giữa các nhãn luôn tốt hơn chấm độc lập. Một bước refinement phức tạp hơn có thể khuếch đại bias thay vì sửa nó.

Các con số trên chỉ đúng trong protocol, model và dataset của bài báo. Không nên suy rộng rằng dLLM luôn tốt hơn supervised classifier hoặc mọi LLM tự hồi quy.

dLLM-SetScore khác các phương pháp phổ biến thế nào?

Phương phápCần fine-tuneKiểm soát taxonomyChi phí inferenceRủi ro chính
Supervised classifierCaoThấp sau trainingCần nhiều dữ liệu, retrain khi taxonomy đổi
NLI-based zero-shotKhông theo task đíchCaoTăng theo số nhãnPhụ thuộc NLI training và hypothesis template
Generative LLMKhông bắt buộcTrung bìnhMột hoặc vài lần gọiSai format, bỏ nhãn, hallucinate label
SetFitCó ít dữ liệuCaoThấpVẫn cần training pipeline
dLLM-SetScoreKhông fine-tuneCaoTăng theo số nhãnCần dLLM, threshold và nhiều lần scoring

dLLM-SetScore hấp dẫn khi taxonomy thay đổi, dữ liệu huấn luyện ít và doanh nghiệp đã có hạ tầng discrete diffusion model. Nhưng nó không mặc định rẻ hơn một classifier nhỏ đã được huấn luyện tốt.

Ứng dụng nào phù hợp với phân loại đa nhãn?

Gắn thẻ nội dung

Một bài Knowledge có thể thuộc đồng thời AI, Automation, Security và Data. Multi-label classification giúp tìm kiếm, internal linking và quản trị taxonomy.

Phân loại ticket hỗ trợ

Một ticket có thể vừa là billing, refund và churn risk. Tách nhãn giúp route nhiều workflow và gắn mức ưu tiên.

Phân tích phản hồi khách hàng

Một review có thể chứa cả chất lượng sản phẩm, giao hàng, giá và dịch vụ. Nhãn không loại trừ nhau phù hợp hơn single-label.

Kiểm duyệt nội dung

Một đoạn văn có thể vi phạm nhiều policy. Tuy nhiên, use case an toàn cần classifier chuyên biệt, calibration nghiêm ngặt và human review; không nên dựa duy nhất vào phương pháp nghiên cứu mới.

Phân loại truy vấn marketing

Một search query có thể mang intent tìm hiểu, so sánh và mua hàng cùng lúc. Multi-label output bảo toàn tín hiệu tốt hơn ép vào một tầng funnel duy nhất.

Cách đánh giá dLLM-SetScore trong một pilot

  1. Chốt taxonomy và định nghĩa nhãn với ví dụ dương, âm và trường hợp biên.
  2. Tạo validation slice độc lập có đủ nhãn hiếm và tổ hợp nhiều nhãn.
  3. Xây baseline đơn giản như logistic regression, SetFit hoặc LLM output có schema.
  4. Chạy dLLM-SetScore theo từng nhãn bằng template nhất quán.
  5. Tối ưu threshold trên validation nhưng không nhìn test set.
  6. Kiểm tra permutation invariance bằng cách xáo trộn label order.
  7. Đo macro-F1, micro-F1 và per-label recall thay vì chỉ accuracy.
  8. Đo latency, chi phí và throughput theo số lượng nhãn.
  9. Review lỗi với chuyên gia để phát hiện nhãn mơ hồ hoặc dataset leakage.
  10. Canary trên production với fallback và human escalation.

Nếu taxonomy có 100 nhãn, việc chấm từng nhãn có thể tạo 100 forward pass hoặc một chiến lược batching phức tạp. Pilot phải đo chi phí thật trước khi kết luận.

Những giới hạn quan trọng của dLLM-SetScore

Chi phí tăng theo số nhãn

Per-label scoring đổi lấy tính bất biến nhưng làm số lượt tính toán tăng gần tuyến tính với label set. Cần shortlist an toàn, batching hoặc phân cấp taxonomy để scale.

Threshold phụ thuộc domain

Ngưỡng tốt trên Reuters chưa chắc tốt cho ticket nội bộ. Khi prevalence thay đổi, calibration cũng có thể drift.

Candidate label phải được biết trước

Phương pháp không tự khám phá taxonomy mới. Nó chấm các nhãn đã được cung cấp.

Label không hoàn toàn độc lập

Chấm riêng tránh positional bias nhưng có thể bỏ quan hệ giữa nhãn, chẳng hạn hai nhãn loại trừ nhau hoặc một nhãn kéo theo nhãn khác. Joint refinement của nghiên cứu chưa giải quyết được vấn đề và thậm chí làm F1 giảm trong thử nghiệm.

Training-free không có nghĩa maintenance-free

Vẫn cần version prompt, calibration set, monitoring drift, audit prediction và rollback. Một workflow production phải đáp ứng các nguyên tắc trong bài xây dựng AI Agent production.

Bài học cho người xây AI Automation

Đo xác suất thay vì chỉ đọc câu trả lời

Output text thường che mất mức độ do dự. Khi API và model cho phép, score giữa candidate answers có thể hỗ trợ threshold, abstention và routing.

Kiểm tra tính bất biến trước benchmark lớn

Một test xáo trộn label rẻ nhưng có thể phát hiện lỗi kiến trúc nghiêm trọng. Đây là dạng invariant nên đưa vào CI của pipeline AI.

Tách model quality khỏi decision policy

Model cung cấp score; policy quyết định threshold, ưu tiên recall hay precision, khi nào chuyển người và hành động nào được kích hoạt.

Dùng model nhỏ khi bài toán đã ổn định

Nếu taxonomy ít thay đổi và có đủ dữ liệu, distill hoặc fine-tune một classifier nhỏ có thể rẻ hơn. Xem thêm Knowledge Distillation là gì?.

Theo dõi chi phí context và inference

Per-label prompting có thể tốn bộ nhớ và compute. Bài vì sao bộ nhớ LLM đắt đỏ giải thích các thành phần chi phí cần đo.

FAQ - Câu hỏi thường gặp về dLLM-SetScore

dLLM-SetScore có phải zero-shot hoàn toàn không?

Không theo nghĩa zero-data. Model không được fine-tune cho task, nhưng nghiên cứu dùng 200 mẫu validation có nhãn để chọn prompt, temperature và threshold.

Vì sao phải hỏi từng nhãn riêng?

Để mọi nhãn xuất hiện trong cùng một vị trí cú pháp. Cách này loại bỏ slot-position asymmetry và làm prediction không phụ thuộc vào thứ tự label.

Có thể dùng dLLM-SetScore với GPT thông thường không?

Phương pháp được thiết kế cho discrete masked-diffusion language model có khả năng trả phân phối tại masked token. Một autoregressive API thông thường không cung cấp đúng cơ chế giống nhau, dù có thể xây baseline log-prob theo cách khác.

dLLM-SetScore có thay thế classifier có giám sát không?

Không mặc định. Supervised classifier có thể nhanh và chính xác hơn khi có đủ dữ liệu ổn định. dLLM-SetScore đáng thử khi muốn tránh fine-tuning, taxonomy thay đổi hoặc cần baseline training-free.

Phương pháp có phù hợp với hàng nghìn nhãn không?

Không trực tiếp. Chi phí per-label scoring tăng nhanh. Cần candidate retrieval, taxonomy phân cấp hoặc shortlist, nhưng shortlist phải được đánh giá vì có thể đặt trần cho recall.

Metric nào quan trọng nhất cho multi-label classification?

Không có một metric duy nhất. Nên dùng macro-F1 để nhìn nhãn hiếm, micro-F1 cho hiệu quả tổng thể, per-label precision/recall và exact-match hoặc Hamming loss tùy use case.

Tóm lại

  • dLLM-SetScore chấm từng nhãn bằng xác suất Yes/No tại một masked token.
  • Phương pháp không fine-tune theo tác vụ nhưng vẫn dùng 200 mẫu validation có nhãn.
  • Per-label scoring khắc phục positional artifact lên tới 99,4% và 100% positive ở slot đầu trong hai dataset được báo cáo.
  • Nghiên cứu đánh giá 2 diffusion model trên 6 bộ dữ liệu và công bố cả negative result.
  • Giá trị thực tế lớn nhất là tính bất biến và khả năng kiểm soát threshold, nhưng chi phí tăng theo số nhãn.

Nguồn tham khảo

Lưu ý: đây là nghiên cứu mới. Hãy tái lập benchmark trên dữ liệu, taxonomy, model và hạ tầng thật trước khi dùng cho quyết định production.

Đọc tiếp