TGI(文本生成推理)
在 Clore.ai GPU 上运行 HuggingFace Text Generation Inference(TGI)用于生产级 LLM 服务
Text Generation Inference(TGI)是 HuggingFace 的生产级 LLM 服务框架,专为高吞吐量和低延迟推理而设计。它原生支持 Flash Attention 2、连续批处理、PagedAttention 和张量并行——使其成为在 CLORE.AI GPU 服务器上大规模部署大语言模型的首选方案。
服务器要求
内存
16 GB
32 GB+
显存
8 GB
24 GB+
磁盘
50 GB
200 GB+
GPU
任意 NVIDIA(用于 Flash Attention 的 Ampere 及以上)
A100、H100、RTX 4090
在 CLORE.AI 上快速部署
Docker 镜像: ghcr.io/huggingface/text-generation-inference:latest
端口: 22/tcp, 8080/http
环境变量:
MODEL_ID
mistralai/Mistral-7B-Instruct-v0.3
HuggingFace 模型 ID
HF_TOKEN
hf_xxx...
HuggingFace 令牌(用于受限模型)
NUM_SHARD
2
用于张量并行的 GPU 数量
MAX_INPUT_LENGTH
4096
最大输入 token 数
MAX_TOTAL_TOKENS
8192
输入 + 输出的最大 token 数
QUANTIZE
bitsandbytes-nf4
量化方法
逐步设置
1. 在 CLORE.AI 上租用 GPU 服务器
前往 CLORE.AI 市场 并按以下条件筛选服务器:
7B 模型所需 VRAM ≥ 24 GB(全精度)
7B 模型所需 VRAM ≥ 12 GB(4 位量化)
70B 模型所需 VRAM ≥ 80 GB(全精度,单 GPU)
2. 通过 SSH 连接
订单确认后,使用 CLORE.AI 控制面板中的 SSH 详情连接到你的服务器:
或者使用 CLORE.AI 订单面板中的 Web Terminal。
3. 拉取 TGI Docker 镜像
4. 使用模型启动 TGI
基础启动(Mistral 7B):
使用 HuggingFace 令牌(用于像 Llama 3 这样的受限模型):
使用 4 位量化(适用于较小 VRAM):
多 GPU 张量并行(用于 70B 模型):
5. 验证服务器是否正在运行
预期响应: {"status":"ok"}
6. 通过 CLORE.AI HTTP 代理访问
在你的 CLORE.AI 订单面板中,你会看到你的 http_pub 8080 端口的 URL。这使得可以在不使用 SSH 隧道的情况下通过浏览器/API 访问:
使用示例
示例 1:基础文本生成
示例 2:聊天补全(兼容 OpenAI)
TGI 支持 OpenAI 的聊天补全 API 格式:
示例 3:流式响应
示例 4:Python 客户端
示例 5:批量请求
配置
关键 CLI 参数
--model-id
必需
HuggingFace 模型 ID 或本地路径
--num-shard
1
GPU 分片数量(张量并行)
--max-concurrent-requests
128
最大并发请求数
--max-input-length
1024
最大输入 token 长度
--max-total-tokens
2048
输入 + 输出的最大 token 数
--max-batch-total-tokens
自动
每个批次的最大 token 数
--quantize
无
量化: bitsandbytes-nf4, gptq, awq
--dtype
自动
float16, bfloat16
--trust-remote-code
false
允许自定义模型代码
--port
80
服务器端口
使用本地模型
如果你已在本地下载了模型:
AWQ 量化(比 NF4 更快)
性能提示
1. 启用 Flash Attention 2
Flash Attention 2 会在 Ampere+ GPU(RTX 3000+、A100、H100)上自动启用。无需额外配置。
2. 调整最大批大小
对于高吞吐量场景,增大批大小:
3. 在 Ampere+ GPU 上使用 bfloat16
这比 float16 在数值上更稳定,并且在现代 GPU 上性能相同。
4. 将模型预下载到持久存储
然后挂载本地路径,以避免重启时重新下载。
5. GPU 内存管理
对于 RTX 3090/4090(24GB VRAM):
6. 推测解码
为了让较小模型作为草稿模型时生成更快:
故障排查
问题:“CUDA out of memory”
解决方案: 减少 --max-total-tokens 或者启用量化:
问题:模型下载很慢
解决方案: 使用 HuggingFace 镜像或预下载:
问题:无法通过 http_pub 访问服务器
解决方案: 确保 8080 端口映射正确。TGI 内部监听 80 端口,但你将其映射到外部的 8080:
问题:“trust_remote_code is required”
某些模型(例如 Falcon、Phi)需要自定义代码:
问题:首次响应很慢
第一次请求会触发将模型加载到 VRAM 中。这是正常的。后续请求会很快。
问题:容器立即退出
链接
Clore.ai GPU 推荐
开发/测试
RTX 3090(24GB)
$0.07–0.21/gpu/hr
生产环境(7B–13B)
RTX 4090(24GB)
$0.14–0.42/gpu/hr
大模型(70B+)
A100 80GB / H100
约 $1.04/每 GPU/小时
💡 本指南中的所有示例都可以部署在 Clore.ai GPU 服务器上。浏览可用 GPU 并按小时租用——无需承诺,拥有完整 root 访问权限。
最后更新于
这有帮助吗?