Model Merging
Khám phá cách model merging kết hợp nhiều model đã được huấn luyện sẵn thành một. Tìm hiểu cách hợp nhất trọng số Ultralytics YOLO26 để tăng hiệu suất mà không bị trễ thêm.
Model merging là một kỹ thuật tiên tiến trong machine learning (ML) nhằm kết hợp các tham số đã học (weights) của nhiều pre-trained models thành một model duy nhất, thống nhất. Khác với các thiết lập đa model truyền thống, model merging hợp nhất trực tiếp model weights trong không gian tham số. Điều này cho phép các kỹ sư kết hợp kiến thức chuyên môn của nhiều model đã được fine-tune trên các tác vụ hoặc tập dữ liệu khác nhau mà không phát sinh chi phí bộ nhớ và tính toán của việc chạy đồng thời nhiều model.
Bằng cách áp dụng các thao tác trực tiếp lên các weights, model merging duy trì cấu trúc của một mạng duy nhất. Điều này cực kỳ có giá trị khi triển khai các pipeline computer vision (CV) tiên tiến lên edge devices, nơi việc giảm inference latency và tiết kiệm bộ nhớ là vô cùng quan trọng.
Phân biệt Hợp nhất mô hình#
Việc phân biệt model merging với các khái niệm liên quan như Model Ensemble và Transfer Learning là rất hữu ích.
- Hợp nhất mô hình so với Model Ensemble: Một ensemble giữ các mạng riêng biệt, chạy từng mạng trong quá trình suy luận (inference) và lấy trung bình kết quả đầu ra của chúng. Điều này làm tăng độ chính xác nhưng cũng nhân rộng chi phí tính toán. Hợp nhất mô hình kết hợp các trọng số thực tế trước khi suy luận, tạo ra một mô hình duy nhất không yêu cầu thêm tài nguyên tính toán khi runtime.
- Model Merging vs. Transfer Learning: Transfer learning liên quan đến việc lấy một base model và tiếp tục huấn luyện nó trên một tập dữ liệu mới. Model merging không yêu cầu thêm fine-tuning nào; nó sử dụng các phép toán toán học để hợp nhất các model đã được huấn luyện.
Các kỹ thuật phổ biến#
Các nhà nghiên cứu đã phát triển một số phương pháp để kết hợp hiệu quả các weights mà không làm mất đi các khả năng cốt lõi của mạng, như được khám phá trong academic research on arXiv gần đây.
- Weight Averaging: Phương pháp đơn giản nhất, lấy giá trị trung bình của các weights từ nhiều model có cùng kiến trúc.
- Task Arithmetic: Một kỹ thuật trong đó "các vector tác vụ" (sự khác biệt giữa một mô hình đã tinh chỉnh và mô hình cơ sở của nó) được cộng hoặc trừ để kết hợp hoặc loại bỏ các hành vi cụ thể.
- TIES-Merging: Một phương pháp nâng cao giúp giải quyết sự can thiệp giữa các tham số bằng cách cắt tỉa các giá trị dư thừa và chọn các dấu nhất quán trên các mô hình, từ đó bảo toàn hiệu suất trên các tác vụ đa dạng.
Các ứng dụng trong thực tế#
Hợp nhất mô hình rất hiệu quả để xây dựng các hệ thống tổng quát mà không cần phải huấn luyện lại từ đầu.
- Autonomous Vehicles: Một chiếc xe tự hành có thể sử dụng base model Ultralytics YOLO26. Các kỹ sư có thể độc lập huấn luyện một phiên bản model để phát hiện chuyển động tinh tế của người đi bộ và một phiên bản khác để đọc các biển báo giao thông phức tạp. Việc hợp nhất hai model này tạo ra một detector đơn giản, có năng lực cao xử lý cả hai tác vụ cùng lúc mà không làm tăng gấp đôi thời gian inference.
- AI in Healthcare: Trong hình ảnh y tế, các bệnh viện nghiên cứu khác nhau có thể fine-tune các model trên các tập dữ liệu cục bộ chuyên biệt (ví dụ: một cho quét MRI và một cho quét CT) do luật bảo mật dữ liệu nghiêm ngặt. Bằng cách hợp nhất các model một cách an toàn, các nhà nghiên cứu có thể tạo ra một công cụ chẩn đoán toàn diện tận dụng được các phân phối dữ liệu đa dạng.
Ví dụ: Lấy trung bình trọng số đơn giản#
Bạn có thể dễ dàng thực hiện việc gộp model cơ bản bằng cách sử dụng PyTorch. Ví dụ sau minh họa cách tính trung bình các state dictionary của hai model có cấu trúc giống hệt nhau.
import torch
# Load the weights (state dicts) from two identical architectures
weights_a = torch.load("yolo26_task1.pt")["model"].state_dict()
weights_b = torch.load("yolo26_task2.pt")["model"].state_dict()
# Perform simple weight averaging
merged_weights = {k: (weights_a[k] + weights_b[k]) / 2.0 for k in weights_a.keys()}
# Save the newly merged model weights
torch.save({"model": merged_weights}, "yolo26_merged.pt")Đối với các team muốn đơn giản hóa các workflow phức tạp của việc gán nhãn tập dữ liệu, huấn luyện và triển khai, Ultralytics Platform cung cấp một giao diện trực quan để quản lý các dự án vision AI từ đầu đến cuối một cách dễ dàng.






