Task Vectors
Ein Task-Vektor ist die Differenz zwischen den Gewichten eines feinabgestimmten Modells und denen des Basismodells. Er erfasst eine Fähigkeit, die sich hinzufügen, entfernen oder zusammenführen lässt. Der Artikel behandelt Anwendungsfälle.
Aufgabenvektoren bilden die spezifischen Änderungen an den Gewichten eines neuronalen Netzes ab, die beim Feintuning vorgenommen wurden, um eine neue Fähigkeit zu erwerben. Indem Forschende die Parameter eines grundlegenden Basismodells von denen eines feinabgestimmten Modells abziehen, können sie einen gerichteten Vektor im Gewichtsraum isolieren, der das für die jeweilige Aufgabe erlernte Verhalten abbildet. So können Entwickler einfache Rechenoperationen mit Modellparametern ausführen, um Modellverhalten zu steuern, zu verändern oder zusammenzuführen, ohne zusätzliche Rechenleistung für das Training zu benötigen.
Aufgabenvektoren von Transfer Learning abgrenzen#
Beim Transfer Learning wird ein Modell nacheinander mit einem neuen Datensatz trainiert, um sein vorhandenes Wissen anzupassen. Aufgabenvektoren hingegen wirken nach dem Training direkt auf die strukturellen Gewichte des Modells. Anstatt Gradienten neu zu trainieren, um eine neue Domäne zu erlernen, können Praktiker mithilfe der Interpolation im Gewichtsraum und von Aufgabenvektoren die Gewichtsunterschiede mehrerer unabhängig trainierter Modelle linear kombinieren. Dies ermöglicht das Zero-Shot- Zusammenführen von Modellen, sodass ein einzelnes Modell mehrere Fähigkeiten gleichzeitig übernehmen kann – ohne den üblichen Rechenaufwand während des Trainings.
Anwendungen in der Praxis#
Die Möglichkeit, Deep-Learning-Modelle algebraisch zu verändern, hat zu mehreren wirkungsvollen Anwendungen in modernen KI-Pipelines geführt:
- Zusammenführen von Modellen für mehrere Aufgaben: Entwickler können Aufgabenvektoren aus Feintuning-Läufen desselben Basismodells kombinieren, etwa aus zwei Objekterkennungs-Modellen, die mit unterschiedlichen Datensätzen trainiert wurden. Aufgabenvektoren lassen sich nur bei identischen Architekturen kombinieren; daher kann ein feinabgestimmtes Erkennungsmodell nicht mit einem Modell zur Bildsegmentierung zusammengeführt werden. Bei Anwendung auf ein Ultralytics YOLO26-Basismodell entsteht so ein einzelnes Modell, das die Stärken der beiden ursprünglichen Feintuning-Versionen vereint.
- Maschinelles Verlernen und KI-Sicherheit: Wenn ein Modell voreingenommene oder gefährliche Ausgaben erzeugt, können Forschende einen Aufgabenvektor berechnen, der dieses unerwünschte Verhalten abbildet. Indem sie diesen Vektor von den Modellgewichten abziehen, können sie das Verhalten effektiv „auslöschen“ und so zu besseren Standards für KI-Sicherheit und eine robuste KI-Ethik beitragen.
- Domänenanpassung in der Computervision: Bei der Anpassung von Modellen an bestimmte Umgebungen – etwa beim Wechsel von der Tages- zur nächtlichen Echtzeitinferenz – können Nutzer mit Aufgabenvektoren die Stärke der Anpassung skalieren. Wird nur ein Teil des Vektors angewendet (z. B. mit einem Skalierungsfaktor von 0.5), kann ein ausgewogenes Modell entstehen, das in beiden Domänen gut funktioniert.
Mit Aufgabenvektoren in PyTorch arbeiten#
Zum Erstellen und Anwenden eines Aufgabenvektors musst du auf das PyTorch-Zustandsverzeichnis zugreifen und es bearbeiten. Das folgende Beispiel zeigt, wie sich ein Aufgabenvektor aus einem feinabgestimmten Ultralytics YOLO26-Modell extrahieren und mit einem bestimmten Skalierungsfaktor auf das Basismodell anwenden lässt.
from ultralytics import YOLO
# Die Zustandsverzeichnisse des Basis- und des feinabgestimmten Modells laden
base_weights = YOLO("yolo26n.pt").model.state_dict()
tuned_weights = YOLO("yolo26n-custom.pt").model.state_dict()
# Aufgabenvektor berechnen (angepasste Gewichte minus Basisgewichte) und ganzzahlige Puffer überspringen
task_vector = {k: tuned_weights[k] - base_weights[k] for k in base_weights if base_weights[k].is_floating_point()}
# Den Aufgabenvektor mit einem Skalierungsfaktor von 0.5 auf das Basismodell anwenden
for k, delta in task_vector.items():
base_weights[k] += 0.5 * deltaDie Zukunft der Gewichtsmanipulation#
Da Architekturen wie große Sprachmodelle und umfangreiche Vision Transformer immer mehr Parameter enthalten, wird es wirtschaftlich unrentabel, sie für jede kleine Anpassung neu zu trainieren. Aufgabenvektoren bieten eine mathematisch elegante Alternative zur Modelloptimierung nach dem Training. Indem die KI-Community kompakte Aufgabenvektoren statt ganzer Modelle mit mehreren Gigabyte austauscht, kann sie die Open-Source-Zusammenarbeit im Bereich KI beschleunigen. Sobald deine benutzerdefinierten Aufgabenvektoren optimiert sind, erleichtert die Ultralytics Platform die anschließende Modellbereitstellung und Überwachung. So lassen sich deine optimierten Gewichte direkt in produktionsreife Endpunkte überführen.










