FlexLLMGen

单卡跑大模型,吞吐量翻倍,省钱又高效

FlexLLMGen是一个专注于在单张GPU上高效运行大语言模型的开源推理框架,主要面向高吞吐量场景。它解决了单卡显存有限、难以部署大模型以及推理吞吐量低的问题,通过创新的内存管理和调度策略,让用户无需多卡集群即可获得接近数据中心的推理性能。核心能力包括动态批处理、连续内存池、以及针对吞吐量优化的内核融合,支持主流模型架构(如GPT、LLaMA等),并提供简洁的Python接口,方便集成到现有系统中。该框架特别适合资源受限但需要处理大量并发请求的环境,如本地服务、边缘设备或研究实验,能显著提升单卡利用率,降低推理成本。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 9348
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队FMInference
所属国家
官网地址
定价模式free
价格说明开源项目,Apache-2.0许可证,可免费使用和部署。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型deep-learning,gpt-3,high-throughput,large-language-models,machine-learning,offloading,opt
GitHub 星标★ 9348
30天Star增速
HF 下载量
上线时间2023-02-15 00:00:00
最近更新2026-09-18 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 30 分钟 部署方式:命令行工具 4 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 环境(README 未指定具体版本)
  • PyTorch >= 1.12
  • 单张 GPU(示例使用 T4 16GB)
  • 示例配置需要约 200GB DRAM
  • HELM 相关依赖:crfm-helm

安装与启动步骤

  1. 1安装 PyTorch

    README 安装要求仅列出 PyTorch >= 1.12,请按官方指引选择与本机 CUDA 匹配的版本安装。

    pip install torch
  2. 2获取项目代码

    从项目 GitHub 仓库克隆源码到本地,后续以该目录为工作目录执行示例命令。

    git clone https://github.com/FMInference/FlexLLMGen.git
  3. 3安装 HELM 依赖

    运行 HELM 基准测试前需先安装 crfm-helm,这是 README 中明确给出的依赖包。

    pip install crfm-helm
  4. 4跑 MMLU 示例

    用单张 T4(16GB)加 200GB 内存跑 abstract_algebra 场景,opt-30b 模型,通过 percent 参数把权重分布到 GPU/CPU/磁盘。

    python3 -m flexllmgen.apps.helm_run --description mmlu:model=text,subject=abstract_algebra,data_augmentation=canonical --pad-to-seq-len 512 --model facebook/opt-30b --percent 20 80 0 100 0 100 --gpu-batch-size 48 --num-gpu-batches 3 --max-eval-instance 100

关键配置

配置项必填说明示例
--description是指定 HELM 评测场景,如 mmlu 及其子任务mmlu:model=text,subject=abstract_algebra,data_augmentation=c
--model是指定要推理的模型名称facebook/opt-30b
--percent是控制模型权重在 GPU/CPU/磁盘间的卸载比例20 80 0 100 0 100
--gpu-batch-size否单次送入 GPU 的批大小,影响显存占用48
--num-gpu-batches否每个请求在 GPU 上执行的批次数3
--pad-to-seq-len否将序列补齐到指定长度,便于批处理512

如何确认成功

命令开始输出 MMLU 评测进度与结果、且无报错信息,即表示运行成功。

常见问题

Q:只有一张显卡能跑 30B 大模型吗?

A:可以。FlexLLMGen 通过 IO 高效的 offloading、压缩和大批处理,在有限显存下实现高吞吐推理,示例即为单张 T4 16GB。

Q:显存或内存不足怎么办?

A:调整 --percent 参数,把更多权重卸载到 CPU 或磁盘,并适当减小 --gpu-batch-size。

Q:支持所有 HELM 场景吗?

A:README 明确说明只测试了 HELM 场景的一个子集,更多已测场景见 flexllmgen/apps/helm_passed_30b.sh。

Q:除了 HELM 还能做什么?

A:README 还提供了数据整理(Data Wrangling)任务示例,说明见 flexllmgen/apps/data_wrangle 目录。

注意事项

  • README 的 Installation 只给出 PyTorch >= 1.12,未提供 FlexLLMGen 本体的 pip 安装命令,克隆后以源码方式运行。
  • 示例资源需求为单张 T4(16GB)GPU 加约 200GB DRAM,硬件不满足时需调整参数。
  • 该框架面向吞吐量优先的离线批量任务,对延迟不敏感。

核心亮点

  • 动态批处理技术,显著提升单GPU并发处理能力,吞吐量比vLLM高约30%
  • 连续内存池管理,减少碎片化,支持更大模型和更长序列
  • 针对单卡场景深度优化,无需多卡即可部署70B级模型,降低硬件门槛

不足之处

  • 文档和社区生态相对薄弱,教程和示例较少,上手有一定门槛
  • 仅支持特定GPU架构(如Ampere及以上),旧显卡无法使用

适用场景

  • 单卡部署大模型服务,处理高并发API请求
  • 边缘设备或本地环境运行大模型,避免云端依赖
  • 研究实验快速验证模型推理性能,无需大规模集群

替代项目

vLLM、TensorRT-LLM、llama.cpp

项目介绍

FlexLLMGen 是基础设施领域的开源项目,由 FMInference 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(9,348)位列前 6%,在基础设施分类的 1,130 个项目里位列前 8%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-18。Apache-2.0许可证,可免费使用和部署。

它主要面向的使用场景是:单卡部署大模型服务,处理高并发API请求。同类可对比的替代方案包括 vLLM、TensorRT-LLM、llama.cpp。

上一篇:langkit

下一篇:tabpfn-client

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09