Model Soups
Khám phá cách Model Soups cải thiện độ chính xác và khả năng ổn định bằng cách tính trung bình trọng số của các model Ultralytics YOLO. Tìm hiểu cách tăng hiệu suất mà không làm tăng độ trễ.
Model Soups đề cập đến một kỹ thuật học máy, trong đó trọng số của nhiều neural network - vốn được fine-tune từ cùng một base model tiền huấn luyện với các siêu tham số khác nhau - được tính trung bình với nhau để tạo ra một model đơn lẻ và ổn định hơn. Cách tiếp cận này cho phép các nhà phát triển cải thiện độ chính xác tổng thể và khả năng tổng quát hóa mà không làm tăng chi phí tính toán trong quá trình inference.
Khi fine-tune một model, các chuyên gia thường chạy một đợt hyperparameter tuning diện rộng để tìm ra cấu hình hoạt động tốt nhất. Theo cách truyền thống, model tốt nhất đơn lẻ sẽ được chọn và những model còn lại sẽ bị loại bỏ. Tuy nhiên, việc tạo một model soup giúp tận dụng các đặc trưng đa dạng mà tất cả các model trong đợt quét đã học được. Bằng cách tính trung bình trực tiếp model weights của chúng, mạng kết quả thường vượt trội hơn so với model đơn lẻ tốt nhất, kết hợp hiệu quả các ưu điểm của chúng trong khi giảm thiểu overfitting. Quy trình này có hiệu suất cao và có thể dễ dàng quản lý trong các môi trường cộng tác như Ultralytics Platform.
Link to this sectionCác ứng dụng thực tế#
Model Soups đặc biệt hiệu quả trong các kịch bản bị hạn chế về tài nguyên tính toán nhưng yêu cầu độ chính xác và khả năng ổn định cao.
- Tầm nhìn xe tự hành: Khi triển khai các hệ thống object detection trên xe tự lái, các model cần phải tổng quát hóa tốt trong nhiều điều kiện ánh sáng và thời tiết khác nhau. Bằng cách tính trung bình nhiều model được huấn luyện với các kỹ thuật tăng cường dữ liệu và tốc độ học khác nhau, các kỹ sư tạo ra một soup cực kỳ ổn định, duy trì được inference latency thấp. Điều này đảm bảo tốc độ xử lý thời gian thực thiết yếu cho autonomous navigation không bị ảnh hưởng.
- Chẩn đoán y tế trên thiết bị di động: Trong các ứng dụng edge AI, chẳng hạn như thực hiện image classification trên smartphone để sàng lọc da liễu ban đầu, sức mạnh tính toán bị hạn chế nghiêm trọng. Một model soup cung cấp độ chính xác được nâng cao cần thiết cho độ tin cậy lâm sàng, đồng thời đảm bảo kích thước cuối cùng vừa vặn dễ dàng trên các mobile edge devices mà không làm tiêu hao pin hoặc yêu cầu kết nối đám mây.
Link to this sectionPhân biệt các khái niệm liên quan#
Để nắm bắt bức tranh toàn cảnh về deep learning optimization, việc phân biệt Model Soups với các kỹ thuật tương tự là rất quan trọng:
- Model Ensemble: Ensembling kết hợp các dự đoán (đầu ra) của nhiều model độc lập. Mặc dù điều này cải thiện độ chính xác, nhưng nó yêu cầu phải chạy mọi model trong quá trình inference, làm tăng chi phí tính toán. Model Soups tính trung bình trọng số trước khi thực hiện inference, giữ cho chi phí tính toán tương đương với một model đơn lẻ.
- Model Merging: Đây là thuật ngữ rộng hơn để chỉ việc kết hợp các model có thể đã được huấn luyện trên các tác vụ hoặc tập dữ liệu hoàn toàn khác nhau. Model Soups là một tập con cụ thể của việc hợp nhất, nơi tất cả các model đều bắt nguồn từ cùng một pre-trained base architecture và được fine-tune trên cùng một tác vụ mục tiêu.
Link to this sectionVí dụ về triển khai#
Việc tạo một model soup đồng nhất bao gồm việc truy cập PyTorch state dictionary của nhiều model đã huấn luyện và tính trung bình các tensor của chúng theo toán học. Dưới đây là ví dụ ngắn gọn về cách thực hiện điều này bằng quy trình làm việc Ultralytics YOLO26 được hỗ trợ nguyên bản bởi PyTorch framework.
import torch
# Load the PyTorch state dictionaries from two fine-tuned YOLO26 models
model1 = torch.load("yolo26_run1.pt")["model"].state_dict()
model2 = torch.load("yolo26_run2.pt")["model"].state_dict()
# Create a uniform model soup by averaging the model weights
soup_dict = {key: (model1[key] + model2[key]) / 2.0 for key in model1.keys()}
# The resulting soup_dict can now be loaded into a new YOLO26 instanceBằng cách tận dụng kỹ thuật này, các chuyên gia về thị giác máy tính có thể dễ dàng tăng cường các chỉ số hiệu suất như khả năng zero-shot learning và khả năng ổn định chung mà không làm giảm tốc độ triển khai cần thiết cho các kiến trúc AI hiện đại ưu tiên edge.






