Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Aufgabenvektoren

Erfahren Sie, wie Aufgabenvektoren eine effiziente Modellzusammenführung und Verhaltenssteuerung ermöglichen. Entdecken Sie, wie Sie die Gewichte Ultralytics für Zero-Shot-Multitasking anpassen können.

Aufgabenvektoren stellen die spezifischen Änderungen dar, die während des Fine-Tunings an den Gewichten eines neuronalen Netzes vorgenommen werden, um eine neue Fähigkeit zu erreichen. Durch Subtraktion der Parameter eines grundlegenden Basismodells von denen eines feinabgestimmten Modells können Forscher einen Richtungsvektor im Gewichtsraum isolieren, der das erlernte Verhalten für diese spezifische Aufgabe zusammenfasst. Dieser Ansatz ermöglicht es Entwicklern, einfache arithmetische Operationen auf Modellparameteranzuwenden, um Modellverhalten zu steuern, zu modifizieren oder zusammenzuführen, ohne dass zusätzliche Rechenleistung für das Training erforderlich ist.

Wie sich Aufgabenvektoren vom Transferlernen unterscheiden

Während das Konzept des Transferlernens darin besteht, ein Modell schrittweise auf einem neuen Datensatz zu trainieren, um sein vorhandenes Wissen anzupassen, wirken Aufgabenvektoren direkt auf die strukturellen Gewichte des Modells nach dem Training ein. Anstatt Gradienten neu zu trainieren, um eine neue Domäne zu erlernen, ermöglicht die Gewichtsrauminterpolation unter Verwendung von Aufgabenvektoren den Anwendern, die Gewichtsunterschiede mehrerer unabhängig voneinander trainierter Modelle linear zu kombinieren. Dies ermöglicht eine Zero-Shot- Modellzusammenführung, wodurch ein einzelnes Modell mehrere Fähigkeiten gleichzeitig übernehmen kann, ohne den typischen Rechenaufwand während des Trainings.

Anwendungsfälle in der Praxis

Die Möglichkeit, Deep-Learning -Modelle algebraisch zu manipulieren, hat zu mehreren wegweisenden Anwendungen in modernen KI-Pipelines geführt:

  • Zusammenführung von Multitask-Modellen: Entwickler können einen für die Objekterkennung optimierten Aufgabenvektor mit einem für die Bildsegmentierung trainierten Vektor kombinieren. Bei Anwendung auf ein Ultralytics entsteht so eine Architektur mit doppeltem Verwendungszweck, die beide Aufgaben gleichzeitig hervorragend bewältigt und dabei die Stärken der jeweiligen ursprünglichen Feinabstimmung beibehält.
  • Maschinelles „Unlernen“ und KI-Sicherheit: Wenn ein Modell voreingenommene oder gefährliche Ergebnisse liefert, können Forscher einen Aufgabenvektor berechnen, der dieses spezifische unerwünschte Verhalten repräsentiert. Indem sie diesen Vektor von den Gewichten des Modells abziehen, können sie das Verhalten effektiv „auslöschen“, was wesentlich zu einer verbesserten KI-Sicherheit und robusten KI-Ethikstandards beiträgt.
  • Domänenanpassung in der Bildverarbeitung: Bei der Anpassung von Modellen an bestimmte Umgebungen – beispielsweise beim Übergang von der Tages- zur Nachtzeit in der Echtzeit-Inferenz– ermöglichen Aufgabenvektoren den Anwendern, den Umfang der Anpassung zu skalieren. Die Anwendung eines Bruchteils des Vektors (z. B. eines Skalierungsfaktors von 0,5) kann zu einem ausgewogenen Modell führen, das in beiden Domänen gute Ergebnisse liefert.

Arbeiten mit Task-Vektoren in PyTorch

Das Erstellen und Anwenden eines Aufgabenvektors erfordert den Zugriff auf das PyTorch und dessen Bearbeitung. Das folgende Beispiel zeigt, wie man einen Aufgabenvektor aus einem feinabgestimmten YOLO26-Modell extrahiert und ihn mit einem bestimmten Skalierungsfaktor wieder auf das Basismodell anwendet.

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 große Sprachmodelle und riesige Vision- Transformer immer mehr Parameter umfassen, wird es wirtschaftlich unrentabel, sie bei jeder noch so kleinen Anpassung neu zu trainieren. Aufgabenvektoren Vektoren bieten eine mathematisch elegante Alternative für die Modelloptimierung nach dem Training . Durch den Austausch von schlanken Aufgabenvektoren anstelle ganzer, mehrere Gigabyte großer Modelle kann die KI-Community die Open-Source-Zusammenarbeit im KI-Bereich beschleunigen. Sobald Ihre benutzerdefinierten Aufgabenvektoren verfeinert sind, vereinfacht die Nutzung der Ultralytics die anschließenden Modellbereitstellungs- und Überwachungsprozesse und stellt sicher, dass Ihre optimierten Gewichte direkt in produktionsreife Endpunkte umgesetzt werden.

Lassen Sie uns gemeinsam die Zukunft der KI gestalten!

Beginnen Sie Ihre Reise mit der Zukunft des maschinellen Lernens