Bài viết này sẽ hướng dẫn bạn từng bước từ đầu để điều chỉnh mô hình lớn, dù bạn đã từng nghe về các mô hình lớn nhưng chưa từng thực hành điều chỉnh chúng.
Việc điều chỉnh mô hình lớn là một quy trình phức tạp và đòi hỏi kỹ thuật cao, tuy nhiên bài viết này sẽ minh họa toàn bộ quy trình mà không đi sâu vào các chi tiết kỹ thuật phức tạp.
Mục tiêu của bài viết là giúp bạn hiểu rõ quy trình điều chỉnh mô hình lớn. Quy trình này yêu cầu cấu hình máy tính mạnh như GPU, nhưng bài viết sẽ sử dụng môi trường tích hợp từ nền tảng ModelScope của Alibaba, không cần cài đặt trên máy tính cá nhân.
Bạn chỉ cần trình duyệt web là có thể thực hiện.
Mô hình được điều chỉnh trong bài viết là Yi của 01AI, tuy nhiên quy trình điều chỉnh các mô hình lớn khác cũng tương tự.
ModelScope cung cấp miễn phí hàng chục giờ tài nguyên GPU cho người dùng mới, đây là cơ hội tốt để học cách điều chỉnh mô hình lớn.
1. Chuẩn bị tài khoản và môi trường
Đầu tiên, bạn cần đăng ký tài khoản tại: https://modelscope.cn/home
Sau khi đăng nhập, truy cập địa chỉ: https://www.modelscope.cn/models/01ai/Yi-1.5-6B**.**
Thực hiện theo hướng dẫn trên giao diện.
Chọn "Môi trường GPU" và nhấn "Khởi động". Sau khoảng 2 phút, nhấn "Xem Notebook" để truy cập.
ModelScope tích hợp chức năng JupyterLab, bạn có thể tạo tệp Notebook mới qua tab Notebook hoặc terminal.
Thêm một khối mã và chạy lệnh sau (đây là bước cài đặt thư viện phụ thuộc):
!pip3 install --upgrade pip
!pip3 install bitsandbytes>=0.39.0
Tải về LLaMA-Factory, quá trình này mất khoảng vài phút:
!git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
Tiếp theo, mở terminal và thực hiện các lệnh sau:
# ⚠️ Hai lệnh dưới đây cần chạy trong terminal mới khởi động
cd LLaMA-Factory
pip3 install -e ".[torch,metrics]"
2. Tải mô hình
Mô hình Yi-1.5-6B của 01AI có thể tải về từ HuggingFace hoặc ModelScope. Bài viết sẽ tải từ ModelScope.
Danh sách các mô hình mở nguồn của 01AI: https://www.modelscope.cn/organization/01ai/
Mô hình Yi-1.5-6B-chat có kích thước khoảng 12GB, thời gian tải phụ thuộc vào tốc độ internet.
Sử dụng lệnh sau để tải trong notebook (hoặc terminal nếu bỏ dấu '!'):
!git clone https://www.modelscope.cn/01ai/Yi-1.5-6B-Chat.git
3. Thực hành điều chỉnh mô hình Yi
Sau khi hoàn tất các bước trên, bắt đầu quy trình điều chỉnh.
⚠️ Lưu ý: Dù bài viết chỉ giới thiệu quy trình cơ bản, nhưng đừng xem nhẹ độ khó của việc điều chỉnh mô hình.
Cộng đồng cung cấp nhiều thư viện mã nguồn mở hỗ trợ điều chỉnh, ví dụ: https://github.com/01-ai/Yi-1.5?tab=readme-ov-file#fine-tuning
Bài viết sử dụng LLaMA-Factory - một khung điều chỉnh mô hình lớn mở nguồn với khả năng tích hợp nhiều phương pháp phổ biến.
4. Tiến hành điều chỉnh
a. Tạo tập tin cấu hình điều chỉnh
Trong thư mục Llama-Factory, mở thư mục examples\train_qlora, sao chép tập tin llama3_lora_sft_awq.yaml và đổi tên thành custom_model_config.yaml.
Thay đổi tham số model_name_or_path thành đường dẫn mô hình bạn vừa tải về:
### model
model_name_or_path: <đường dẫn mô hình, ví dụ ../Yi-1.5-6B-Chat>
Tập tin cấu hình này sử dụng dữ liệu "self-identity", bạn có thể thay đổi nội dung trong identity.json để điều chỉnh mô hình nhận diện bản thân.
Chỉnh sửa và lưu tập tin cấu hình, sau đó chạy lệnh:
llamafactory-cli train examples/train_qlora/custom_model_config.yaml
Quá trình điều chỉnh mất khoảng 10 phút.
5. Kiểm tra kết quả
Sau khi điều chỉnh, chạy lệnh kiểm tra:
llamafactory-cli chat examples/inference/custom_inference.yaml
Bạn sẽ thấy mô hình trả lời theo nội dung trong tập dữ liệu điều chỉnh.
So sánh với mô hình gốc bằng cách chạy:
llamafactory-cli chat examples/inference/original_model.yaml