Inferenza Hogwild!: Generazione Parallela di LLM tramite Attenzione Concorrente
Hogwild! Inference: Parallel LLM Generation via Concurrent Attention
April 8, 2025
Autori: Gleb Rodionov, Roman Garipov, Alina Shutova, George Yakushev, Vage Egiazarian, Anton Sinitsin, Denis Kuznedelev, Dan Alistarh
cs.AI
Abstract
I Large Language Model (LLM) hanno dimostrato la capacità di affrontare compiti sempre più complessi attraverso ragionamenti avanzati, generazione di contenuti estesi e utilizzo di strumenti. Risolvere questi compiti spesso richiede calcoli prolungati durante l'inferenza. Nella risoluzione di problemi umana, una strategia comune per accelerare il lavoro è la collaborazione: suddividendo il problema in sotto-compiti, esplorando diverse strategie in parallelo, ecc. Ricerche recenti hanno mostrato che anche gli LLM possono operare in parallelo implementando framework di cooperazione esplicita, come meccanismi di voto o la creazione esplicita di sotto-compiti indipendenti che possono essere eseguiti in parallelo. Tuttavia, ciascuno di questi framework potrebbe non essere adatto a tutti i tipi di compiti, limitandone l'applicabilità. In questo lavoro, proponiamo un approccio di progettazione diverso: eseguiamo "lavoratori" LLM in parallelo, consentendo loro di sincronizzarsi tramite una cache di attenzione aggiornata in modo concorrente e spingendo questi lavoratori a decidere come collaborare al meglio. Il nostro approccio consente alle istanze di sviluppare la propria strategia di collaborazione per il problema in questione, pur "vedendo" i progressi parziali reciproci nella cache concorrente. Implementiamo questo approccio tramite Hogwild! Inference: un motore di inferenza parallela per LLM in cui più istanze dello stesso LLM vengono eseguite in parallelo con la stessa cache di attenzione, con accesso "istantaneo" ai token generati reciprocamente. Hogwild! inference sfrutta i Rotary Position Embeddings (RoPE) per evitare ricalcoli migliorando al contempo l'utilizzo dell'hardware parallelo. Abbiamo riscontrato che gli LLM moderni dotati di capacità di ragionamento possono eseguire inferenze con una cache Key-Value condivisa senza bisogno di ulteriori aggiustamenti.
English
Large Language Models (LLMs) have demonstrated the ability to tackle
increasingly complex tasks through advanced reasoning, long-form content
generation, and tool use. Solving these tasks often involves long
inference-time computations. In human problem solving, a common strategy to
expedite work is collaboration: by dividing the problem into sub-tasks,
exploring different strategies concurrently, etc. Recent research has shown
that LLMs can also operate in parallel by implementing explicit cooperation
frameworks, such as voting mechanisms or the explicit creation of independent
sub-tasks that can be executed in parallel. However, each of these frameworks
may not be suitable for all types of tasks, which can hinder their
applicability. In this work, we propose a different design approach: we run LLM
"workers" in parallel , allowing them to synchronize via a concurrently-updated
attention cache and prompt these workers to decide how best to collaborate. Our
approach allows the instances to come up with their own collaboration strategy
for the problem at hand, all the while "seeing" each other's partial progress
in the concurrent cache. We implement this approach via Hogwild! Inference: a
parallel LLM inference engine where multiple instances of the same LLM run in
parallel with the same attention cache, with "instant" access to each other's
generated tokens. Hogwild! inference takes advantage of Rotary Position
Embeddings (RoPE) to avoid recomputation while improving parallel hardware
utilization. We find that modern reasoning-capable LLMs can perform inference
with shared Key-Value cache out of the box, without additional fine-tuning.Summary
AI-Generated Summary