
FlexLLMGen
单卡跑大模型,吞吐量翻倍,省钱又高效
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 9340
使用教程
⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- Python 环境(README 未指定具体版本)
- PyTorch >= 1.12
- 单张 GPU(示例使用 T4 16GB)
- 示例配置需要约 200GB DRAM
- HELM 相关依赖:crfm-helm
安装与启动步骤
-
1安装 PyTorch
README 安装要求仅列出 PyTorch >= 1.12,请按官方指引选择与本机 CUDA 匹配的版本安装。
pip install torch -
2获取项目代码
从项目 GitHub 仓库克隆源码到本地,后续以该目录为工作目录执行示例命令。
git clone https://github.com/FMInference/FlexLLMGen.git -
3安装 HELM 依赖
运行 HELM 基准测试前需先安装 crfm-helm,这是 README 中明确给出的依赖包。
pip install crfm-helm -
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
上一篇:langkit
下一篇:tabpfn-client
同类项目推荐
subnet-2
开源
给去中心化 AI 推理加上可验证证明
Verifiable inference on Bittensor
llm-inference-solutions
开源
一张清单,搞定LLM推理选型
A collection of all available inference solutions for the LLMs
extractous
开源
一条命令提取所有文档内容,快如闪电
Fast and efficient unstructured data extraction. Written in Rust with bindings for m···
Stable-Diffusion-WSL2-Docker
开源
Windows用户一键搞定Stable Diffusion,免配置直接出图
One-click install for StabilityAI's Stable-Diffusion with AUTOMATIC1111's webui
ComfyUI-Nvidia-Docker
开源
一条命令拉起带 GPU 的 ComfyUI,权限不打架
ComfyUI for NVIDIA GPU in a Docker container with user configurable uid/gid
byok-relay
开源
前端直连大模型,用户自带密钥,绕过 CORS 限制
Bring your own key (BYOK) relay to enable lightweight frontend-only apps to use LLMs···
nuxt-llms
开源
自动为 Nuxt 站点生成 llms.txt,让 AI 读懂你的网站
Automatically generates /llms.txt markdown documentation for your Nuxt application.
muse2api
开源
把 Muse 变成 OpenAI 接口,现有代码改个地址就能用
把 Muse(muse.ai) 逆向封装为 OpenAI 兼容接口,支持对话、文生图、文生视频/图生视频、多···
babylog
开源
生产环境轻量记录图像和预测,快速排查模型问题
A lightweight logger for machine learning teams to log images and predictions in pro···