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
您需要替换使用您可以从[此处](https://huggingface.co/settings/tokens)获取的 HuggingFace 访问令牌
如果您已经通过 `huggingface-cli login` 登录,则可以设置 HF_TOKEN=$(cat ~/.cache/huggingface/token) 以获得更多便利

其他资源