Hugging Face TGI(Text Generation Inference)

Hugging Face TGI,全称 Text Generation Inference,是 Hugging Face 推出的 高性能大语言模型推理框架,专为 部署、服务和推理大语言模型(LLMs) 而优化,支持 多 GPU、推理加速、量化、并发访问、OpenAI API 接口 等功能。


1. TGI 是什么?

Hugging Face TGI 是一套用于 高性能推理大模型的后端服务器框架,主要用于将 Hugging Face 上的模型部署为可访问的 API 服务。

它为以下目标而设计:

  • 高效、低延迟的文本生成推理
  • 支持多种模型格式(如 transformersGGUFOptimum
  • 多用户并发
  • 可部署为本地服务或推送到 Hugging Face Spaces(如 ChatUI)

2. TGI 的核心特点

特性 描述
多 GPU 支持 使用 tensor parallelism 加速推理
模型热加载 支持多模型快速切换部署
OpenAI API 兼容 可替代 openai.ChatCompletion 接口
支持量化模型 支持 bitsandbytesGPTQ
支持 Flash Attention 提升推理速度
兼容 transformers 模型 兼容所有 Hugging Face 上的生成模型
Token Streaming 支持 token 逐步输出,低延迟
部署简便 提供 Docker 镜像,开箱即用
支持 REST API / Websocket / CLI 多方式接入服务

3. 安装方式

使用 Docker(推荐):

docker pull ghcr.io/huggingface/text-generation-inference:latest

4. 启动 TGI 示例

meta-llama/Llama-2-7b-hf 为例,运行服务:

docker run --gpus all --shm-size 1g --rm -p 8080:80 \
  -v $HOME/.cache/huggingface:/data \
  ghcr.io/huggingface/text-generation-inference:latest \
  --model-id meta-llama/Llama-2-7b-hf \
  --port 80 \
  --quantize bitsandbytes

访问接口地址:http://localhost:8080/generate


5. 支持的模型类型

模型类别 支持情况
LLaMA / LLaMA 2
Falcon
Mistral / Mixtral
BLOOM
GPT-NeoX / GPT-J
StarCoder
Baichuan
ChatGLM(部分支持) ⬛(需改造)

支持所有 transformers 库中的自回归文本生成模型(AutoModelForCausalLM)。


6. API 示例调用方式

请求:

POST /generate

请求 JSON 格式

{
  "inputs": "What is Hugging Face?",
  "parameters": {
    "temperature": 0.7,
    "max_new_tokens": 100,
    "top_p": 0.9
  }
}

返回:

{
  "generated_text": "Hugging Face is a company specializing in AI and NLP models..."
}

7. 支持的高级推理功能

功能 描述
temperature 控制生成的随机性
top_p / top_k 控制生成词汇的采样范围
max_new_tokens 控制最大生成 token 数
repetition_penalty 抑制重复生成
streaming 实时输出每个 token
stop_sequences 指定停止词,提前终止生成

8. OpenAI API 兼容层(可选)

如果你想将 Hugging Face 模型当成 OpenAI API 来使用,可以使用:

text-generation-openai \
  --model-url http://localhost:8080 \
  --host 0.0.0.0 \
  --port 8000

之后可通过 openai.ChatCompletion.create(...) 调用你本地的 Hugging Face 模型!


9. 与 transformers 的对比

维度 transformers 推理 TGI
部署效率 需要写代码 一条命令即可
多 GPU 需手动并行化 内置支持
并发服务 不支持 支持高并发 REST API
streaming 不支持(默认) 原生支持
OpenAI API 兼容
性能优化(Flash Attention) 手动配置 内置自动使用

10. 总结

项目 描述
名称 Text Generation Inference(TGI)
作用 推理部署大语言模型的高性能后端
支持模型 所有 transformers 的生成类模型
适合场景 LLM 私有部署、低延迟服务、多用户访问、token 流式输出
推荐人群 企业级 LLM 部署、研究人员、开源模型服务
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐