Ultralytics YOLO27:
Torna al glossario di Ultralytics

KV Cache

Scopri come la KV Cache ottimizza i modelli Transformer come gli LLM. Scopri come questa tecnica riduce la latenza dell'inferenza e migliora l'efficienza di Ultralytics YOLO26.

KV Cache (cache chiave-valore) è una tecnica di ottimizzazione fondamentale, utilizzata soprattutto nei modelli linguistici di grandi dimensioni (LLMs) e in altre architetture basate su Transformer per accelerare la latenza di inferenza e ridurre i costi computazionali. In sostanza, la KV cache memorizza le matrici Key e Value generate dal meccanismo di attenzione per i token precedenti di una sequenza. Salvando questi calcoli intermedi, il modello evita di ricalcolare gli stati di attenzione per l’intera cronologia della conversazione ogni volta che genera un nuovo token. Questo processo trasforma il flusso di lavoro della generazione del testo da un’operazione a complessità quadratica a una lineare, rendendo possibili le interazioni in tempo reale con chatbot e agenti IA.

Meccanismo e vantaggi#

In un modello Transformer standard, per generare la parola successiva occorre prestare attenzione a tutte quelle precedenti per comprendere il contesto. Senza memorizzazione nella cache, il modello dovrebbe ricalcolare le relazioni matematiche dell’intera sequenza a ogni passaggio. La KV cache risolve il problema fungendo da memoria.

  • Miglioramento della velocità: Recuperando dalla memoria chiavi e valori precalcolati, il sistema accelera notevolmente il motore di inferenza. Questo è essenziale per le applicazioni che richiedono una latenza ridotta, come l’inferenza in tempo reale nei bot di assistenza clienti.
  • Efficienza delle risorse: Sebbene aumenti l’uso della memoria (VRAM), riduce significativamente il calcolo (FLOPs) richiesto per token. Questo compromesso viene spesso gestito con tecniche come la quantizzazione del modello o il paging, in modo simile alla gestione della RAM da parte dei sistemi operativi.
  • Contesto esteso: Una gestione efficiente della KV cache consente ai modelli di gestire una finestra di contesto più ampia, permettendo loro di elaborare documenti lunghi o mantenere conversazioni coerenti per periodi prolungati.

Applicazioni nel mondo reale#

La KV cache è un componente fondamentale per distribuire l’IA generativa moderna, ma i suoi principi si applicano anche alla visione artificiale (CV).

  1. Chatbot generativi: Servizi come ChatGPT o Claude fanno ampio affidamento sulla KV cache. Quando un utente pone una domanda di approfondimento, il modello non rilegge da zero l’intera cronologia della chat. Aggiunge invece il nuovo input agli stati memorizzati nella cache del turno precedente, consentendo risposte quasi istantanee.

  2. Comprensione dei video: Nelle attività di comprensione dei video, i modelli elaborano i fotogrammi in sequenza. Come i token di testo, le caratteristiche visive dei fotogrammi precedenti possono essere memorizzate nella cache per aiutare il modello a tracciare gli oggetti o riconoscere le azioni senza rielaborare l’intera cronologia del video. Ciò è particolarmente utile per il riconoscimento delle azioni, in cui il contesto temporale è fondamentale.

Gestione efficiente della memoria#

Man mano che i modelli crescono, le dimensioni della KV cache possono diventare un collo di bottiglia, consumando gigabyte di memoria GPU. I progressi recenti si concentrano sull’ottimizzazione di questa archiviazione.

  • PagedAttention: Ispirato alla memoria virtuale dei sistemi operativi, PagedAttention (introdotto da vLLM) consente di archiviare la KV cache in blocchi di memoria non contigui. Ciò riduce la frammentazione e permette batch di dimensioni maggiori durante la distribuzione dei modelli.
  • Quantizzazione della KV cache: Per risparmiare spazio, gli sviluppatori applicano spesso la precisione mista o la quantizzazione int8 specificamente ai valori memorizzati nella cache. Questo riduce l’ingombro in memoria, consentendo ai dispositivi di IA edge con RAM limitata di eseguire modelli performanti.
  • Prompt caching: Tecnica correlata in cui gli stati KV di un prompt di sistema statico (ad esempio, «Sei un assistente di programmazione disponibile») vengono calcolati una sola volta e riutilizzati in diverse sessioni utente. È una funzionalità fondamentale per ottimizzare su larga scala i flussi di lavoro di prompt engineering.

È utile distinguere la KV cache da altri termini relativi alla memorizzazione nella cache e all’ottimizzazione:

  • KV cache vs. prompt caching: La KV cache si riferisce in genere alla memoria dinamica, token per token, usata durante una singola generazione. Il prompt caching indica specificamente l’archiviazione dello stato elaborato di un’istruzione fissa, da riutilizzare in più chiamate di inferenza indipendenti.
  • KV cache vs. embedding: Gli embedding sono rappresentazioni vettoriali dei dati di input (testo o immagini) che ne catturano il significato semantico. La KV cache memorizza le attivazioni (chiavi e valori) derivate da questi embedding nei livelli di attenzione, specificamente per generare sequenze.
  • KV cache vs. pesi del modello: I pesi del modello sono i parametri appresi e statici della rete neurale. La KV cache è composta da dati dinamici e temporanei generati durante il passaggio in avanti di una specifica sequenza di input.

Esempio: contesto nei modelli di visione#

Sebbene la KV cache sia particolarmente nota nell’NLP, il concetto di mantenere uno stato si applica anche ai modelli di visione avanzati. Nell’esempio seguente, simuliamo l’idea di passare uno stato (contesto) in uno scenario di tracciamento video usando Ultralytics YOLO26. Qui, il tracker mantiene l’identità degli oggetti tra i fotogrammi, in modo concettualmente simile a come una cache mantiene il contesto tra i token.

from ultralytics import YOLO

# Load the Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")

# Track objects in a video, maintaining identity state across frames
# The 'track' mode effectively caches object features to link detections
results = model.track(source="https://ultralytics.com/images/bus.jpg", show=False)

# Print the ID of the tracked objects
if results[0].boxes.id is not None:
    print(f"Tracked IDs: {results[0].boxes.id.numpy()}")

Gli sviluppatori che desiderano gestire set di dati e distribuire modelli ottimizzati possono usare la Ultralytics Platform, che semplifica la pipeline dall’annotazione dei dati alla distribuzione efficiente dei modelli. Chi è interessato ai meccanismi più approfonditi dell’attenzione può trovare in librerie come PyTorch i blocchi fondamentali in cui vengono implementati questi meccanismi di memorizzazione nella cache.

Explore solutions

Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning