Fiddler: CPU-GPU Orchestration for Fast Inference of Mixture-of-Experts Models

Keisuke Kamahori, Tian Tang, Yile Gu, Kan Zhu, Baris Kasikci
2/10/2024
cs.LGcs.AIcs.DC

Official code: efeslab/fiddler (268 stars, Apache-2.0, last commit 2024-11-18).

Abstract

Large Language Models (LLMs) with the Mixture-of-Experts (MoE) architectures have shown promising performance on various tasks. However, due to the huge model sizes, running them in resource-constrained environments where the GPU memory is not abundant is challenging. Some existing systems propose to use CPU resources to solve that, but they either suffer from the significant overhead of frequently moving data between CPU and GPU, or fail to consider distinct characteristics of CPUs and GPUs. This paper proposes Fiddler, a resource-efficient inference system for MoE models with limited GPU resources. Fiddler strategically utilizes CPU and GPU resources by determining the optimal execution strategy. Our evaluation shows that, unlike state-of-the-art systems that optimize for specific scenarios such as single batch inference or long prefill, Fiddler performs better in all scenarios. Compared against different baselines, Fiddler achieves 1.26 times speed up in single batch inference, 1.30 times in long prefill processing, and 11.57 times in beam search inference. The code of Fiddler is publicly available at https://github.com/efeslab/fiddler.

View on arXivView PDF

Code Implementations(1)

efeslab/fiddlerOfficial100%
Apache-2.0

[ICLR'25] Fast Inference of MoE Models with CPU-GPU Orchestration

26837Shell, PythonFeb 5, 20241 years agoApache-2.0
llmllm-inferencelocal-inferencemixtral-8x7bmixture-of-experts

Similar Papers

Cite this paper

@article{kamahori2024fiddler,
  title  = {Fiddler: CPU-GPU Orchestration for Fast Inference of Mixture-of-Experts Models},
  author = {Keisuke Kamahori and Tian Tang and Yile Gu and Kan Zhu and Baris Kasikci},
  year   = {2024},
  eprint = {2402.07033},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2402.07033v3},
  journal = {ICLR 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2402.07033.svg)](https://codeofpaper.com/paper/2402.07033)

Discussion