Model Merging
Khám phá cách model merging kết hợp nhiều model đã được pre-train thành một model duy nhất. Tìm hiểu cách hợp nhất weight của Ultralytics YOLO26 để tăng hiệu năng mà không tạo thêm độ trễ.
Hợp nhất model là một kỹ thuật đổi mới trong học máy (ML), kết hợp các tham số đã học (trọng số) của nhiều model được huấn luyện trước thành một model duy nhất, thống nhất. Không giống các thiết lập nhiều model truyền thống, phương pháp này trực tiếp hợp nhất trọng số model trong không gian tham số. Điều này cho phép các chuyên gia kết hợp kiến thức chuyên biệt của nhiều model được fine-tune trên các tác vụ hoặc dataset khác nhau mà không phải chịu chi phí bộ nhớ và tính toán do chạy đồng thời nhiều model.
Bằng cách áp dụng các phép toán trực tiếp lên trọng số, việc hợp nhất model duy trì quy mô kiến trúc của một mạng duy nhất. Điều này đặc biệt có giá trị khi triển khai các pipeline thị giác máy tính (CV) nâng cao trên các thiết bị edge, nơi việc giảm độ trễ suy luận và tiết kiệm bộ nhớ là yếu tố then chốt.
Phân biệt hợp nhất model#
Việc phân biệt hợp nhất model với các khái niệm liên quan như Ensemble model và Transfer Learning là rất hữu ích.
- Hợp nhất model so với Ensemble model: Ensemble model giữ các mạng riêng biệt, chạy từng mạng trong quá trình suy luận rồi lấy trung bình các đầu ra của chúng. Điều này làm tăng độ chính xác nhưng cũng nhân lên chi phí tính toán. Hợp nhất model kết hợp các trọng số thực tế trước khi suy luận, tạo ra một model duy nhất không yêu cầu thêm tài nguyên tính toán trong thời gian chạy.
- Hợp nhất model so với Transfer Learning: Transfer Learning bao gồm việc lấy một model nền tảng và tiếp tục huấn luyện model đó trên một dataset mới. Hợp nhất model không yêu cầu fine-tuning bổ sung; phương pháp này sử dụng các phép toán toán học để hợp nhất những 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 trọng số hiệu quả mà không làm mất các khả năng nền tảng của mạng, như được khảo sát trong các nghiên cứu học thuật gần đây trên arXiv.
- Lấy trung bình trọng số: Phương pháp đơn giản nhất, lấy giá trị trung bình của trọng số từ nhiều model có cùng kiến trúc.
- Số học tác vụ: Một kỹ thuật trong đó "vector tác vụ" (sự khác biệt giữa một model được fine-tune và model nền tảng 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ể.
- Hợp nhất TIES: Một phương pháp nâng cao giải quyết hiện tượng can nhiễu tham số bằng cách loại bỏ các giá trị dư thừa và chọn các dấu nhất quán giữa các model, qua đó duy trì hiệu năng trên nhiều tác vụ đa dạng.
Các ứng dụng trong thực tế#
Hợp nhất model rất hiệu quả trong việc xây dựng các hệ thống tổng quát mà không cần huấn luyện lại từ đầu.
- Xe tự hành: Một xe tự lái có thể sử dụng model nền tảng 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 những 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 đường phức tạp. Việc hợp nhất hai model này tạo ra một detector duy nhất, có năng lực cao, xử lý đồng thời cả hai tác vụ mà không làm tăng gấp đôi thời gian suy luận.
- AI trong chăm sóc sức khỏe: Trong lĩnh vực chẩn đoán hình ảnh y khoa, các bệnh viện nghiên cứu khác nhau có thể fine-tune model trên những dataset địa phương chuyên biệt (ví dụ: một model cho ảnh MRI và một model cho ảnh CT) do các luật nghiêm ngặt về quyền riêng tư dữ liệu. 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 hưởng lợi từ 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 hợp nhất model cơ bản bằng PyTorch. Ví dụ sau minh họa cách lấy 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 nhóm muốn đơn giản hóa quy trình phức tạp gồm gán nhãn dataset, huấn luyện và triển khai, Ultralytics Platform cung cấp một giao diện trực quan để dễ dàng quản lý các dự án AI thị giác từ đầu đến cuối.









