Tìm hiểu cách các vectơ tác vụ cho phép hợp nhất mô hình và điều khiển hành vi hiệu quả. Khám phá cách thao tác chúng. Ultralytics Các trọng số YOLO26 dành cho đa nhiệm không cần huấn luyện.
Các vectơ nhiệm vụ biểu thị những thay đổi cụ thể được thực hiện đối với trọng số của mạng nơ-ron trong quá trình tinh chỉnh để đạt được khả năng mới. Bằng cách trừ các tham số của mô hình cơ sở ban đầu khỏi các tham số của mô hình đã được tinh chỉnh, các nhà nghiên cứu có thể cô lập một vectơ định hướng trong không gian trọng số, vectơ này bao hàm hành vi đã học được cho nhiệm vụ cụ thể đó. Cách tiếp cận này cho phép các nhà phát triển áp dụng các phép toán số học đơn giản trên các tham số của mô hình để điều khiển, sửa đổi hoặc hợp nhất các hành vi của mô hình mà không cần thêm tính toán huấn luyện.
Trong khi khái niệm học chuyển giao liên quan đến việc huấn luyện tuần tự một mô hình trên một tập dữ liệu mới để thích ứng với kiến thức hiện có của nó, thì các vectơ tác vụ lại tác động trực tiếp lên trọng số cấu trúc của mô hình sau khi huấn luyện. Thay vì huấn luyện lại gradient để học một lĩnh vực mới, việc nội suy không gian trọng số bằng cách sử dụng các vectơ tác vụ cho phép người thực hành kết hợp tuyến tính sự khác biệt về trọng số từ nhiều mô hình được huấn luyện độc lập. Điều này cho phép hợp nhất mô hình không cần huấn luyện trước, cho phép một mô hình duy nhất kế thừa nhiều khả năng cùng một lúc mà không cần đến chi phí tính toán thường phát sinh trong quá trình huấn luyện .
Khả năng thao tác các mô hình học sâu bằng đại số đã dẫn đến một số ứng dụng có tác động mạnh mẽ trong các quy trình AI hiện đại:
Việc tạo và áp dụng một vector tác vụ yêu cầu truy cập và thao tác với từ điển trạng thái PyTorch . Ví dụ sau đây minh họa cách trích xuất một vector tác vụ từ mô hình YOLO26 đã được tinh chỉnh và áp dụng nó trở lại mô hình cơ bản với một hệ số tỷ lệ cụ thể.
from ultralytics import YOLO
# Load the state dictionaries for the base and fine-tuned models
base_weights = YOLO("yolo26n.pt").model.state_dict()
tuned_weights = YOLO("yolo26n-custom.pt").model.state_dict()
# Calculate the task vector (tuned weights minus base weights)
task_vector = {k: tuned_weights[k] - base_weights[k] for k in base_weights.keys()}
# Apply the task vector to the base model using a 0.5 scaling factor
for k in base_weights.keys():
base_weights[k] += 0.5 * task_vector[k]
Khi các kiến trúc như mô hình ngôn ngữ lớn và bộ chuyển đổi hình ảnh khổng lồ tăng số lượng tham số, việc huấn luyện lại chúng cho mỗi điều chỉnh nhỏ trở nên không khả thi về mặt kinh tế. Vector tác vụ cung cấp một giải pháp thay thế thanh lịch về mặt toán học cho việc tối ưu hóa mô hình sau huấn luyện. Bằng cách chia sẻ các vector tác vụ nhẹ thay vì toàn bộ mô hình nhiều gigabyte, cộng đồng AI có thể đẩy nhanh sự hợp tác mã nguồn mở trong AI . Sau khi các vector tác vụ tùy chỉnh của bạn được tinh chỉnh, việc sử dụng Nền tảng Ultralytics sẽ đơn giản hóa các quy trình triển khai và giám sát mô hình tiếp theo, đảm bảo các trọng số được tối ưu hóa của bạn được chuyển đổi trực tiếp thành các điểm cuối sẵn sàng cho sản xuất.
Bắt đầu hành trình của bạn với tương lai của học máy