optimum-tpu 文档

TGI 配置参考指南

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

TGI 配置参考指南

所需配置

所需环境变量

  • HF_TOKEN:HuggingFace 认证令牌

所需命令行参数

Docker 特定参数

  • --shm-size 16GB:共享内存分配
  • --privileged:启用特权容器模式
  • --net host:使用主机网络模式

这些参数是运行 TPU 容器所必需的,以便 Docker 容器可以正确访问 TPU 硬件。

TGI 特定参数

  • --model-id:从 HuggingFace Hub 加载的模型标识符

这些参数由 TGI 和 optimum-TPU 用于配置服务器行为。

可选配置

可选环境变量

  • JETSTREAM_PT_DISABLE:禁用 Jetstream PyTorch 后端
  • QUANTIZATION:启用 int8 量化
  • MAX_BATCH_SIZE:设置批处理大小,在 TPU 上是静态的
  • LOG_LEVEL:设置日志详细程度(用于调试)。可以设置为 info、debug 或逗号分隔的属性列表,例如 text_generation_launcher,text_generation_router=debug
  • SKIP_WARMUP:跳过模型预热阶段

关于预热的注意事项

  • TGI 执行预热以编译 TPU 操作以获得最佳性能
  • 对于生产用途,切勿使用 SKIP_WARMUP=1;但是,您可以将参数用于调试目的,以加速模型加载,但代价是模型推理速度较慢。

您可以在TGI 文档中查看更多选项。并非所有参数都可能与 TPU 兼容(例如,所有 CUDA 特定参数)。

TGI 提示:您可以将大多数参数作为 Docker 环境变量或 Docker 参数传递给 TGI。因此,您可以将 `--model-id google/gemma-2b-it` 或 `-e MODEL_ID=google/gemma-2b-it` 传递给 `docker run` 命令。

可选命令行参数

  • --max-input-length:最大输入序列长度
  • --max-total-tokens:最大组合输入/输出令牌数
  • --max-batch-prefill-tokens:批处理的最大令牌数
  • --max-batch-total-tokens:批处理中的最大总令牌数

您可以在TGI 文档中查看更多选项。并非所有参数都可能与 TPU 兼容(例如,所有 CUDA 特定参数)。

Docker 要求

在容器中运行 TGI(推荐)时,应使用以下参数启动容器:

  • 用于 TPU 访问的特权模式
  • 共享内存分配(推荐 16GB)
  • 主机 IPC 设置

示例命令

这是一个展示所有主要配置选项的完整示例:

docker run -p 8080:80 \
    --shm-size 16GB \
    --privileged \
    --net host \
    -e QUANTIZATION=1 \
    -e MAX_BATCH_SIZE=2 \
    -e LOG_LEVEL=text_generation_router=debug \
    -v ~/hf_data:/data \
    -e HF_TOKEN=<your_hf_token_here> \
    ghcr.io/huggingface/optimum-tpu:v0.2.3-tgi \
    --model-id google/gemma-2b-it \
    --max-input-length 512 \
    --max-total-tokens 1024 \
    --max-batch-prefill-tokens 512 \
    --max-batch-total-tokens 1024
您需要替换使用 HuggingFace 访问令牌,您可以在[此处](https://huggingface.co/settings/tokens)获取。
如果您已经通过 `huggingface-cli login` 登录,则可以设置 HF_TOKEN=$(cat ~/.cache/huggingface/token) 以获得更多便利。

其他资源