Task Vectors
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 hướng hành vi hiệu quả. Khám phá cách thao tác trọng số Ultralytics YOLO26 cho đa tác vụ zero-shot.
Task vectors đại diện cho những thay đổi cụ thể được thực hiện đối với trọng số của neural network trong quá trình fine-tuning để đạt được một khả năng mới. Bằng cách trừ các tham số của foundational base model khỏi các tham số của model đã fine-tuned, các nhà nghiên cứu có thể cô lập một vector định hướng trong không gian trọng số, gói gọn hành vi đã học cho tác vụ cụ thể đó. Cách tiếp cận này cho phép các lập trình viên áp dụng các arithmetic operations on model parameters đơn giản để điều hướng, sửa đổi hoặc hợp nhất các hành vi của model mà không cần thêm tài nguyên tính toán huấn luyện.
Task Vectors khác biệt như thế nào so với Transfer Learning
Trong khi khái niệm transfer learning liên quan đến việc huấn luyện tuần tự một model trên tập dữ liệu mới để thích nghi với kiến thức hiện có, task vectors hoạt động trực tiếp trên các trọng số cấu trúc của model sau khi huấn luyện. Thay vì huấn luyện lại gradient để học một domain mới, việc sử dụng weight space interpolation thông qua task vectors cho phép các kỹ sư kết hợp tuyến tính sự khác biệt trọng số từ nhiều model được huấn luyện độc lập. Điều này cho phép thực hiện model merging theo cơ chế zero-shot, giúp một model duy nhất kế thừa đồng thời nhiều khả năng mà không cần computational overhead during training như thông thường.
Các ứng dụng thực tế
Khả năng thao tác đại số trên các model deep learning đã dẫn đến một số ứng dụng hiệu quả trong các quy trình AI hiện đại:
- Multi-Task Model Merging: Các kỹ sư có thể kết hợp một task vector được tối ưu hóa cho object detection với một task vector khác được huấn luyện cho image segmentation. Khi áp dụng vào một model nền Ultralytics YOLO26, điều này tạo ra một kiến trúc đa năng có thể thực hiện tốt cả hai tác vụ cùng một lúc, đồng thời bảo toàn điểm mạnh của từng lần fine-tune gốc.
- Machine Unlearning and AI Safety: Nếu một model hiển thị các kết quả đầu ra thiên kiến hoặc nguy hiểm, các nhà nghiên cứu có thể tính toán một task vector đại diện cho hành vi không mong muốn đó. Bằng cách trừ vector này khỏi trọng số của model, họ có thể "xóa" hành vi đó một cách hiệu quả, đóng góp đáng kể vào việc cải thiện các tiêu chuẩn AI safety và AI ethics mạnh mẽ.
- Domain Adaptation in Computer Vision: Khi thích nghi các model cho các môi trường cụ thể—chẳng hạn như chuyển đổi từ real-time inference ban ngày sang ban đêm—task vectors cho phép người dùng điều chỉnh quy mô của sự thích nghi. Áp dụng một phần nhỏ của vector (ví dụ: hệ số tỷ lệ là 0.5) có thể tạo ra một model cân bằng hoạt động tốt trong cả hai domain.
Làm việc với Task Vectors trong PyTorch
Việc tạo và áp dụng task vector đòi hỏi phải truy cập và thao tác với PyTorch state dictionary. Ví dụ sau đây minh họa cách trích xuất một task vector từ một model YOLO26 đã fine-tuned và áp dụng lại vào model gốc 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]Tương lai của việc thao tác trọng số
Khi các kiến trúc như large language models và các vision transformer 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ế. Task vectors cung cấp một giải pháp thay thế tinh tế về mặt toán học cho việc model optimization sau huấn luyện. Bằng cách chia sẻ các task vectors gọn nhẹ thay vì toàn bộ các model có dung lượng nhiều gigabyte, cộng đồng AI có thể đẩy nhanh open-source collaboration in AI. Khi các task vectors tùy chỉnh của bạn đã được tinh chỉnh, việc sử dụng Ultralytics Platform sẽ đơn giản hóa các quy trình model deployment và giám sát tiếp theo, đảm bảo các trọng số đã tối ưu của bạn được chuyển đổi trực tiếp thành các endpoint sẵn sàng cho sản xuất.






