Thủ thuật
Hướng dẫn thực chiến: Xây dựng LLM suy luận với bộ dữ liệu SupraLabs
(giờ Việt Nam)
Tóm tắt AI
Bài viết cung cấp quy trình toàn diện từ xử lý luồng, lọc dữ liệu đến tinh chỉnh mô hình dựa trên bộ dữ liệu suy luận SupraLabs, giúp tối ưu hóa hiệu suất cho các mô hình AI tư duy.
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 làm việc end-to-end để xử lý bộ dữ liệu suy luận (reasoning corpus) của SupraLabs. Chúng ta sẽ stream một tập hợp con đại diện trực tiếp từ Hugging Face Hub, kiểm tra phân phối nguồn, các mô hình độ dài token, thành phần tác vụ và tỷ lệ suy luận trên câu trả lời, sau đó áp dụng một loạt bộ lọc chất lượng để loại bỏ các ví dụ huấn luyện không phù hợp. Chúng ta chuyển đổi các mẫu được giữ lại sang định dạng tinh chỉnh có giám sát (supervised fine-tuning) dựa trên trò chuyện với các thẻ suy luận <think> rõ ràng và sử dụng chúng để điều chỉnh SmolLM2-135M-Instruct bằng LoRA thông qua SFTTrainer của TRL. Bằng cách kết hợp khả năng truy cập dữ liệu có thể mở rộng, phân tích khám phá, quản lý tập dữ liệu, tinh chỉnh hiệu quả tham số, suy luận có cấu trúc và xuất file Parquet, chúng ta tạo ra một pipeline Google Colab hoàn chỉnh để biến một bộ dữ liệu suy luận đa mô hình lớn thành một mô hình ngôn ngữ tập trung vào suy luận nhỏ gọn.
Chúng ta cấu hình môi trường Colab, cài đặt các thư viện học máy cần thiết và gỡ bỏ gói torchao không tương thích. Chúng ta phát hiện thiết bị tính toán khả dụng, kết nối với bộ dữ liệu suy luận SupraLabs thông qua tính năng streaming của Hugging Face và tránh việc tải xuống toàn bộ tập dữ liệu. Chúng ta xáo trộn các bản ghi được stream, hiện thực hóa một mẫu đại diện và kiểm tra cấu trúc cũng như nội dung của một hàng ví dụ.
Chúng ta chuyển đổi tập dữ liệu đã lấy mẫu thành một pandas DataFrame và phân tích sự phân bổ của các kho lưu trữ nguồn và độ dài token. Chúng ta tính toán số lượng ký tự suy luận và câu trả lời, đo lường tỷ lệ suy luận trên phản hồi và trực quan hóa các mối quan hệ trong toàn bộ tập dữ liệu. Chúng ta cũng áp dụng các quy tắc heuristic nhẹ để phân loại từng bản ghi thành các tác vụ mã nguồn, toán học, y tế, trắc nghiệm hoặc tác vụ chung.
Chúng ta xây dựng một pipeline lọc chất lượng để loại bỏ các mẫu có độ dài token không phù hợp, phản hồi không đầy đủ, lặp lại quá mức hoặc nội dung suy luận thiếu cân bằng. Chúng ta tải tokenizer của SmolLM2 và chuyển đổi từng bản ghi được giữ lại thành một cuộc hội thoại có cấu trúc bao gồm lời nhắc hệ thống (system prompt), tin nhắn người dùng và phản hồi của trợ lý đã được tăng cường suy luận. Sau đó, chúng ta xáo trộn dữ liệu đã định dạng, tạo các tập con huấn luyện và đánh giá, đồng thời kiểm tra mẫu trò chuyện cuối cùng được sử dụng cho việc tinh chỉnh có giám sát.
Chúng ta tải mô hình ngôn ngữ nhân quả SmolLM2 và cấu hình các bộ điều hợp LoRA để huấn luyện hiệu quả tham số. Chúng ta xác định các cài đặt về tối ưu hóa, tạo batch, đánh giá, độ chính xác và gradient-checkpointing thông qua SFTConfig của TRL. Chúng ta khởi tạo SFTTrainer, tinh chỉnh mô hình trên các cuộc hội thoại suy luận đã được chọn lọc và đánh giá hiệu suất huấn luyện cuối cùng của nó.
Chúng ta tạo một hàm suy luận để định dạng các câu hỏi mới với cùng một lời nhắc hệ thống và tạo phản hồi từ mô hình đã được tinh chỉnh. Chúng ta tách phần <think> được tạo ra khỏi câu trả lời cuối cùng và kiểm tra mô hình trên các bài toán logic và số học. Cuối cùng, chúng ta xuất các tập dữ liệu huấn luyện và đánh giá đã xử lý dưới dạng file Parquet để tái sử dụng trong các thử nghiệm lớn hơn.
Tóm lại, chúng ta đã phát triển một pipeline thực tế kết nối việc khám phá dữ liệu suy luận quy mô lớn với việc huấn luyện mô hình ngôn ngữ nhỏ. Chúng ta đã stream bộ dữ liệu một cách hiệu quả, phân tích thành phần nội bộ, lọc các ví dụ bằng cách sử dụng các tiêu chí về token, sự lặp lại, tính đầy đủ và sự cân bằng suy luận, đồng thời chuyển đổi dữ liệu thu được thành một cấu trúc huấn luyện hội thoại nhất quán. Sau đó, chúng ta đã tinh chỉnh SmolLM2 với LoRA, đánh giá mô hình đã điều chỉnh, kiểm tra các suy luận và câu trả lời do mô hình tạo ra, đồng thời xuất các tập dữ liệu đã chọn lọc cho các thử nghiệm trong tương lai. Quy trình làm việc này cung cấp một nền tảng có thể tái sử dụng cho việc trộn dữ liệu có nhận thức về nguồn, học theo chương trình (curriculum learning), các mô hình học viên lớn hơn, huấn luyện ngữ cảnh dài hơn và phát triển mô hình suy luận ở quy mô sản xuất mà không cần toàn bộ tập dữ liệu phải nằm trong bộ nhớ của Colab.
Xem TOÀN BỘ MÃ NGUỒN tại đây. Ngoài ra, hãy theo dõi chúng tôi trên Twitter và đừng quên tham gia cộng đồng 150k+ ML SubReddit của chúng tôi và đăng ký nhận Bản tin (Newsletter). 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, Ra mắt sản phẩm hoặc Hội thảo trực tuyến, v.v. của bạn? 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 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.