Ring Attention
Scopri come la Ring Attention estenda i Transformer a lunghezze di sequenza infinite. Impara come questa tecnica migliori gli LLM e i Vision Transformer per attività con enormi quantità di dati.
Ring Attention è una tecnica avanzata di apprendimento automatico (ML) progettata per estendere la finestra di contesto delle architetture Transformer a lunghezze di sequenza virtualmente infinite. Distribuendo il complesso calcolo dell'attenzione su un cluster di GPU connesse in una topologia ad anello, sovrappone efficacemente comunicazione e calcolo. Questa innovazione architetturale consente ai grandi modelli linguistici (LLMs) e ai Transformer per la visione (ViT) di elaborare input enormi, come interi libri o ore di video continuo, che superano di gran lunga la capacità di memoria di qualsiasi singolo dispositivo hardware.
Superare il limite della finestra di contesto#
Nei meccanismi standard di attenzione propria, il consumo di memoria cresce quadraticamente con la lunghezza della sequenza di input. Questo crea un grave collo di bottiglia per i modelli di deep learning (DL) che tentano di analizzare dati di grandi dimensioni. Per saperne di più su come la comunità dell'IA affronta questo problema, puoi consultare il lavoro di Berkeley AI Research sui modelli con contesto esteso.
Ring Attention risolve questo collo di bottiglia quadratico suddividendo query, chiavi e valori in blocchi più piccoli. Ogni GPU nella rete distribuita calcola un blocco, quindi passa chiavi e valori al dispositivo adiacente nell'anello. Questo trasferimento ciclico continua finché non viene calcolato l'intero meccanismo di attenzione. L'utilizzo di strumenti come il pacchetto di comunicazione distribuita di PyTorch consente agli sviluppatori di realizzare queste sofisticate pipeline di addestramento multi-dispositivo.
Ring Attention vs. Flash Attention#
Sebbene entrambe le tecniche ottimizzino la memoria, operano a livelli diversi. Flash Attention è un algoritmo consapevole dell'hardware che riduce al minimo le costose letture e scritture della memoria all'interno dell'SRAM di una singola GPU. Ring Attention, invece, è un algoritmo distribuito focalizzato sul ridimensionamento del calcolo su più GPU. Nei workflow di IA generativa all'avanguardia, queste due tecniche vengono spesso combinate per ottenere sia efficienza hardware locale sia un'enorme scalabilità multi-dispositivo, come illustrato nell'articolo di ricerca originale su Ring Attention pubblicato su arXiv.
Applicazioni nel mondo reale#
La capacità di elaborare simultaneamente milioni di token sblocca potenti funzionalità nell'IA moderna:
-
Analisi completa di documenti e basi di codice: Ring Attention consente ai modelli di acquisire milioni di righe di codice o raccolte giuridiche complesse in un singolo prompt. Questo migliora notevolmente i sistemi che si basano sulla generazione aumentata dal recupero (RAG), permettendo loro di sintetizzare il contesto senza troncare informazioni essenziali. Questo concetto è fondamentale per i modelli con contesto esteso come l'architettura Gemini di Google.
-
Comprensione estesa dei video: nella visione artificiale (CV), l'elaborazione di sequenze video ad alta risoluzione richiede generalmente un downsampling aggressivo. Ring Attention consente ai modelli di analizzare flussi video non compressi della durata di un'ora. Questo migliora il riconoscimento delle azioni e il tracciamento continuo degli oggetti nei sistemi di sicurezza e di guida autonoma, mantenendo la consapevolezza temporale per periodi prolungati.
Elaborazione delle sequenze visive#
Sebbene i modelli di attenzione distribuiti su larga scala gestiscano contesti infiniti, le applicazioni pratiche edge-first richiedono architetture altamente ottimizzate. Per l'inferenza in tempo reale e l'elaborazione di sequenze visive, Ultralytics YOLO26 offre prestazioni leader del settore senza l'enorme overhead computazionale dei Transformer basati esclusivamente sull'attenzione.
from ultralytics import YOLO
# Load the recommended YOLO26 model for high-speed object tracking
model = YOLO("yolo26n.pt")
# Perform robust multi-object tracking on a long video sequence
results = model.track(source="long_surveillance_feed.mp4", stream=True)
# Iterate through the stream to process temporal tracking data
for frame_result in results:
print(f"Tracked {len(frame_result.boxes)} objects in current frame.")Quando sviluppi e ridimensioni queste complesse soluzioni di rilevamento degli oggetti e segmentazione delle immagini, la gestione dell'orchestrazione hardware è fondamentale. La Ultralytics Platform semplifica completamente questo processo, offrendo strumenti per l'addestramento nel cloud senza interruzioni, l'annotazione automatizzata dei dataset e la distribuzione dei modelli con un clic su più ambienti hardware. Sfruttare queste piattaforme garantisce che le tecniche di scaling all'avanguardia passino senza problemi dalla ricerca a pipeline di IA scalabili e pronte per la produzione.









