跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
RustAI算法

LLM 推理加速框架 Text Generation Inference (TGI) 使用指南

Text Generation Inference (TGI) 是 Hugging Face 推出的用于部署和服务大型语言模型的开源工具。它支持张量并行、连续批处理、多种量化方案及 Flash Attention 优化。 TGI 的核心功能、本地编译安装步骤(基于 Rust)、Docker 部署方式、模型运行参数配置以及性能基准测试方法。通过 TGI,开发者可以实现低延迟的 LLM 推理服务,并根据业务需求调整批处理大小和硬件配置以优化 Token 生成效率。

zhang发布于 2025/2/7更新于 2026/5/18 浏览
LLM 推理加速框架 Text Generation Inference (TGI) 使用指南

Text Generation Inference (TGI)

Text Generation Inference (TGI) 是由 Hugging Face 发布的文本生成推理工具包,专为部署和服务大型语言模型 (LLM) 设计。它实现了多项关键功能以提升推理性能和可扩展性。

核心功能

  • 分布式跟踪:集成 Prometheus 指标。
  • 张量并行:支持在多个 GPU 上实现更快的推理速度。
  • 令牌流:使用服务器发送事件 (SSE) 进行流式输出。
  • 连续批处理:动态管理请求批次以提高吞吐量。
  • 优化内核:在最流行的架构上使用 Flash Attention 和 Paged Attention 进行推理优化。
  • 量化支持:包括 bitsandbytes、GPT-Q、EETQ、AWQ 等。
  • 权重加载:支持 Safetensors 格式。
  • Logits 处理器:支持温度缩放、top-p、top-k、重复惩罚等。
  • 停止序列与对数概率:控制生成结束条件并获取概率信息。
  • 自定义提示与微调:支持指导模型输出及利用微调模型提升特定任务性能。

支持的硬件

兼容 NVIDIA、AMD、Intel GPU、Inferentia 及 Gaudi 等硬件设备。

本地运行大模型

环境准备

  1. 安装 Rust

    sudo apt-get install libssl-dev gcc -y
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source $HOME/.cargo/env
    
  2. 安装 Protoc

    PROTOC_ZIP=protoc-21.12-linux-x86_64.zip
    curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v21.12/$PROTOC_ZIP
    sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc
    sudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*'
    rm -f $PROTOC_ZIP
    
  3. 编译 TGI

    git clone https://github.com/huggingface/text-generation-inference.git
    cd text-generation-inference
    conda activate llm-plus
    BUILD_EXTENSIONS=True make install -j
    

启动模型

使用以下命令启动模型服务:

text-generation-launcher --model-id /path/to/model --trust-remote-code --port 4000

若遇到 ExLlama 相关错误,可修改模型配置文件 config.json,设置 "use_exllama": false。

常用参数说明

可通过 -h 查看完整参数列表。主要参数包括:

  • --model-id: 模型路径或 HuggingFace Hub ID。
  • --quantize: 量化类型,可选 awq, eetq, gptq, bitsandbytes 等。
  • --num-shard: 分片数量,用于多卡并行。
  • --max-concurrent-requests: 最大并发请求数。
  • --dtype: 数据类型,如 float16, bfloat16。
  • --cuda-memory-fraction: CUDA 显存占用比例。

调用示例

使用 curl 发送请求:

curl 127.0.0.1:4000/generate \
    -X POST \
    -d '{"inputs":"What is Deep Learning?","parameters":{"max_new_tokens":20}}' \
    -H 'Content-Type: application/json'

Docker 部署

推荐使用 Docker 简化依赖管理:

docker run --gpus all -p 4000:80 huggingface/text-generation-inference:latest \
  --model-id <MODEL_ID> --port 80

TGI Benchmark

TGI 提供了内置的性能基准测试工具,用于评估不同配置下的推理性能。

运行基准测试

  1. 安装基准工具

    make install-benchmark
    
  2. 启动服务与测试

    text-generation-launcher --model-id <MODEL_PATH> --trust-remote-code --port 4000
    text-generation-benchmark --tokenizer-name <TOKENIZER_PATH> \
      --batch-size 1 --batch-size 2 --batch-size 4 --batch-size 8 \
      --batch-size 16 --batch-size 32 --batch-size 64
    
  3. 结果分析

    • Batch Size: 通过 Tab 键切换不同批大小,观察性能变化。
    • 延迟指标: p50、p90、p99 表示大多数情况下的延迟分布。
    • Token 树: 监控 token 数量和延迟关系。若延迟随 Token 增加显著上升,需寻找拐点以确定最佳配置。
    • 硬件调整: 若 Token 数量不足导致延迟高,可增加显卡;若 Token 过多,可考虑降低硬件配置以节省成本。

注意事项

TGI 依赖 vllm、flash attention、gptq 等组件。建议按源码编译安装顺序为:vllm >> gptq >> flash attention。确保系统环境变量正确配置,特别是 CUDA 版本与 PyTorch/Rust 版本的兼容性。

常见问题

  • 显存溢出: 尝试减小 --max-total-tokens 或 --cuda-memory-fraction。
  • 连接拒绝: 检查防火墙设置及端口是否被占用。
  • 模型加载失败: 确认 --trust-remote-code 已开启,且模型文件完整。

目录

  1. Text Generation Inference (TGI)
  2. 核心功能
  3. 支持的硬件
  4. 本地运行大模型
  5. 环境准备
  6. 启动模型
  7. 常用参数说明
  8. 调用示例
  9. Docker 部署
  10. TGI Benchmark
  11. 运行基准测试
  12. 注意事项
  13. 常见问题
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • VMware 虚拟机 CentOS 磁盘扩容实战:解决 growpart 报错与 LVM 调整
  • VSCode Python 自动补全配置指南
  • AI 大模型起源与发展详解
  • Python 3.14 环境下 PyAudio 安装全指南:解决兼容性与依赖问题
  • Python 入门必备开发工具:Wing、PyScripter 与 Eric IDE 详解
  • 豆包 Seedream 4.0 多图融合实战:田园犬与三花猫的多场景生成测评
  • Python 最常用的 10 个内置函数详解
  • 光伏产品缺陷检测 AI 深度学习算法技术方案
  • PHPStudy Pro 本地 PHP 环境搭建与使用指南
  • LLaMaFactory 使用免费 GPU 环境微调大模型指南
  • 机器人运动学:标准 DH 与改进 DH 参数对比与实现
  • Python Selenium 与 Chrome WebDriver 深度配置实战
  • 通义万相 2.1 视频生成模型技术特性与应用场景
  • 基于 Python 调用通义万相 2.1 API 实现图像与文本生成实战
  • 2026 年 AI 大数据、大模型、AIGC 与云计算就业趋势分析
  • 前端函数防抖详解
  • OpenClaw 多端交互实测指南:Web/TUI/钉钉集成配置
  • 无人机路径规划核心算法解析与实战应用
  • Spring Boot 开发入门:从零搭建第一个 Web 项目
  • 大模型提示工程进阶:思维链与思维树技术解析

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online