Task Vectors
Scopri come i task vector consentono un efficiente unione dei modelli e la direzione del comportamento. Scopri come manipolare i pesi di Ultralytics YOLO26 per il multi-tasking zero-shot.
I vettori di attività rappresentano le modifiche specifiche apportate ai pesi di una rete neurale durante il fine-tuning per ottenere una nuova funzionalità. Sottraendo i parametri di un modello base fondamentale da quelli di un modello sottoposto a fine-tuning, i ricercatori possono isolare un vettore direzionale nello spazio dei pesi che incapsula il comportamento appreso per quella specifica attività. Questo approccio consente agli sviluppatori di applicare semplici operazioni aritmetiche sui parametri del modello per orientare, modificare o unire i comportamenti del modello senza richiedere ulteriore potenza di calcolo per l'addestramento.
Link to this sectionCome si differenziano i vettori di attività dal transfer learning#
Mentre il concetto di transfer learning prevede l'addestramento sequenziale di un modello su un nuovo dataset per adattare le sue conoscenze esistenti, i vettori di attività operano direttamente sui pesi strutturali del modello dopo l'addestramento. Invece di riaddestrare i gradienti per apprendere un nuovo dominio, l'interpolazione dello spazio dei pesi tramite i vettori di attività consente ai professionisti di combinare linearmente le differenze di peso provenienti da più modelli addestrati in modo indipendente. Ciò abilita il model merging zero-shot, permettendo a un singolo modello di ereditare molteplici funzionalità contemporaneamente senza il tipico sovraccarico computazionale durante l'addestramento.
Link to this sectionApplicazioni nel mondo reale#
La capacità di manipolare algebricamente i modelli di deep learning ha portato a diverse applicazioni di impatto all'interno delle moderne pipeline di IA:
- Multi-Task Model Merging: Gli ingegneri possono combinare un vettore di attività ottimizzato per l'object detection con uno addestrato per la segmentazione delle immagini. Quando applicato a un modello base Ultralytics YOLO26, ciò crea un'architettura a doppio scopo che eccelle in entrambe le attività simultaneamente, preservando i punti di forza di ciascun fine-tuning originale.
- Machine Unlearning e sicurezza dell'IA: Se un modello presenta output distorti o pericolosi, i ricercatori possono calcolare un vettore di attività che rappresenti quello specifico comportamento indesiderato. Sottraendo questo vettore dai pesi del modello, possono effettivamente "cancellare" il comportamento, contribuendo significativamente al miglioramento della sicurezza dell'IA e a standard solidi di etica dell'IA.
- Adattamento al dominio nella computer vision: Quando si adattano modelli per ambienti specifici, come il passaggio dall' inferenza in tempo reale diurna a quella notturna, i vettori di attività consentono agli utenti di regolare l'entità dell'adattamento. L'applicazione di una frazione del vettore (ad esempio, un fattore di scala di 0,5) può produrre un modello bilanciato che offre ottime prestazioni in entrambi i domini.
Link to this sectionLavorare con i vettori di attività in PyTorch#
La creazione e l'applicazione di un vettore di attività richiedono l'accesso e la manipolazione del state dictionary di PyTorch. L'esempio seguente mostra come estrarre un vettore di attività da un modello YOLO26 sottoposto a fine-tuning e riapplicarlo al modello base con uno specifico fattore di scala.
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]Link to this sectionIl futuro della manipolazione dei pesi#
Poiché architetture come i modelli linguistici di grandi dimensioni e i massicci Vision Transformer aumentano il numero di parametri, riaddestrarli per ogni minimo aggiustamento diventa economicamente insostenibile. I vettori di attività offrono un'alternativa matematicamente elegante per l'ottimizzazione del modello post-addestramento. Condividendo vettori di attività leggeri invece di interi modelli da diversi gigabyte, la comunità dell'IA può accelerare la collaborazione open-source nell'IA. Una volta perfezionati i tuoi vettori di attività personalizzati, l'utilizzo di Ultralytics Platform semplifica i successivi processi di distribuzione del modello e monitoraggio, garantendo che i tuoi pesi ottimizzati si traducano direttamente in endpoint pronti per la produzione.






