Fiddler: Orquestração CPU-GPU para Inferência Rápida de Modelos de Mistura de Especialistas
Fiddler: CPU-GPU Orchestration for Fast Inference of Mixture-of-Experts Models
February 10, 2024
Autores: Keisuke Kamahori, Yile Gu, Kan Zhu, Baris Kasikci
cs.AI
Resumo
Modelos de Linguagem de Grande Escala (LLMs) baseados na arquitetura Mixture-of-Experts (MoE) estão demonstrando desempenho promissor em diversas tarefas. No entanto, executá-los em ambientes com recursos limitados, onde a memória da GPU não é abundante, é desafiador devido ao tamanho enorme dos modelos. Sistemas existentes que transferem os pesos do modelo para a memória da CPU sofrem com a sobrecarga significativa de mover dados frequentemente entre a CPU e a GPU. Neste artigo, propomos o Fiddler, um mecanismo de inferência eficiente em termos de recursos com orquestração CPU-GPU para modelos MoE. A ideia central do Fiddler é utilizar a capacidade de computação da CPU para minimizar o movimento de dados entre a CPU e a GPU. Nossa avaliação mostra que o Fiddler pode executar o modelo Mixtral-8x7B não compactado, que excede 90GB em parâmetros, gerando mais de 3 tokens por segundo em uma única GPU com 24GB de memória, demonstrando uma melhoria de uma ordem de magnitude em relação aos métodos existentes. O código do Fiddler está disponível publicamente em 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