Bạn có một bài toán phân loại hình ảnh nhưng chỉ có 500 ảnh dữ liệu. Bạn muốn xây dựng chatbot cho lĩnh vực y tế nhưng không đủ ngân sách để thu thập hàng triệu cuộc hội thoại. Đây là tình huống mà hầu hết các kỹ sư học máy thực tế phải đối mặt — dữ liệu luôn là tài nguyên khan hiếm. Học chuyển giao (Transfer Learning) ra đời để giải quyết chính xác vấn đề này, và ngày nay nó là kỹ thuật không thể thiếu trong bộ công cụ của mọi người làm AI.
Tại Sao Học Chuyển Giao Lại Hoạt Động?
Để hiểu tại sao transfer learning hiệu quả, hãy nghĩ về cách con người học. Khi bạn đã biết lái xe ô tô, việc học lái xe tải nhẹ dễ hơn rất nhiều so với người chưa từng ngồi sau vô lăng. Kiến thức về điều khiển, phanh, quan sát đường — tất cả đều có thể “chuyển giao” sang nhiệm vụ mới.
Mạng nơ-ron học theo cách tương tự. Một mô hình được huấn luyện trên ImageNet với 14 triệu hình ảnh sẽ học được các đặc trưng tổng quát ở các lớp đầu: phát hiện cạnh, góc, kết cấu, màu sắc, hình dạng đơn giản. Các lớp sâu hơn học các đặc trưng phức tạp hơn: tai, mắt, mũi, bánh xe, cửa sổ. Những đặc trưng này không chỉ hữu ích cho bài toán phân loại ImageNet — chúng hữu ích cho hầu hết bài toán thị giác máy tính.
Ba Chiến Lược Transfer Learning
1. Trích Xuất Đặc Trưng (Feature Extraction)
Đây là cách tiếp cận bảo thủ nhất. Bạn “đóng băng” (freeze) toàn bộ mô hình pretrained — không cho phép cập nhật các trọng số — và chỉ thêm một vài lớp mới ở cuối để huấn luyện. Mô hình pretrained hoạt động như một “bộ trích xuất đặc trưng” cố định, biến ảnh thành vector đặc trưng có ý nghĩa, rồi lớp phân loại mới của bạn học cách dùng các đặc trưng đó.
Phù hợp khi: Dữ liệu của bạn rất ít (dưới 500 mẫu), hoặc miền dữ liệu tương tự với dữ liệu pretrained.
2. Fine-tuning (Tinh Chỉnh)
Bạn “mở khóa” (unfreeze) một phần hoặc toàn bộ mô hình và huấn luyện lại với learning rate rất nhỏ. Thường thì chỉ mở khóa các lớp cuối (gần đầu ra) vì chúng chứa đặc trưng đặc thù hơn, trong khi các lớp đầu giữ nguyên vì chúng học các đặc trưng tổng quát có giá trị hơn.
Phù hợp khi: Bạn có vài nghìn đến vài chục nghìn mẫu, hoặc miền dữ liệu khác biệt so với pretrained.
3. Prompt Tuning và LoRA (Kỹ Thuật Hiện Đại)
Với các mô hình ngôn ngữ lớn (LLM) có hàng tỷ tham số, ngay cả fine-tuning toàn bộ cũng quá tốn kém. Prompt tuning thêm một số “token ảo” có thể học vào đầu vào, trong khi LoRA (Low-Rank Adaptation) thêm các ma trận nhỏ có thể huấn luyện song song với các trọng số đã đóng băng. Chỉ cần 0.1-1% số tham số của mô hình gốc nhưng vẫn đạt hiệu quả gần bằng full fine-tuning.
Ví Dụ Thực Tế: Fine-tuning BERT với Tiếng Việt
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import TrainingArguments, Trainer
import torch
# Tải mô hình pretrained - đã được huấn luyện trên hàng tỷ từ
# PhoBERT - mô hình BERT được tối ưu cho tiếng Việt
model_name = "vinai/phobert-base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
# Thêm lớp phân loại cho bài toán của chúng ta (2 lớp: tích cực/tiêu cực)
model = AutoModelForSequenceClassification.from_pretrained(
model_name,
num_labels=2 # Tích cực hoặc tiêu cực
)
def tokenize_function(examples):
# Chuyển văn bản thành token ID mà mô hình hiểu được
return tokenizer(
examples["text"],
padding="max_length",
truncation=True,
max_length=256
)
# Cấu hình huấn luyện với learning rate nhỏ - quan trọng!
# Learning rate lớn có thể phá hủy kiến thức đã học từ pretrained
training_args = TrainingArguments(
output_dir="./sentiment_model",
num_train_epochs=3, # Chỉ cần 3 epoch
per_device_train_batch_size=16,
learning_rate=2e-5, # Nhỏ hơn 10-100 lần so với training từ đầu
warmup_steps=500, # Tăng dần learning rate để ổn định
weight_decay=0.01, # Regularization chống overfitting
evaluation_strategy="epoch",
save_strategy="epoch",
load_best_model_at_end=True,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset, # Chỉ cần vài nghìn mẫu
eval_dataset=eval_dataset,
)
# Bắt đầu fine-tuning
trainer.train()
Cần Bao Nhiêu Dữ Liệu? Hướng Dẫn Thực Tế
- Zero-shot (0 mẫu): Dùng trực tiếp mô hình lớn như GPT-4 hoặc Claude với prompt tốt. Hiệu quả với các bài toán phổ biến mà mô hình đã học trong quá trình pretrain.
- Few-shot (10-100 mẫu): Đủ để prompt engineering hiệu quả. Với LLM, bạn có thể đưa vài ví dụ vào prompt để hướng dẫn mô hình.
- Fine-tuning nhỏ (100-10,000 mẫu): Phù hợp cho feature extraction hoặc fine-tuning lớp cuối. Đây là “sweet spot” phổ biến nhất trong thực tế.
- Fine-tuning lớn (10,000-1,000,000 mẫu): Fine-tuning toàn bộ mô hình, phù hợp khi miền dữ liệu rất đặc thù.
- Training từ đầu (trên 1 triệu mẫu): Chỉ nên xem xét khi miền dữ liệu cực kỳ đặc thù và khác biệt hoàn toàn với bất kỳ dữ liệu pretrained nào.
Những Cạm Bẫy Phổ Biến Cần Tránh
Catastrophic Forgetting (Quên Thảm Khốc)
Khi fine-tuning với learning rate quá cao hoặc quá nhiều epoch, mô hình có thể “quên” kiến thức từ pretrained và chỉ nhớ dữ liệu fine-tuning mới. Kết quả là mô hình hoạt động tốt trên tập train nhưng tệ trên mọi thứ khác. Giải pháp: dùng learning rate nhỏ, ít epoch, và kỹ thuật regularization.
Domain Mismatch (Không Phù Hợp Miền Dữ Liệu)
Nếu mô hình pretrained và dữ liệu fine-tuning quá khác nhau, transfer learning sẽ kém hiệu quả. Ví dụ: fine-tuning mô hình ảnh tự nhiên cho ảnh X-quang y tế — phân phối dữ liệu khác biệt quá lớn. Giải pháp: tìm mô hình pretrained trong miền gần hơn, hoặc thêm bước trung gian “domain-adaptive pretraining”.
Overfitting Với Dữ Liệu Ít
Với tập fine-tuning nhỏ, mô hình dễ học thuộc lòng dữ liệu train. Luôn dùng validation set, early stopping, dropout, và data augmentation để ngăn ngừa.
Các Mô Hình Pretrained Hàng Đầu Năm 2026
- Ngôn ngữ: Llama 3, Mistral, Qwen, PhoBERT (cho tiếng Việt), mGPT (đa ngôn ngữ)
- Thị giác: ViT (Vision Transformer), CLIP, DINOv2, SAM (Segment Anything Model)
- Đa phương thức: LLaVA, Flamingo, InternVL — kết hợp văn bản và hình ảnh
- Âm thanh: Whisper (nhận dạng giọng nói), AudioCLIP
Học chuyển giao không chỉ là một kỹ thuật tiết kiệm dữ liệu — đó là cách tiếp cận thực tế và hiệu quả nhất để xây dựng AI trong thế giới thực, nơi dữ liệu có nhãn luôn khan hiếm và đắt đỏ. Nắm vững transfer learning, bạn sẽ có thể tạo ra các mô hình mạnh mẽ chỉ với một phần nhỏ tài nguyên so với training từ đầu — đây là lợi thế cạnh tranh thực sự trong thị trường AI hiện nay.