• 文档 >
  • 使用 TorchServe 部署 LLM
快捷方式

⚠️ 注意:有限维护

本项目不再积极维护。现有版本仍然可用,但没有计划进行更新、错误修复、新功能开发或安全补丁。用户应注意,潜在的安全漏洞可能不会得到解决。

使用 TorchServe 部署 LLM

本文档介绍了如何使用 TorchServe 轻松服务大型语言模型 (LLM),例如 Meta-Llama3。除了使用我们的 VLLM 集成的快速入门指南外,我们还提供了一些示例列表,这些示例描述了使用 TorchServe 部署 LLM 的其他方法。

快速入门 LLM 部署

TorchServe 通过其 VLLM 集成提供了便捷的 LLM 部署方式。通过集成我们的 LLM 启动脚本,用户只需一个命令即可部署 VLLM 支持的任何模型。该启动器可以单独使用,也可以与我们提供的 TorchServe GPU Docker 镜像结合使用。

要启动 Docker,我们首先需要构建它

docker build . -f docker/Dockerfile.vllm -t ts/vllm

模型通常从 HuggingFace Hub 加载,并缓存在 Docker 卷中以加快重新加载速度。如果您想访问 Meta-Llama3 模型等受限模型,您需要提供 HuggingFace Hub token

export token=<HUGGINGFACE_HUB_TOKEN>

然后,您可以继续并启动一个服务您所选模型的 TorchServe 实例

docker run --rm -ti --shm-size 1g --gpus all -e HUGGING_FACE_HUB_TOKEN=$token -p 8080:8080 -v data:/data ts/vllm --model_id meta-llama/Meta-Llama-3-8B-Instruct --disable_token_auth

要更改模型,您只需替换提供给 --model_id 参数的标识符。您可以使用以下命令测试模型

curl -X POST -d '{"prompt":"Hello, my name is", "max_new_tokens": 50}' --header "Content-Type: application/json" "http://localhost:8080/predictions/model"

您可以使用 VLLM SamplingParams 关键字更改请求的任何采样参数。例如,要将采样温度设置为 0,我们可以执行以下操作

curl -X POST -d '{"prompt":"Hello, my name is", "max_new_tokens": 50, "temperature": 0}' --header "Content-Type: application/json" "http://localhost:8080/predictions/model"

TorchServe 的 LLM 启动脚本也提供了一些自定义选项。要将模型端点从 predictions/model 重命名为其他名称,您可以在 docker run 命令中添加 --model_name <SOME_NAME>

按照 安装说明 安装 TorchServe 后,也可以在 Docker 容器外部调用该启动脚本。

python -m ts.llm_launcher --disable_token_auth

请注意,启动脚本和 Docker 命令都会自动在所有可用的 GPU 上运行,因此请务必通过设置 CUDA_VISIBLE_DEVICES 来限制可见设备的数量。

要进一步自定义处理程序和添加第三方依赖项,您可以查看我们的 VLLM 示例

支持的模型

快速入门启动器应该允许启动 VLLM 支持的任何模型。以下是 TorchServe 团队测试过的模型标识符列表

  • meta-llama/Meta-Llama-3-8B

  • meta-llama/Meta-Llama-3-8B-Instruct

  • meta-llama/Llama-2-7b-hf

  • meta-llama/Llama-2-7b-chat-hf

  • mistralai/Mistral-7B-v0.1

  • mistralai/Mistral-7B-Instruct-v0.1

使用 TorchServe 部署 LLM 的其他方法

TorchServe 提供了各种关于如何部署大型模型的示例。以下是当前示例列表


© 版权所有 2020, PyTorch Serve 贡献者。

使用 Sphinx 构建,主题由 Read the Docs 提供。

文档

访问 PyTorch 的完整开发者文档

查看文档

教程

获取适合初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源