Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Pruning

Ottimizza i modelli di IA con la potatura: riduci la complessità, aumenta l'efficienza e implementa più velocemente sui dispositivi edge senza sacrificare le prestazioni.

Il pruning è una tecnica critica nell'apprendimento apprendimento automatico che mira a ridurre le dimensioni e la complessità computazionale di una rete neurale (NN) rimuovendo i parametri non necessari. parametri non necessari. Proprio come la potatura dei rami morti di un albero per favorire una crescita sana, la potatura del modello identifica ed elimina i pesi del modello o le connessioni che non sono necessarie. eliminare i pesi o le connessioni del modello che che contribuiscono minimamente all'output del sistema. L'obiettivo principale è quello di creare un modello rado che mantenga un'alta accuratezza, riducendo al contempo in modo significativo l'uso della memoria e di memoria e migliorando la latenza dell'inferenza. Questo processo è Questo processo è essenziale per l'implementazione di architetture sofisticate, quali Ultralytics YOLO11su dispositivi con risorse limitate, dove di memoria e di elaborazione sono limitate.

Come funziona il pruning

Il processo inizia in genere con un modello pre-addestrato. Gli algoritmi analizzano la rete per trovare i parametri - spesso rappresentati come tensori - che hanno valori prossimi allo zero o un impatto limitato sulla previsione finale. rappresentati come tensori, che hanno valori prossimi allo zero o un impatto limitato sulla previsione finale. Questi parametri vengono rimossi o "azzerati". Dato che la rimozione delle connessioni può temporaneamente degradare le prestazioni, il modello di solito viene sottoposto a un processo chiamato " fine-tuning", in cui viene riaddestrato per alcune epoche per consentire ai pesi rimanenti di adattarsi e recuperare la pesi rimanenti di adattarsi e recuperare l'accuratezza perduta.

Esistono due categorie principali di potatura:

  • Pruning non strutturato: Questo metodo rimuove i singoli pesi in qualsiasi punto della rete in base alla grandezza. Sebbene sia efficace per ridurre il numero dei parametri, crea schemi di accesso alla memoria irregolari che potrebbero non migliorare la velocità sulle CPU standard senza un supporto software o hardware specializzato, come ad esempio Le funzioni di sparsity diNVIDIA.
  • Potatura strutturata: Questo approccio rimuove interi componenti strutturali, come neuroni, canali o strati all'interno del sistema, o strati all'interno di una rete neurale convoluzionale (CNN). Mantenendo la struttura della matrice, questo metodo è più facile da usare per l'hardware standard e di solito si traduce in immediati aumenti di velocità durante inferenza in tempo reale.

Pruning vs. Quantizzazione vs. Distillazione

È importante distinguere la potatura da altre strategie di strategie di ottimizzazione del modello, anche se spesso vengono utilizzate insieme:

  • Quantizzazione del modello: Invece di rimuovere i parametri, la quantizzazione invece di rimuovere i parametri, la quantizzazione riduce la precisione dei pesi (ad esempio, convertendo da 32 bit a virgola mobile a 8 bit interi). a 32 bit a numeri interi a 8 bit).
  • Distillazione della conoscenza: Si tratta di addestrare un modello "studente" più piccolo a imitare il comportamento di un modello "insegnante" più grande, piuttosto che modificare direttamente il modello più grande. modello più grande, piuttosto che modificare direttamente il modello più grande.
  • Potatura: Si concentra specificamente sulla rimozione di connessioni o strutture per indurre la sparsità.

Applicazioni nel mondo reale

La potatura svolge un ruolo fondamentale nell'abilitare l'IA Edge in vari settori:

  1. Robotica autonoma: I robot che utilizzano la visione computerizzata per la navigazione devono elaborare dati visivi a livello locale per evitare la latenza. La potatura consente di eseguire modelli modelli di rilevamento degli oggetti complessi da eseguire sull'hardware di droni o robot per le consegne, garantendo sicurezza ed efficienza. Per saperne di più l 'integrazione della computer vision nella robotica.
  2. Diagnostica sanitaria mobile: Le applicazioni mediche spesso richiedono l'analisi di scansioni ad alta risoluzione direttamente su tablet o smartphone per proteggere la privacy dei dati dei pazienti. I modelli troncati consentono a questi dispositivi di eseguire operazioni come il rilevamento dei tumori senza caricare dati sensibili nel cloud. Scoprite come l 'intelligenza artificiale nell'assistenza sanitaria sta trasformando la diagnostica.

Esempio pratico

Mentre Ultralytics YOLO sono altamente ottimizzati in partenza, gli sviluppatori possono sperimentare la potatura utilizzando le utility standard di PyTorch . L'esempio seguente mostra come applicare il pruning non strutturato a un livello convoluzionale standard presente nei modelli di visione artificiale.

import torch
import torch.nn.utils.prune as prune
from ultralytics.nn.modules import Conv

# Initialize a standard convolutional block used in YOLO models
layer = Conv(c1=64, c2=128)

# Apply L1 unstructured pruning to remove 30% of the lowest magnitude weights
prune.l1_unstructured(layer.conv, name="weight", amount=0.3)

# Verify the sparsity (percentage of zero weights)
sparsity = float(torch.sum(layer.conv.weight == 0)) / layer.conv.weight.nelement()
print(f"Layer sparsity achieved: {sparsity:.2%}")

I futuri progressi nell'architettura efficiente, come l'imminente YOLO26, mirano a integrare questi principi di ottimizzazione in modo nativo, creando modelli più piccoli, più veloci e più accurati. principi di ottimizzazione, creando modelli più piccoli, più veloci e più precisi.

Concetti chiave e risorse

  • Sparsità: La condizione in cui una matrice contiene per lo più valori nulli, un risultato diretto di un'aggressiva potatura.
  • Ipotesi del biglietto della lotteria: Un concetto fondamentale dei ricercatori del ricercatori del MIT che suggerisce che le reti dense contengono sottoreti più piccole (biglietti vincenti) che sottoreti più piccole (biglietti vincenti) che possono eguagliare l'accuratezza originale se addestrate in modo isolato.
  • Messa a punto: Il processo di riqualificazione del modello modello tagliato per adattare i pesi rimanenti alla nuova struttura semplificata. pesi rimanenti alla nuova struttura semplificata.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora