大模型部署解决方案之TorchServe+vLLM
TorchServe 是PyTorch 中将模型部署到生产环境的一个解决方案。它用HTTP 或HTTPS API 封装模型,可以处理多种任务,包括为部署模型分配workers、负责客户端和服务器之间通信等。
10月份发布的TorchServe 0.12 增加了对GenAI的支持,简化了大语言模型的部署,增加了对主流模型引擎的内置支持,如 vLLM 和 TRT-LLM。
vLLM 引擎是目前执行LLM的最佳方式之一,TorchServe为vLLM部署到生产环境中提供了必要的一些功能,比如自定义metric、模型版本控制等。并且TorchServe能够通过灵活的自定义处理程序设计,集成RAG等功能或者Llama Guard(Meta发布的大模型,集成了多种安全检测技术,能够在模型处理输入之前,对潜在的风险进行预判和拦截,从而保护模型免受恶意输入的侵害。)等保护措施。所以集成了vLLM的TorchServe可以创建用于生产环境的LLM服务。
TorchServe还引入了一种异步模式,用以提高硬件利用率。它将传入的请求直接转发到后端,供vLLM使用,而不是之前的同步模式,需要等待预定义的时间或者有足够的请求时才传到后端。这样vLLM可以自主决定何时处理哪些请求,有助于优化资源分配,实现高效的负载管理。并且在流式模式下,一旦生成首个token,结果可以立即返回并持续输出,减少用户的等待时间。
目前TorchServe实现了单节点多GPU的分布式推理,未来计划实现多节点推理,并提供预构建的Docker image以简化部署过程。
参考链接:https://pytorch.org/blog/deploying-llms-torchserve-vllm/
本文转载自公众号AI时代窗口 作者:郁愈