Task Vectors
Lerne, wie Aufgabenvektoren eine effiziente Zusammenführung von Modellen und Verhaltenssteuerung ermöglichen. Entdecke, wie du Ultralytics YOLO26-Gewichte für Zero-Shot-Multitasking manipulieren kannst.
Task-Vektoren repräsentieren die spezifischen Änderungen, die während des Fine-Tunings an den Gewichten eines neuronalen Netzwerks vorgenommen werden, um eine neue Fähigkeit zu erreichen. Durch Subtraktion der Parameter eines fundamentalen Basismodells von denen eines feinabgestimmten Modells können Forscher einen gerichteten Vektor im Gewichtsraum isolieren, der das erlernte Verhalten für diese spezifische Aufgabe verkapselt. Dieser Ansatz ermöglicht es Entwicklern, einfache Arithmetikoperationen an Modellparametern anzuwenden, um das Modellverhalten zu steuern, zu modifizieren oder zusammenzuführen, ohne zusätzlichen Trainings-Compute zu benötigen.
Wie sich Task Vectors von Transfer Learning unterscheiden#
Während das Konzept des Transfer Learning das sequenzielle Trainieren eines Modells auf einem neuen Datensatz zur Anpassung seines bestehenden Wissens beinhaltet, operieren Task-Vektoren direkt auf den strukturellen Gewichten des Modells nach dem Training. Anstatt Gradienten neu zu trainieren, um eine neue Domäne zu lernen, ermöglicht die Gewichtsraum-Interpolation mithilfe von Task-Vektoren Entwicklern, die Gewichts-Unterschiede aus mehreren unabhängig trainierten Modellen linear zu kombinieren. Dies ermöglicht Zero-Shot-Modellzusammenführung, wodurch ein einzelnes Modell mehrere Fähigkeiten gleichzeitig erben kann, ohne den typischen Rechenaufwand beim Training.
Praxisanwendungen#
Die Fähigkeit, Deep Learning-Modelle algebraisch zu manipulieren, hat zu mehreren wirkungsvollen Anwendungen in modernen KI-Pipelines geführt:
- Multi-Task-Modellzusammenführung: Ingenieure können einen für die Objekterkennung optimierten Task-Vektor mit einem anderen kombinieren, der für die Bildsegmentierung trainiert wurde. Wenn dies auf ein Ultralytics YOLO26-Basismodell angewendet wird, entsteht eine duale Architektur, die sich bei beiden Aufgaben gleichzeitig auszeichnet und die Stärken jeder ursprünglichen Feinanpassung bewahrt.
- Machine Unlearning und KI-Sicherheit: Wenn ein Modell voreingenommene oder gefährliche Ausgaben zeigt, können Forscher einen Task-Vektor berechnen, der dieses spezifische unerwünschte Verhalten repräsentiert. Durch die Subtraktion dieses Vektors von den Gewichten des Modells können sie das Verhalten effektiv „löschen“, was stark zu einer verbesserten KI-Sicherheit und robusten Standards für KI-Ethik beiträgt.
- Domänenanpassung in Computer Vision: Bei der Anpassung von Modellen an spezifische Umgebungen – wie etwa dem Wechsel von Tag zu Nacht bei der Echtzeit-Inferenz – ermöglichen Task-Vektoren den Benutzern, die Stärke der Anpassung zu skalieren. Die Anwendung eines Bruchteils des Vektors (z. B. ein Skalierungsfaktor von 0,5) kann ein ausgewogenes Modell ergeben, das in beiden Domänen gute Leistungen erbringt.
Arbeiten mit Task Vectors in PyTorch#
Das Erstellen und Anwenden eines Task-Vectors erfordert den Zugriff auf und die Manipulation des PyTorch State Dictionary. Das folgende Beispiel zeigt, wie du einen Task-Vector aus einem fine-getunten Ultralytics YOLO26-Modell extrahierst und ihn mit einem spezifischen Skalierungsfaktor wieder auf das Basismodell anwendest.
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]Die Zukunft der Gewichtsmanipulation#
Da Architekturen wie Large Language Models und massive Vision Transformer in ihrer Parameteranzahl wachsen, wird das erneute Training für jede kleine Anpassung wirtschaftlich undurchführbar. Task-Vektoren bieten eine mathematisch elegante Alternative für die Modelloptimierung nach dem Training. Durch das Teilen leichtgewichtiger Task-Vektoren anstelle ganzer Multi-Gigabyte-Modelle kann die KI-Community die Open-Source-Zusammenarbeit in der KI beschleunigen. Sobald Ihre benutzerdefinierten Task-Vektoren verfeinert sind, vereinfacht die Nutzung der Ultralytics Platform die nachfolgenden Modellbereitstellungs- und Überwachungsprozesse und stellt sicher, dass Ihre optimierten Gewichte direkt in produktionsbereite Endpunkte übersetzt werden.






