Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Hợp nhất mô hình

Khám phá cách hợp nhất mô hình kết hợp nhiều mô hình đã được huấn luyện trước thành một. Tìm hiểu cách kết hợp các mô hình. Ultralytics YOLO26 sử dụng trọng số để tăng hiệu suất mà không làm tăng độ trễ.

Ghép mô hình là một kỹ thuật tiên tiến trong học máy (ML) kết hợp các tham số (trọng số) đã học được của nhiều mô hình được huấn luyện trước thành một mô hình thống nhất duy nhất. Không giống như các thiết lập đa mô hình truyền thống, việc ghép mô hình trực tiếp kết hợp trọng số của mô hình trong không gian tham số. Điều này cho phép người dùng kết hợp kiến ​​thức chuyên môn của một số mô hình được tinh chỉnh trên các nhiệm vụ hoặc tập dữ liệu khác nhau mà không phải chịu chi phí bộ nhớ và tính toán khi chạy nhiều mô hình cùng một lúc.

Bằng cách áp dụng trực tiếp các phép toán vào trọng số, việc hợp nhất mô hình duy trì cấu trúc 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 quy trình xử lý hình ảnh máy tính (CV) tiên tiến đến các thiết bị biên, nơi việc giảm độ trễ suy luận và tiết kiệm bộ nhớ là rất quan trọng.

Phân biệt sự hợp nhất mô hình

Việc phân biệt giữa việc hợp nhất mô hình với các khái niệm liên quan như tập hợp mô hìnhhọc chuyển giao là rất hữu ích.

  • So sánh giữa Model Merging và Model Ensemble : Model ensemble giữ các mạng riêng lẻ tách biệt, chạy từng mạng trong quá trình suy luận và tính trung bình đầu ra của chúng. Điều này làm tăng độ chính xác nhưng làm tăng đáng kể chi phí tính toán. Model merging 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 chi phí tính toán trong quá trình chạy.
  • So sánh giữa Model Merging và Transfer Learning : Transfer learning liên quan đến việc lấy một mô hình cơ sở và huấn luyện nó thêm trên một tập dữ liệu mới. Model merging không yêu cầu tinh chỉnh thêm; nó sử dụng các phép toán để kết hợp các mô hình đã đượ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ố một cách hiệu quả mà không làm phá hủy khả năng cơ bản của mạng, như đã được trình bày trong các nghiên cứu học thuật gần đây trên arXiv .

  • Tính 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 mô hình có cùng kiến ​​trúc.
  • Phép toán tác vụ : Một kỹ thuật trong đó "các vectơ tác vụ" (sự khác biệt giữa mô hình được tinh chỉnh và mô hình cơ bả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 tiên tiến giải quyết sự xung đột 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 mô hình, duy trì hiệu suất trên các nhiệm vụ khác nhau.

Các Ứng dụng Thực tế

Việc kết hợp các mô hình 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 chiếc xe tự lái có thể sử dụng mô hình cơ bản Ultralytics YOLO26 . Các kỹ sư có thể tự huấn luyện một phiên bản mô hình duy nhất. detect Một mô hình khác xử lý các chuyển động tinh tế của người đi bộ và một mô hình khác để đọc các biển báo giao thông phức tạp. Việc kết hợp hai mô hình này tạo ra một bộ phát hiện duy nhất, có khả năng cao, xử lý cả hai nhiệm vụ đồng thời mà không làm tăng gấp đôi thời gian suy luận.
  • Trí tuệ nhân tạo trong chăm sóc sức khỏe : Trong lĩnh vực hình ảnh y tế, các bệnh viện nghiên cứu khác nhau có thể tinh chỉnh các mô hình trên các tập dữ liệu cục bộ chuyên biệt (ví dụ: một tập dữ liệu cho ảnh chụp MRI và một tập dữ liệu cho ảnh chụp CT) do luật bảo mật dữ liệu nghiêm ngặt. Bằng cách kết hợp các mô hình 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 sự đa dạng về phân bố dữ liệu.

Ví dụ: Tính 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 mô hình cơ bản bằng PyTorch . Ví dụ sau đây minh họa cách tính trung bình các từ điển trạng thái của hai mô hình 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 đang tìm cách đơn giản hóa quy trình làm việc phức tạp của việc chú thích dữ liệu, huấn luyện và triển khai, Nền tảng Ultralytics cung cấp giao diện trực quan để quản lý các dự án AI thị giác từ đầu đến cuối một cách dễ dàng.

Hãy cùng nhau xây dựng tương lai của trí tuệ nhân tạo!

Bắt đầu hành trình của bạn với tương lai của học máy