Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Torna al glossario Ultralytics

KV Cache

Scopri come la KV Cache ottimizza modelli Transformer come gli LLM. Impara come questa tecnica riduce la latenza di inferenza e aumenta l'efficienza per Ultralytics YOLO26.

La KV Cache (Key-Value Cache) è una tecnica di ottimizzazione critica utilizzata principalmente nei Large Language Models (LLMs) e in altre architetture basate su Transformer per accelerare la latenza di inferenza e ridurre i costi computazionali. Fondamentalmente, la KV cache memorizza le matrici Key e Value generate dal meccanismo di attenzione per i token precedenti in 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 di generazione del testo da un'operazione a complessità quadratica in una lineare, rendendo fattibili le interazioni in tempo reale con chatbot e agenti IA.

Link to this sectionMeccanismo e vantaggi#

In un modello Transformer standard, la generazione della parola successiva richiede di prestare attenzione a tutte le parole precedenti per comprenderne il contesto. Senza il caching, il modello dovrebbe ricalcolare le relazioni matematiche per l'intera sequenza a ogni passaggio. La KV cache risolve questo problema fungendo da banca di memoria.

  • Miglioramento della velocità: Recuperando chiavi e valori pre-calcolati dalla memoria, il sistema accelera drasticamente il motore di inferenza. Questo è essenziale per le applicazioni che richiedono una bassa latenza, come l'inferenza in tempo reale nei bot del servizio clienti.
  • Efficienza delle risorse: Sebbene aumenti l'utilizzo della memoria (VRAM), riduce significativamente il calcolo (FLOPs) richiesto per token. Questo compromesso viene spesso gestito attraverso tecniche come la quantizzazione del modello o il paging, in modo simile a come i sistemi operativi gestiscono la RAM.
  • 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.

Link to this sectionApplicazioni nel mondo reale#

La KV cache è un componente fondamentale nella distribuzione della moderna IA generativa, ma i suoi principi si estendono anche alla computer vision (CV).

  1. Chatbot generativi: Servizi come ChatGPT o Claude si basano pesantemente sul KV caching. Quando un utente pone una domanda di follow-up, il modello non rilegge l'intera cronologia della chat da zero. Invece, aggiunge il nuovo input agli stati memorizzati nella cache del turno precedente, consentendo risposte quasi istantanee.

  2. Comprensione video: Nelle attività di comprensione video, i modelli elaborano i fotogrammi in sequenza. Similmente ai token di testo, le caratteristiche visive dei fotogrammi passati possono essere memorizzate nella cache per aiutare il modello a tracciare oggetti o riconoscere azioni senza rielaborare l'intera cronologia video. Questo è particolarmente rilevante per il riconoscimento delle azioni, dove il contesto temporale è cruciale.

Link to this sectionGestione efficiente della memoria#

Man mano che i modelli diventano più grandi, la dimensione della KV cache può diventare un collo di bottiglia, consumando gigabyte di memoria GPU. I recenti progressi si concentrano sull'ottimizzazione di questa archiviazione.

  • PagedAttention: Ispirato alla memoria virtuale nei sistemi operativi, PagedAttention (introdotto da vLLM) consente alla KV cache di essere archiviata in blocchi di memoria non contigui. Ciò riduce la frammentazione e consente batch size maggiori durante il model serving.
  • Quantizzazione della KV Cache: Per risparmiare spazio, gli sviluppatori applicano spesso la precisione mista o la quantizzazione int8 specificamente ai valori memorizzati nella cache. Ciò riduce l'impronta di memoria, consentendo ai dispositivi di edge AI con RAM limitata di eseguire modelli capaci.
  • Prompt Caching: Una tecnica correlata in cui gli stati KV di un prompt di sistema statico (ad esempio, "Sei un utile assistente di programmazione") vengono calcolati una volta e riutilizzati in molte sessioni utente diverse. Questa è una funzionalità fondamentale per ottimizzare i flussi di lavoro di prompt engineering su larga scala.

Link to this sectionDistinguere concetti correlati#

È utile differenziare la KV Cache da altri termini di caching e ottimizzazione:

  • KV Cache vs. Prompt Caching: La KV Cache si riferisce solitamente alla memoria dinamica, token per token, utilizzata durante un singolo flusso di generazione. Il prompt caching si riferisce specificamente alla memorizzazione dello stato elaborato di un'istruzione di input fissa da riutilizzare in più chiamate di inferenza indipendenti.
  • KV Cache vs. Embeddings: Gli embeddings sono rappresentazioni vettoriali di dati di input (testo o immagini) che catturano il significato semantico. La KV cache memorizza le attivazioni (chiavi e valori) derivate da questi embeddings all'interno degli strati di attenzione, specificamente allo scopo di generare sequenze.
  • KV Cache vs. Model Weights: I pesi del modello sono i parametri statici e appresi della rete neurale. La KV cache è costituita da dati dinamici e temporanei generati durante il passaggio in avanti (forward pass) di una specifica sequenza di input.

Link to this sectionEsempio: Contesto nei modelli di visione#

Sebbene il KV caching sia più famoso nell'NLP, il concetto di mantenimento dello stato si applica ai modelli di visione avanzati. Nell'esempio sottostante, simuliamo l'idea di passare lo stato (contesto) in uno scenario di tracciamento video utilizzando 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 dataset e distribuire modelli ottimizzati possono utilizzare la Ultralytics Platform, che semplifica il processo dall'annotazione dei dati all'efficiente distribuzione del modello. Per coloro interessati ai meccanismi più profondi dell'attenzione, librerie come PyTorch forniscono i blocchi fondamentali in cui sono implementati questi meccanismi di caching.

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning