TROISINH
Chuyên sâuFine-tuning thực chiến

Instruction tuning là gì?

Hiểu sâu instruction tuning - kỹ thuật biến base model thành AI tuân lệnh thông minh qua cặp dữ liệu instruction-output, khác biệt với pre-training và RLHF.

Định nghĩa

Instruction tuning là phương pháp fine-tune mô hình ngôn ngữ lớn (LLM) bằng cách huấn luyện trên tập dữ liệu gồm các cặp (instruction, output) — tức là dạy AI hiểu và thực thi lệnh bằng ngôn ngữ tự nhiên thay vì chỉ dự đoán token tiếp theo như trong pre-training.

Giải thích chi tiết

Pre-training và khoảng cách đến ứng dụng thực tế

Pre-training dạy model ngữ pháp và kiến thức thế giới thông qua việc đọc hàng terabyte văn bản thô. Tuy nhiên, model sau pre-training chỉ là máy hoàn thành câu — nếu bạn nhập "Hà Nội là", model sẽ tiếp tục "thủ đô của Việt Nam" thay vì trả lời câu hỏi. Instruction tuning lấp đầy khoảng cách này bằng cách định dạng dữ liệu thành các bài tập tuân lệnh có giám sát (supervised learning).

Cấu trúc dữ liệu instruction

Dataset cho instruction tuning tuân theo template chuẩn: Instruction (lệnh) + Input (ngữ cảnh tùy chọn) → Output (phản hồi mong muốn). Ví dụ: Instruction là "Tóm tắt đoạn văn sau", Input là nội dung cần tóm tắt, Output là bản tóm tắt. Các template phổ biến bao gồm Alpaca, ShareGPT, và ChatML — mỗi format định nghĩa cách phân tách các trường để model nhận diện vai trò (user vs assistant).

Supervised Fine-Tuning (SFT)

Trong thực tế, instruction tuning thường được gọi là SFT. Quá trình này sử dụng cross-entropy loss giống pre-training, nhưng áp dụng chỉ trên phần Output của sequence. Learning rate thường thấp hơn 10-100 lần so với pre-training để tránh ghi đè kiến thức đã học (catastrophic forgetting). Epochs thường từ 1-3 do dữ liệu instruction chất lượng cao và ít hơn dữ liệu pre-training rất nhiều.

Mở rộng sang multi-turn conversation

Instruction tuning đơn thuần xử lý lệnh đơn lẻ (single-turn). Để tạo chatbot như ChatGPT, người ta mở rộng thành conversation format với các role: system (prompt ẩn định hình tính cách), user (câu hỏi), assistant (câu trả lời). Mỗi turn là một cặp instruction-output, được nối tiếp trong cùng context window để model học cách duy trì mạch lạc hội thoại.

Ví dụ thực tế

Tạo trợ lý y tế từ Llama-2: Một team startup y tế tại Việt Nam thu thập 50,000 cặp hội thoại bác sĩ-bệnh nhân dạng instruction: "Chẩn đoán: Bệnh nhân nữ 30 tuổi, đau đầu dữ dội vùng thái dương, buồn nôn → Migraine không aura". Sau SFT, model hiểu câu lệnh "Chẩn đoán" và trả về kết luận y khoa thay vì liệt kê các triệu chứng ngẫu nhiên.

Fine-tune cho kỹ thuật viên hệ thống: Công ty cung cấp dịch vụ cloud tạo dataset instruction từ log lỗi thực tế: "Giải thích lỗi 502 Bad Gateway trong Nginx và cách fix". Output là hướng dẫn kiểm tra upstream server. Model sau tuning có thể phân tích log và đề xuất lệnh sửa lỗi chính xác theo định dạng markdown có cấu trúc.

Dự án Alpaca tái hiện: Sinh viên nghiên cứu sử dụng 52,000 instruction generated từ GPT-3.5 (tuân thủ license) để fine-tune model 7B tham số trên máy local với VRAM 24GB. Dataset bao gồm đa dạng tác vụ: viết code Python, phân tích sentiment tiếng Việt, giải toán đại số — chứng minh instruction tuning có thể kích hoạt khả năng tuân lệnh tổng quát ngay cả với model nhỏ.

Ứng dụng

Developer xây dựng sản phẩm AI: Chuyển đổi base model (Mistral, Llama, Qwen) thành chatbot chuyên biệt có khả năng tuân theo instruction phức tạp như "Trả về kết quả dạng JSON với schema cụ thể" hoặc "Phân tích đoạn code và liệt kê 3 lỗi bảo mật có thể có". Điều này giảm đáng kể độ dài prompt engineering cần thiết cho người dùng cuối.

Doanh nghiệp cần AI nội bộ: Tạo assistant hiểu quy trình nghiệp vụ riêng như "Tạo báo cáo tài chính quý theo template của Công ty X" hoặc "Kiểm tra hợp đồng có điều khoản bất lợi cho bên A không". Instruction tuning giúp nhân viên tương tác với hệ thống legacy qua ngôn ngữ tự nhiên thay vì học giao diện phần mềm phức tạp.

Researcher và kỹ sư ML: Kết hợp instruction tuning với LoRA để thử nghiệm nhanh trên consumer GPU, hoặc nghiên cứu các kỹ thuật giảm hallucination trong SFT như sử dụng chuỗi suy luận (chain-of-thought) trong output để dạy model "suy nghĩ" trước khi trả lời.

So sánh

Đặc điểmPre-trainingInstruction TuningRLHF
Mục tiêuHọc biểu diễn ngôn ngữ và kiến thức thế giớiHọc tuân theo lệnh ngôn ngữ tự nhiênHọc sở thích và giá trị an toàn
Dữ liệuVăn bản thô, unlabeled (web, sách)Cặp (instruction, output) có cấu trúcDữ liệu so sánh (ranking A>B)
Nguồn dữ liệuThu thập tự độngViết tay hoặc GPT-generatedFeedback từ human labeler
Kết quảBase model (ví dụ: Llama-2-7b)Instruct model (ví dụ: Llama-2-7b-chat)Aligned model (ví dụ: ChatGPT)
Chi phí tính toánCao (cần cluster GPU)Trung bình (có thể chạy trên 1-2 GPU)Rất cao (cần infrastructure đánh giá)

Instruction tuning là cầu nối bắt buộc giữa kiến thức thô và ứng dụng thực tế. Không có bước này, dù model có học hết Wikipedia, nó vẫn chỉ là máy dự đoán từ vô hồn chứ không phải trợ lý thông minh có thể điều khiển được.

Bài viết liên quan

Cùng cụm (Fine-tuning thực chiến):

  • Fine-tuning là gì? — Nền tảng tổng quan về fine-tuning trước khi đi sâu vào định dạng instruction.
  • Khi nào nên fine-tune — Xác định liệu instruction tuning có phải giải pháp đúng cho bài toán của bạn hay không.
  • LoRA là gì? — Kỹ thuật tiết kiệm VRAM để chạy instruction tuning trên phần cứng giới hạn.
  • RLHF là gì? — Bước tinh chỉnh cao cấp sau instruction tuning để tạo AI an toàn và hữu ích hơn.

Đọc tiếp:

On this page