首页/AI/大模型部署与运维速查/TGI(Text Generation Inference)定位与部署
部署形态与选型43 条

TGI(Text Generation Inference)定位与部署

Hugging Face 出品的推理服务:内置连续批处理、张量并行与 token 流式输出,Docker 镜像开箱可用,默认监听 8080,适合标准 Transformers 权重。

TGI 是什么

TGI(Text Generation Inference)是 Hugging Face 推出的推理服务,内置连续批处理、张量并行与 token 流式输出,官方容器镜像开箱可用。它面向标准 Transformers 权重,参数既可以用命令行传入,也可以用同名的大写环境变量配置,适合把已有权重快速变成 OpenAI 兼容的在线接口。默认在容器内监听 80 端口。

基本信息

维护方Hugging Face
端口容器内 80,示例映射到宿主机 8080
权重来源Hugging Face 仓库名或本地挂载目录
配置方式命令行参数与环境变量两种,名称一致
并发控制并发请求数与批内 token 预算两项分开设置

Docker 启动示例

Docker 启动示例
# 启动服务:映射端口、共享内存、挂载权重缓存目录
docker run --gpus all --shm-size 1g -p 8080:80 \
  -v /data/hf-cache:/data \
  ghcr.io/huggingface/text-generation-inference:latest \
  --model-id /data/models/Qwen --max-concurrent-requests 64
# 验证接口(端点与版本有关,以镜像文档为准)
curl http://127.0.0.1:8080/health
curl http://127.0.0.1:8080/v1/models

关键参数

参数作用
--model-id模型仓库名或容器内路径
--num-shard张量并行卡数,单卡装不下时按卡切分
--max-concurrent-requests同时在处理的请求数上限
--max-batch-total-tokens单批 token 总预算,直接影响显存与首 token 延迟
--max-input-length单请求输入长度上限
--max-total-tokens输入加输出的总量上限,与上下文窗口对齐

典型使用场景

  • 已有的标准权重快速服务化:不改代码就能得到可调用的 HTTPS 接口
  • 流式对话:逐 token 返回,前端能做打字机效果
  • 多卡推理:用张量并行承载单卡放不下的模型
  • 与 Hugging Face 生态衔接:权重来源、缓存目录与镜像都由同一套工具管理
  • 需要统一并发上限的接口:把并发与批预算写死在启动参数里,便于容量规划
--shm-size 设得过小会在批量推理时报共享内存错误:容器默认共享内存很小,启动时显式给 1g 以上能省掉一整轮排查。
并发上限与批内 token 预算都调大时首 token 延迟上升:这是吞吐与响应速度的取舍,要按业务能接受的最长等待时间反推参数。

易错点

  • 模型缓存卷挂错路径:容器内找不到权重会重新下载甚至启动失败,先确认挂载点与权限
  • 直接把容器内端口对外暴露:引擎没有多租户密钥体系,必须由网关承担鉴权与限额
  • 不同镜像版本端点有差异:升级前先在测试环境核对健康检查与推理端点的实际路径
  • 只按并发上限规划容量:批内 token 预算同样吃显存,两个参数要一起压测确认
  • 忽略共享内存配置:批量一大的报错看起来像显存问题,实际是共享内存不足

数据来源与参考

  • Hugging Face TGI 文档与仓库(huggingface.co/docs/text-generation-inference)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌