Thủ thuật
Hướng dẫn tinh chỉnh LLM với DPO: Kiểm soát thiên kiến và tối ưu hóa trên tập dữ liệu Anthropic HH-RLHF
(giờ Việt Nam)
Tóm tắt AI
Bài viết hướng dẫn quy trình từ A-Z sử dụng TRL và LoRA để huấn luyện mô hình Qwen2.5 bằng DPO, tập trung vào việc phát hiện thiên kiến và đánh giá hiệu suất mô hình.
Bản dịch AI

Trong bài hướng dẫn này, chúng ta sẽ thiết kế một quy trình học ưu tiên (preference-learning) từ đầu đến cuối bằng cách sử dụng tập dữ liệu Anthropic HH-RLHF và phương pháp Direct Preference Optimization (DPO). Chúng ta bắt đầu bằng việc chuẩn bị một môi trường Colab mạnh mẽ, tải và phân tích các cặp phản hồi được chọn (chosen) và bị từ chối (rejected), đồng thời kiểm định tập dữ liệu để tìm các thiên kiến ưu tiên dựa trên cấu trúc và độ dài. Sau đó, chúng ta chạy các chẩn đoán đường tắt từ vựng (lexical shortcut diagnostics) để xác định xem các mẫu ngôn ngữ bề mặt có thể phân biệt giữa phản hồi được chọn và bị từ chối hay không, chuẩn bị dữ liệu hội thoại với bộ lọc độ dài nhận biết token (tokenizer-aware), và xây dựng một quy trình huấn luyện DPO bền vững với TRL và tùy chọn thích ứng LoRA. Cuối cùng, chúng ta tinh chỉnh (fine-tune) mô hình Qwen2.5-0.5B-Instruct, đánh giá độ chính xác của phần thưởng (reward accuracy) và hành vi huấn luyện, phân tích hiệu suất trên các tập con HH-RLHF riêng lẻ, kiểm tra thiên kiến độ dài tiềm ẩn, tạo các phản hồi mẫu và lưu lại chính sách (policy) thu được để thử nghiệm thêm.
Chúng ta thiết lập các thư viện cần thiết, xử lý các vấn đề tương thích phụ thuộc và cấu hình các tham số chính được sử dụng trong suốt bài hướng dẫn. Chúng ta cũng khởi tạo các thiết lập để đảm bảo tính tái lập và kiểm tra phần cứng khả dụng, các chế độ chính xác và các giao diện TRL đã cài đặt. Điều này giúp chúng ta có một môi trường ổn định trước khi xử lý tập dữ liệu HH-RLHF và huấn luyện mô hình ưu tiên.
Chúng ta tải các mẫu từ các tập con Anthropic HH-RLHF khác nhau và tạo các tập dữ liệu huấn luyện và kiểm thử cân bằng. Chúng ta phân tích cú pháp từng cuộc hội thoại thành các tin nhắn người dùng và trợ lý có cấu trúc, đồng thời đảm bảo rằng các phản hồi được chọn và bị từ chối có cùng tiền tố hội thoại. Sau đó, chúng ta lọc các cặp không hợp lệ để chỉ làm việc với các ví dụ ưu tiên đã được căn chỉnh đúng cách.
Chúng ta phân tích các cặp ưu tiên để đo lường sự khác biệt về độ dài phản hồi, độ sâu hội thoại và hành vi đặc thù theo nguồn. Chúng ta cũng huấn luyện một mô hình TF-IDF và hồi quy logistic để kiểm tra xem các mẫu từ vựng đơn giản có thể phân biệt phản hồi được chọn với phản hồi bị từ chối hay không. Điều này giúp chúng ta phát hiện các đường tắt mà mô hình ngôn ngữ có thể khai thác thay vì học tín hiệu ưu tiên mong muốn.
Chúng ta chuẩn bị tokenizer, áp dụng mẫu chat hội thoại và tính toán độ dài token cho mỗi cặp ưu tiên. Chúng ta lọc các ví dụ vượt quá giới hạn prompt hoặc giới hạn chuỗi tổng thể và xây dựng động các đối số cấu hình DPO dựa trên phiên bản TRL đã cài đặt. Sau đó, chúng ta tải mô hình cơ sở, cấu hình LoRA khi có sẵn và xây dựng trình huấn luyện DPO để sử dụng cho việc tinh chỉnh.
Chúng ta huấn luyện mô hình bằng Direct Preference Optimization với kích thước batch, tích lũy gradient, tốc độ học và các bước tối ưu hóa đã cấu hình. Chúng ta đánh giá chính sách thu được trên các cặp ưu tiên tách biệt (held-out) và kiểm tra các chỉ số như hàm mất mát (loss), biên độ phần thưởng (reward margins) và độ chính xác của phần thưởng. Chúng ta cũng trực quan hóa lịch sử huấn luyện để quan sát hiệu suất học ưu tiên thay đổi như thế nào trong quá trình tối ưu hóa.
Chúng ta tính toán độ chính xác phần thưởng theo từng nguồn và so sánh xác suất log của chính sách và mô hình tham chiếu để kiểm tra xem mô hình có thực sự ưu tiên các phản hồi được chọn hay không. Chúng ta điều tra mối quan hệ giữa các quyết định ưu tiên và sự khác biệt về độ dài phản hồi, sau đó tạo các câu trả lời mẫu từ chính sách đã tinh chỉnh để kiểm tra hành vi của nó một cách định tính. Cuối cùng, chúng ta lưu cả mô hình đã huấn luyện và tokenizer để có thể tái sử dụng chính sách DPO thu được trong các thí nghiệm sau này.
Tóm lại, chúng ta đã phát triển một quy trình học ưu tiên dựa trên DPO hoàn chỉnh, vượt xa việc chỉ tinh chỉnh mô hình ngôn ngữ trên các phản hồi được chọn và bị từ chối. Chúng ta đã kiểm tra dữ liệu HH-RLHF để tìm sự bất đối xứng về độ dài và các đường tắt từ vựng, thực thi định dạng hội thoại nhất quán và giới hạn token, đồng thời sử dụng thiết lập huấn luyện linh hoạt thích ứng với sự khác biệt giữa các phiên bản TRL và Transformers. Chúng ta cũng đánh giá chính sách đã tinh chỉnh ở cả cấp độ tổng hợp và cấp độ từng nguồn, cho phép xác định liệu các cải tiến phản ánh việc học ưu tiên thực sự hay các đường tắt không mong muốn như ưu tiên các câu trả lời dài hơn. Bằng cách kết hợp kiểm định tập dữ liệu, phân tích chẩn đoán, huấn luyện DPO dựa trên LoRA hiệu quả, đánh giá phần thưởng và kiểm tra tạo văn bản, chúng ta đã thiết lập một khung làm việc để nghiên cứu và cải thiện sự căn chỉnh ưu tiên trong các mô hình ngôn ngữ.
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, Trang Hugging Face, Phát hành sản phẩm hoặc Hội thảo trực tuyến của bạ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 thực tế.
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.