Fine-tuning
Khám phá cách fine-tuning điều chỉnh các model đã pre-trained như Ultralytics YOLO26 cho các tác vụ chuyên biệt. Tìm hiểu cách tận dụng transfer learning để xây dựng AI nhanh hơn và chính xác hơn.
Tinh chỉnh là một quy trình nền tảng trong học máy (ML), bao gồm việc điều chỉnh một model đã được huấn luyện trước cho một tác vụ hoặc tập dữ liệu cụ thể. Thay vì huấn luyện từ đầu—một quy trình đòi hỏi lượng dữ liệu, thời gian và năng lực tính toán khổng lồ—các developer bắt đầu với một "foundation model" đã học được các đặc trưng tổng quát từ một tập dữ liệu lớn như ImageNet. Phương pháp này là một cách triển khai thực tế của transfer learning, cho phép các hệ thống AI đạt hiệu năng cao trên những bài toán chuyên biệt với ít tài nguyên hơn đáng kể.
Cơ chế thích ứng#
Ý tưởng cốt lõi đằng sau tinh chỉnh là tận dụng "kiến thức" mà một model đã tiếp thu. Một model cơ sở thường có khả năng hiểu vững các thành phần hình ảnh nền tảng, chẳng hạn như cạnh, kết cấu và hình dạng. Trong quá trình tinh chỉnh, các tham số (trọng số) của model được điều chỉnh nhẹ để thích ứng với những sắc thái của dữ liệu mới, chuyên biệt.
Việc điều chỉnh này thường được thực hiện thông qua gradient descent bằng cách sử dụng learning rate thấp hơn. Learning rate thận trọng đảm bảo rằng các đặc trưng có giá trị được học trong quá trình pre-training ban đầu được tinh chỉnh thay vì bị phá hủy. Trong nhiều quy trình thị giác máy tính (CV), các kỹ sư có thể đóng băng các lớp ban đầu của backbone—những lớp phát hiện các đặc trưng phổ quát—và chỉ cập nhật các lớp sâu hơn cùng detection head chịu trách nhiệm đưa ra các dự đoán lớp cuối cùng.
Các ứng dụng trong thực tế#
Tinh chỉnh thu hẹp khoảng cách giữa năng lực AI tổng quát và các yêu cầu cụ thể của ngành. Phương pháp này cho phép các model chung trở thành những chuyên gia chuyên biệt.
- AI trong Y tế: Một model thị giác tiêu chuẩn có thể phân biệt mèo và chó nhưng thiếu ngữ cảnh y khoa. Bằng cách tinh chỉnh model này trên các tập dữ liệu phân tích hình ảnh y tế chứa ảnh X-quang được gắn nhãn, các nhà nghiên cứu có thể tạo ra những công cụ chẩn đoán phát hiện viêm phổi hoặc gãy xương với độ chính xác cao. Điều này hỗ trợ các bác sĩ chẩn đoán hình ảnh trong môi trường làm việc khẩn trương bằng cách ưu tiên các ca bệnh nghiêm trọng.
- AI trong Sản xuất: Trong môi trường công nghiệp, các model có sẵn có thể không nhận diện được những linh kiện độc quyền. Các nhà sản xuất sử dụng tinh chỉnh để điều chỉnh những kiến trúc tiên tiến như YOLO26 cho các dây chuyền lắp ráp cụ thể của họ. Điều này cho phép các hệ thống kiểm soát chất lượng tự động phát hiện những khuyết tật rất nhỏ, chẳng hạn như vết nứt vi mô hoặc lỗi sơn, qua đó cải thiện độ tin cậy của sản phẩm và giảm lãng phí.
Tinh chỉnh và Huấn luyện từ đầu#
Việc phân biệt tinh chỉnh với huấn luyện toàn bộ sẽ hữu ích để hiểu khi nào nên sử dụng từng phương pháp.
- Huấn luyện từ đầu: Quy trình này khởi tạo model với các trọng số ngẫu nhiên và huấn luyện model trên một tập dữ liệu cho đến khi hội tụ. Quy trình đòi hỏi một tập dữ liệu được gắn nhãn rất lớn và tài nguyên GPU đáng kể. Phương pháp này thường được dành cho việc tạo các kiến trúc mới hoặc khi lĩnh vực hoàn toàn độc đáo (ví dụ: phân tích tinh vân trong không gian sâu so với các vật thể hằng ngày).
- Tinh chỉnh: Quy trình này bắt đầu với các trọng số đã được tối ưu hóa. Nó đòi hỏi ít dữ liệu hơn nhiều (thường chỉ vài nghìn ảnh) và huấn luyện nhanh hơn đáng kể. Đối với hầu hết ứng dụng kinh doanh, chẳng hạn như quản lý hàng tồn kho bán lẻ hoặc giám sát an ninh, tinh chỉnh là con đường hiệu quả nhất để triển khai.
Triển khai tinh chỉnh với Ultralytics#
Các framework hiện đại giúp quy trình này trở nên dễ tiếp cận. Chẳng hạn, Ultralytics Platform đơn giản hóa quy trình bằng cách tự động xử lý quản lý tập dữ liệu và huấn luyện trên cloud. Tuy nhiên, các developer cũng có thể tinh chỉnh model cục bộ bằng Python.
Ví dụ sau minh họa cách tinh chỉnh một model YOLO26 đã được huấn luyện trước trên một tập dữ liệu tùy chỉnh. Lưu ý rằng chúng ta nạp yolo26n.pt (các trọng số đã được huấn luyện trước) thay vì một tệp cấu hình đơn giản hóa, qua đó báo hiệu cho thư viện khởi chạy transfer learning.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (n=nano size)
# This automatically loads weights trained on COCO
model = YOLO("yolo26n.pt")
# Fine-tune the model on a custom dataset (e.g., 'coco8.yaml')
# The 'epochs' argument determines how many passes over the data occur
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# The model is now fine-tuned and ready for specific inference tasksCác yếu tố chính để thành công#
Để đạt được kết quả tốt nhất, chất lượng của tập dữ liệu mới là yếu tố tối quan trọng. Việc sử dụng các công cụ tăng cường dữ liệu có thể mở rộng một cách nhân tạo một tập dữ liệu nhỏ bằng cách xoay, lật hoặc điều chỉnh độ sáng của ảnh, từ đó ngăn overfitting. Ngoài ra, việc theo dõi các chỉ số như validation loss và độ chính xác trung bình (mAP) đảm bảo model khái quát tốt trên dữ liệu chưa từng thấy.
Đối với những người quản lý các quy trình phức tạp, việc áp dụng các chiến lược MLOps và các công cụ như theo dõi experiment có thể giúp duy trì kiểm soát phiên bản cho các iteration tinh chỉnh khác nhau. Dù được sử dụng cho phát hiện đối tượng hay phân đoạn instance, tinh chỉnh vẫn là tiêu chuẩn của ngành để triển khai các giải pháp AI hiệu quả.









