Tùy chỉnh mô hình Qwen-Image: Hướng dẫn chi tiết kèm mã nguồn

Để khai thác tối đa sức mạnh của các mô hình ngôn ngữ lớn (LLM) như Qwen-Image, việc tùy chỉnh (fine-tuning) là rất quan trọng, đặc biệt khi bạn cần mô hình hiểu và tạo ra nội dung liên quan đến các khái niệm hoặc đối tượng mà nó chưa từng được huấn luyện trước đó. Bài viết này sẽ tập trung vào quy trình tùy chỉnh mô hình Qwen-Image.

Các khái niệm cơ bản

Trước khi đi sâu vào tùy chỉnh Qwen-Image, chúng ta cần hiểu rõ một số thuật ngữ cốt lõi:

Huấn luyện mô hình (Model Training): Về bản chất, đây là quá trình tìm kiếm tối ưu. Mục tiêu là điều chỉnh các tham số của mô hình qua nhiều vòng lặp để giảm thiểu sự khác biệt giữa kết quả dự đoán của mô hình và kết quả thực tế. Sự khác biệt này thường được đo lường bằng hàm mất mát (loss function).

Các phương pháp huấn luyện chính bao gồm:

  1. Huấn luyện trước (Pre-training): Mô hình học các đặc trưng và mẫu hình rộng lớn từ tập dữ liệu khổng lồ, đa dạng.
  2. Tinh chỉnh (Fine-tuning): Mô hình được huấn luyện trên một tập dữ liệu nhỏ hơn, chuyên biệt cho một tác vụ cụ thể.
  3. Học tăng cường từ phản hồi của con người (Reinforcement Learning from Human Feedback - RLHF): Kết hợp các kỹ thuật học có giám sát, học tăng cường và mô hình phần thưởng để tinh chỉnh mô hình dựa trên sở thích của con người.

Trong đó, huấn luyện trước có thể chia thành pre-trainingpost-pretraining. Tinh chỉnh lại được chia thành Full Fine-tuning (tinh chỉnh toàn bộ tham số) và Parameter-efficient fine-tuning (PEFT) (tinh chỉnh hiệu quả tham số, ví dụ như LoRA).

Mục đích của từng phương pháp:

  • Huấn luyện trước (Pre-training): Sử dụng tập dữ liệu lớn và đa dạng để mô hình học được kiến thức tổng quát. Ví dụ, tạo một mô hình ngôn ngữ chung cho ngành ô tô mà không cần dữ liệu được gán nhãn chính xác.
  • Tinh chỉnh (Fine-tuning): Sử dụng tập dữ liệu nhỏ hơn, có nhãn rõ ràng, tập trung vào một tác vụ cụ thể. Ví dụ, huấn luyện mô hình để hiểu chi tiết cấu hình hoặc kiểu dáng của một "xe mới", hoặc nắm bắt các thuật ngữ chuyên ngành "tiếng lóng" trong ngành ô tô.
  • Học tăng cường từ phản hồi con người (RLHF): Yêu cầu dữ liệu về sở thích của con người, bao gồm văn bản do con người tạo ra và đánh giá về đầu ra của mô hình. Quá trình này thường đòi hỏi sự tham gia của nhân viên để đảm bảo chất lượng phản hồi.

Tinh chỉnh Qwen-Image

Trường hợp sử dụng cụ thể ở đây là làm cho Qwen-Image có khả năng tạo ra hình ảnh của một mẫu xe mới ra mắt trên thị trường mà mô hình chưa từng biết. Ví dụ, làm thế nào để Qwen-Image nhận diện và tạo hình ảnh chính xác của chiếc "乐道L90"?

Chuẩn bị dữ liệu

Cần thu thập hình ảnh của xe 乐道L90. Nên chọn những hình ảnh thể hiện đầy đủ các đặc điểm của xe.

Nguồn tham khảo hình ảnh

Gán nhãn dữ liệu

Để gán nhãn, chúng ta sẽ sử dụng mô hình Qwen2.5-VL-7B-Instruct với lời nhắc (prompt) sau:

Bạn là một công cụ chuyên nghiệp phân tích và gán nhãn hình ảnh ô tô, cần mô tả chi tiết và chính xác thuộc tính cấu trúc của ô tô trong ảnh đầu vào, tập trung vào các thuộc tính tổng thể của xe và chi tiết logo. Vui lòng tuân thủ nghiêm ngặt các quy tắc sau, xuất kết quả bằng tiếng Việt: Nhiệm vụ cốt lõi là nhận dạng và mô tả các thuộc tính chính của ô tô trong ảnh, cũng như các đặc điểm chi tiết của logo, đảm bảo thông tin đầy đủ và chính xác. Nội dung đầu ra phải có cấu trúc, có thể trực tiếp sử dụng cho việc huấn luyện dữ liệu (ví dụ: dữ liệu huấn luyện cho mô hình qwen-image), tránh diễn đạt mơ hồ.

Các chiều và yêu cầu gán nhãn:
I. Mô tả thuộc tính tổng thể của xe
   - Thông tin cơ bản: Loại xe (ví dụ: sedan, SUV, xe tải, xe thể thao,...); Màu sắc xe (cần mô tả chính xác, ví dụ: trắng ngọc trai, xám không gian, đen mờ, xanh ngọc,... tránh các từ mơ hồ như "màu sáng", "màu tối"); Tư thế xe (ví dụ: chính diện, chéo trước 45°, chính diện ngang, phía sau, góc nhìn từ trên xuống,...); Tình trạng xe (ví dụ: đứng yên, đang di chuyển, xe độ, xe concept,... nếu không có trạng thái đặc biệt có thể ghi "trạng thái sản xuất tiêu chuẩn").
   - Chi tiết ngoại thất: Thiết kế mặt trước (ví dụ: hình dạng lưới tản nhiệt: dạng thanh ngang, dạng tổ ong, dạng lưới; loại đèn pha: LED, ma trận, đèn tròn cổ điển,...); Đường nét thân xe (ví dụ: kiểu dáng coupe, đường gân thẳng, đường nét cơ bắp,...); Đặc điểm khác (ví dụ: có cửa sổ trời hay không, kiểu dáng mâm xe, có cánh gió sau hay không, chất liệu viền cửa sổ,... ghi lại theo khả năng nhìn thấy của ảnh).
II. Mô tả chi tiết logo xe
   - Vị trí và hình dáng: Vị trí logo (ví dụ: chính giữa đầu xe, bên trong lưới tản nhiệt, đầu nắp capo, phía sau xe,...). Hình dáng logo được thiết kế với yếu tố cốt lõi là chữ "N", sử dụng hình dáng lượn sóng; Cấu tạo màu sắc (ví dụ: đơn sắc: vàng kim, bạc, đen; đa sắc: xanh trắng xen kẽ, đỏ đen phối hợp,...).

Cấu trúc dữ liệu huấn luyện bao gồm hình ảnh và tệp văn bản mô tả tương ứng:

### Mô tả thuộc tính tổng thể
- **Loại xe**: Sedan
- **Màu sắc xe**: Xám bạc
- **Tư thế xe**: Chính diện
- **Tình trạng xe**: Trạng thái sản xuất tiêu chuẩn

### Chi tiết ngoại thất
- **Thiết kế mặt trước**:
- Hình dạng lưới tản nhiệt: Dạng thanh ngang
- Loại đèn pha: LED
- **Đường nét thân xe**: Đường gân thẳng
- **Đặc điểm khác**: Không có cửa sổ trời, kiểu dáng mâm xe không nhìn thấy, không có cánh gió sau, chất liệu viền cửa sổ không nhìn thấy

### Mô tả chi tiết logo xe
- **Vị trí**: Chính giữa đầu xe
- **Hình dáng**: Lấy chữ "N" làm yếu tố thiết kế cốt lõi, sử dụng hình dáng lượn sóng
- **Cấu tạo màu sắc**: Màu bạc

Bắt đầu huấn luyện

Chúng ta có thể sử dụng dự án mã nguồn mở flymyai-lora-trainer. Với một card đồ họa NVIDIA RTX 4090 (24GB VRAM), bạn có thể huấn luyện Qwen-Image.

Sau khi huấn luyện thành công, tệp trọng số LoRA (`pytorch_lora_weights.safetensors`) sẽ được tạo trong thư mục `checkpoint-step` theo cấu hình đã đặt.

Tùy chọn miễn phí cho gán nhãn và huấn luyện

Nếu bạn không có đủ tài nguyên tính toán để gán nhãn hoặc huấn luyện, bạn có thể tận dụng nền tảng của ModelScope (Model Training).

  1. Tạo tập dữ liệu mới.
  2. Sử dụng tính năng gán nhãn thông minh (Smart Labeling).
  3. Bắt đầu quá trình huấn luyện.

Sử dụng tệp `safetensors` đã tùy chỉnh

Trong ComfyUI, bạn có thể tạo một quy trình làm việc (workflow) và sử dụng nút Load LoRA để tải trọng số đã tùy chỉnh.

Về các vấn đề chi tiết chưa tốt (ví dụ: logo xe hoặc chi tiết bánh xe), tác giả của dự án đã phản hồi rằng cần huấn luyện thêm với hình ảnh logo. Tham khảo thảo luận tại đây.

Kết luận

Việc tự xây dựng và huấn luyện các mô hình lớn từ đầu thường tốn kém đối với hầu hết các công ty. Đối với các mô hình văn bản, ví dụ, việc triển khai cục bộ các mô hình như DeepSeek đã được quảng bá, nhưng năng lực của mô hình nền tảng vẫn còn hạn chế. Đối với các lĩnh vực chuyên sâu như pháp lý, y tế, nơi các thuật ngữ chuyên ngành là quan trọng, việc tùy chỉnh mô hình nền tảng (fine-tuning) là cần thiết cho các tổ chức có năng lực, hoặc sử dụng kho kiến thức (knowledge base) cho các tổ chức khác.

Quan trọng nhất là lựa chọn mô hình phù hợp với nhu cầu của bạn. Nếu bạn là một công ty khởi nghiệp, việc sử dụng API chính thức của các nhà cung cấp lớn có thể là giải pháp tiện lợi và hiệu quả hơn.

Thẻ: Qwen-Image fine-tuning lora PEFT ModelScope

Đăng vào ngày 28 tháng 7 lúc 12:02