• 文档 >
  • 使用 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 令牌

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 重命名为其他名称,您可以将 --model_name <SOME_NAME> 添加到 docker run 命令中。

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

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 提供了各种关于如何部署大型模型的示例。以下是当前示例的列表

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源