Thủ thuật
Hướng dẫn từ AllenAI: Xây dựng quy trình hậu huấn luyện Tulu 3 với SFT, DPO và GRPO
(giờ Việt Nam)
Tóm tắt AI
Hướng dẫn chi tiết cách tối ưu hóa quy trình hậu huấn luyện Tulu 3 trên phần cứng hạn chế (16GB VRAM), thay thế các thành phần phân tán phức tạp bằng công cụ nhẹ để thực hiện SFT, DPO và học tăng cường dựa trên xác thực (GRPO).
Bản dịch AI

Trong bài hướng dẫn này, chúng ta sẽ xây dựng một quy trình hậu huấn luyện (post-training) toàn diện cho một mô hình ngôn ngữ nhỏ gọn đã được tinh chỉnh theo hướng dẫn (instruction-tuned), sử dụng framework Open Instruct của AllenAI. Chúng ta sẽ đi qua ba giai đoạn huấn luyện chính: Tinh chỉnh có giám sát (Supervised Fine-Tuning), Tối ưu hóa ưu tiên trực tiếp (Direct Preference Optimization - DPO) và Học tăng cường với phần thưởng có thể kiểm chứng (Reinforcement Learning with Verifiable Rewards) sử dụng GRPO, đồng thời điều chỉnh cấu trúc Tulu 3 đa GPU gốc để phù hợp với môi trường runtime 16 GB. Chúng ta sẽ clone repository Open Instruct, chọn lọc các hàm loss và tiện ích gốc, cấu hình các LoRA adapter, chuẩn bị dữ liệu GSM8K cho từng giai đoạn huấn luyện và sử dụng các bộ kiểm chứng tất định (deterministic verifiers) để đánh giá các câu trả lời toán học được tạo ra. Trong suốt quy trình làm việc, chúng ta giữ nguyên logic tối ưu hóa cốt lõi của Open Instruct trong khi thay thế các thành phần phân tán như vLLM, Ray actors, DeepSpeed và hàng đợi rollout bất đồng bộ bằng các triển khai nhẹ của Hugging Face và PyTorch phù hợp với Colab.
Chúng ta cài đặt các phụ thuộc nhẹ cần thiết, clone repository Open Instruct và cấu hình môi trường Colab để thực thi ổn định. Chúng ta phát hiện chế độ độ chính xác GPU khả dụng và chọn autocasting FP16 hoặc BF16 dựa trên khả năng của phần cứng. Chúng ta cũng trích xuất trực tiếp các hàm DPO, GRPO, masking và log-probability gốc từ repository mà không cần import toàn bộ cấu trúc huấn luyện phân tán của nó.
Chúng ta định nghĩa một lớp cấu hình tập trung để kiểm soát mô hình, kích thước tập dữ liệu, tốc độ học (learning rate), cài đặt batch và các tham số tối ưu hóa cho mọi giai đoạn huấn luyện. Chúng ta khởi tạo tokenizer của Open Instruct trong khi vẫn bảo toàn chat template của mô hình và đảm bảo rằng các token padding và end-of-sequence được phân tách chính xác. Sau đó, chúng ta tokenize một đoạn hội thoại mẫu và trực quan hóa xem những token nào của trợ lý đóng góp vào loss của quá trình huấn luyện có giám sát.
Chúng ta tải GSM8K và chuyển đổi các câu hỏi và lời giải của nó thành định dạng hội thoại nhất quán cho việc huấn luyện SFT, DPO và RLVR. Chúng ta tạo ra các ví dụ có giám sát, các cặp ưu tiên với câu trả lời cuối cùng cố tình sai, và các prompt sẵn sàng cho bộ kiểm chứng với các nhãn ground-truth có cấu trúc. Chúng ta cũng khởi tạo các bộ kiểm chứng GSM8K, toán học và tuân thủ hướng dẫn của Open Instruct và sử dụng chúng để chấm điểm các phản hồi được tạo ra một cách tất định.
Chúng ta tải mô hình hướng dẫn Qwen, áp dụng LoRA adapter vào các lớp attention và feed-forward projection, đồng thời giới hạn việc tối ưu hóa vào các tham số adapter có thể huấn luyện. Chúng ta cấu hình thực thi mixed-precision, gradient scaling, gradient clipping, lập lịch tốc độ học và kích hoạt KV-cache tạm thời cho việc tạo văn bản. Sau đó, chúng ta đánh giá baseline chưa qua huấn luyện trên GSM8K bằng cách sử dụng greedy decoding và độ chính xác của câu trả lời dựa trên bộ kiểm chứng.
Chúng ta xây dựng một DataLoader SFT có đệm (padded) và huấn luyện các LoRA adapter trên các đoạn hội thoại GSM8K đã được tokenize bằng cách sử dụng gradient accumulation. Chúng ta tối ưu hóa mô hình với cross-entropy loss được tính toán chỉ trên các token phản hồi của trợ lý không bị che (unmasked). Chúng ta theo dõi loss huấn luyện và tốc độ học trong suốt giai đoạn này và đánh giá mô hình đã cập nhật sau khi tinh chỉnh có giám sát.
Chúng ta chia các phản hồi được chọn (chosen) và bị từ chối (rejected) thành các batch riêng biệt và tính toán log probability của chuỗi được chuẩn hóa theo độ dài bằng các tiện ích gốc của Open Instruct. Chúng ta so sánh chính sách LoRA đang hoạt động với chính sách tham chiếu cơ sở (base reference policy) đã đóng băng và tối ưu hóa mô hình bằng DPO loss của repository. Chúng ta theo dõi độ chính xác ưu tiên, biên độ phần thưởng (reward margins) và loss huấn luyện trước khi đo lường hiệu suất bộ kiểm chứng của mô hình sau DPO.
Chúng ta tạo nhiều phản hồi mẫu cho mỗi prompt, chấm điểm chúng bằng các bộ kiểm chứng tất định và tính toán lợi thế tương đối theo nhóm (group-relative advantages) từ phân phối phần thưởng của chúng. Chúng ta tối ưu hóa chính sách bằng logic GRPO và clipping kiểu DAPO của Open Instruct trong khi áp dụng response masks, tỷ lệ quan trọng (importance ratios) và KL regularization so với mô hình tham chiếu. Cuối cùng, chúng ta so sánh độ chính xác giữa các giai đoạn baseline, SFT, DPO và RLVR trước khi hợp nhất (merge) các LoRA adapter và lưu checkpoint đã hoàn thiện.
Tóm lại, chúng ta đã triển khai một phiên bản thu nhỏ thực tế của cấu trúc hậu huấn luyện Tulu 3 và quan sát cách mỗi giai đoạn huấn luyện thay đổi hiệu suất mô hình trên các tác vụ suy luận toán học được chấm điểm bởi bộ kiểm chứng. Chúng ta đã thiết lập một baseline, cải thiện khả năng tuân thủ hướng dẫn thông qua tinh chỉnh có giám sát, tinh chỉnh các ưu tiên phản hồi thông qua DPO chuẩn hóa theo độ dài, và cuối cùng tối ưu hóa phần thưởng tác vụ đã kiểm chứng bằng cách sử dụng lợi thế tương đối theo nhóm và triển khai GRPO loss của repository. Chúng ta cũng sử dụng LoRA để duy trì một chính sách tham chiếu dễ tiếp cận, áp dụng response masking và KL regularization trong quá trình học tăng cường, so sánh độ chính xác qua tất cả các giai đoạn huấn luyện và xuất một checkpoint đã hợp nhất để suy luận hoặc đánh giá sau này.
Xem TOÀN BỘ MÃ NGUỒN tại đây. Ngoài ra, hãy thoải mái theo dõi chúng tôi trên Twitter và đừng quên tham gia SubReddit ML 150k+ thành viên của chúng tôi và Đăng ký nhận Bản tin. Khoan đã! bạn có dùng telegram không? bây giờ bạn cũng có thể tham gia cùng chúng tôi trên telegram.
Cần hợp tác với chúng tôi để quảng bá GitHub Repo HOẶC Trang Hugging Face HOẶC Ra mắt sản phẩm HOẶC Hội thảo trực tuyến, v.v.? Hãy kết nối với chúng tôi.
Sana Hassan, một thực tập sinh tư vấn tại Marktechpost và là sinh viên văn bằng kép tại IIT Madras, rất đam mê việc ứng dụng công nghệ và AI để giải quyết các thách thức trong thế giới thực. Với sự quan tâm sâu sắc đến việc giải quyết các vấn đề thực tiễn, anh mang đến một góc nhìn mới mẻ cho sự giao thoa giữa AI và các giải pháp đời sống.
Bài viết được AI dịch và tổng hợp tự động từ MarkTechPost. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.