Trọng tâm: Prompting, augmentation, unlabeled data và viết lại chiến lược.
Thời gian: 40 phút đọc, 15 phút viết lại.
Mục tiêu cần hiểu
Hiểu cách dùng embeddings như lookup table để tìm ví dụ gần nhau.
So sánh fine-tuning vanilla Transformer với các cách tận dụng dữ liệu không nhãn.
Nắm language model fine-tuning trước classifier fine-tuning có thể giúp domain adaptation.
Tự viết lại được playbook xử lý bài toán NLP khi có rất ít hoặc không có nhãn.
Câu hỏi dẫn đường
Prompting giúp gì khi không có nhãn?
Unlabeled data vẫn có giá trị như thế nào?
Tôi sẽ chọn chiến lược nào nếu chỉ có 100 nhãn?
Ghi chú trong khi đọc
Fine-Tuning a Language Model: khi có ít hoặc chưa có nhãn nhưng có nhiều text cùng domain, có thể fine-tune pretrained language model trên unlabeled corpus trước khi fine-tune classifier.
Language Model Fine-Tuning khác classifier fine-tuning: LM fine-tuning học phân phối ngôn ngữ/domain bằng objective tự giám sát; classifier fine-tuning học mapping input → label bằng dữ liệu gán nhãn.
Luồng dễ nhớ: pretrained model chung → fine-tune trên unlabeled domain text → domain-adapted model → fine-tune classifier bằng ít labeled examples.
Lợi ích chính là Domain Adaptation: model quen với thuật ngữ, phong cách câu, lỗi gõ, cách người dùng mô tả vấn đề trong domain thật.
Rủi ro: nếu corpus domain nhỏ/nhiễu hoặc fine-tune quá mạnh, model có thể overfit hoặc quên bớt năng lực tổng quát; vẫn cần validation có nhãn để kiểm tra downstream.
Fine-Tuning a Classifier: khi đã có labeled examples, model cần học decision boundary giữa các label qua classification objective chứ không chỉ học phân phối text.
Classifier Fine-Tuning là bước biến representation thành dự đoán nhãn cụ thể. Trong intent detection, nó học phân biệt refund_request với billing_issue, chứ không chỉ học ngôn ngữ của support tickets.
Với rất ít nhãn, classifier fine-tuning nên đến sau baseline/zero-shot/embedding lookup, và thường hưởng lợi nếu encoder đã qua Language Model Fine-Tuning trên domain corpus.
Điểm cần canh là overfitting: train loss có thể xuống nhanh nhưng validation nhỏ làm metric rất nhiễu, nên cần training slices và eval set đủ đại diện.
Working with Large Datasets: khi nhãn ít nhưng unlabeled text rất nhiều, bottleneck chuyển từ “thiếu dữ liệu” sang “xử lý dữ liệu thế nào cho kịp và không nổ RAM”.
Working with Large Datasets nhấn mạnh rằng lượng dữ liệu lớn chỉ có ích nếu pipeline tốt: lọc dữ liệu, tokenize theo batch, cache preprocessing và tránh ép mọi thứ thành Python list trong bộ nhớ.
Với Hugging Face, Datasets phù hợp vì có thể map(..., batched=True), cache transform và hỗ trợ xử lý memory-efficient hơn cách đọc toàn bộ dataset thủ công.
Ý quan trọng: trong chapter này, large datasets chủ yếu hữu ích để làm Language Model Fine-Tuning, representation learning hoặc pseudo-labeling, chứ không phải cứ nhiều text là classifier tự mạnh lên.
Viết lại bằng lời của tôi
Language model fine-tuning giống như cho model đọc thêm dữ liệu thật của domain trước khi bắt nó phân loại. Nó chưa học nhãn, nhưng học cách domain đó dùng từ và cấu trúc câu, nên classifier sau đó có nền tốt hơn khi nhãn ít.
Classifier fine-tuning là lúc model thật sự học “nhãn nào khác nhãn nào”. Nếu LM fine-tuning giúp model quen domain, thì classifier fine-tuning giúp nó đưa ra quyết định đúng theo taxonomy của sản phẩm.
Làm việc với tập dữ liệu lớn thực chất là bài toán data pipeline: text nhiều không đủ, phải xử lý sao để model hấp thụ được mà không bị nghẽn ở bước đọc, tokenize và batch.
Điều chưa rõ
Chapter 09 chốt lại rằng nếu dữ liệu nhãn ít, vấn đề chính thường là chiến lược tận dụng tín hiệu chứ không phải chọn model lớn hơn ngay.