Fiddler: Orchestrazione CPU-GPU per Inferenza Rapida di Modelli Mixture-of-Experts
Fiddler: CPU-GPU Orchestration for Fast Inference of Mixture-of-Experts Models
February 10, 2024
Autori: Keisuke Kamahori, Yile Gu, Kan Zhu, Baris Kasikci
cs.AI
Abstract
I modelli linguistici di grandi dimensioni (LLM) basati sull'architettura Mixture-of-Experts (MoE) stanno dimostrando prestazioni promettenti in vari compiti. Tuttavia, eseguirli in contesti con risorse limitate, dove la memoria GPU non è abbondante, è impegnativo a causa delle dimensioni enormi dei modelli. I sistemi esistenti che scaricano i pesi del modello nella memoria CPU soffrono di un sovraccarico significativo dovuto al frequente trasferimento di dati tra CPU e GPU. In questo articolo, proponiamo Fiddler, un motore di inferenza efficiente in termini di risorse con orchestrazione CPU-GPU per i modelli MoE. L'idea chiave di Fiddler è utilizzare la capacità di calcolo della CPU per minimizzare il movimento dei dati tra CPU e GPU. La nostra valutazione mostra che Fiddler può eseguire il modello Mixtral-8x7B non compresso, che supera i 90 GB di parametri, generando oltre 3 token al secondo su una singola GPU con 24 GB di memoria, dimostrando un miglioramento di un ordine di grandezza rispetto ai metodi esistenti. Il codice di Fiddler è disponibile pubblicamente all'indirizzo https://github.com/efeslab/fiddler.
English
Large Language Models (LLMs) based on Mixture-of-Experts (MoE) architecture
are showing promising performance on various tasks. However, running them on
resource-constrained settings, where GPU memory resources are not abundant, is
challenging due to huge model sizes. Existing systems that offload model
weights to CPU memory suffer from the significant overhead of frequently moving
data between CPU and GPU. In this paper, we propose Fiddler, a
resource-efficient inference engine with CPU-GPU orchestration for MoE models.
The key idea of Fiddler is to use the computation ability of the CPU to
minimize the data movement between the CPU and GPU. Our evaluation shows that
Fiddler can run the uncompressed Mixtral-8x7B model, which exceeds 90GB in
parameters, to generate over 3 tokens per second on a single GPU with 24GB
memory, showing an order of magnitude improvement over existing methods. The
code of Fiddler is publicly available at
https://github.com/efeslab/fiddler