大模型部署解決方案之TorchServe+vLLM
TorchServe 是PyTorch 中將模型部署到生產(chǎn)環(huán)境的一個(gè)解決方案。它用HTTP 或HTTPS API 封裝模型,可以處理多種任務(wù),包括為部署模型分配workers、負(fù)責(zé)客戶(hù)端和服務(wù)器之間通信等。
10月份發(fā)布的TorchServe 0.12 增加了對(duì)GenAI的支持,簡(jiǎn)化了大語(yǔ)言模型的部署,增加了對(duì)主流模型引擎的內(nèi)置支持,如 vLLM 和 TRT-LLM。
vLLM 引擎是目前執(zhí)行LLM的最佳方式之一,TorchServe為vLLM部署到生產(chǎn)環(huán)境中提供了必要的一些功能,比如自定義metric、模型版本控制等。并且TorchServe能夠通過(guò)靈活的自定義處理程序設(shè)計(jì),集成RAG等功能或者Llama Guard(Meta發(fā)布的大模型,集成了多種安全檢測(cè)技術(shù),能夠在模型處理輸入之前,對(duì)潛在的風(fēng)險(xiǎn)進(jìn)行預(yù)判和攔截,從而保護(hù)模型免受惡意輸入的侵害。)等保護(hù)措施。所以集成了vLLM的TorchServe可以創(chuàng)建用于生產(chǎn)環(huán)境的LLM服務(wù)。

TorchServe還引入了一種異步模式,用以提高硬件利用率。它將傳入的請(qǐng)求直接轉(zhuǎn)發(fā)到后端,供vLLM使用,而不是之前的同步模式,需要等待預(yù)定義的時(shí)間或者有足夠的請(qǐng)求時(shí)才傳到后端。這樣vLLM可以自主決定何時(shí)處理哪些請(qǐng)求,有助于優(yōu)化資源分配,實(shí)現(xiàn)高效的負(fù)載管理。并且在流式模式下,一旦生成首個(gè)token,結(jié)果可以立即返回并持續(xù)輸出,減少用戶(hù)的等待時(shí)間。

目前TorchServe實(shí)現(xiàn)了單節(jié)點(diǎn)多GPU的分布式推理,未來(lái)計(jì)劃實(shí)現(xiàn)多節(jié)點(diǎn)推理,并提供預(yù)構(gòu)建的Docker image以簡(jiǎn)化部署過(guò)程。
參考鏈接:??https://pytorch.org/blog/deploying-llms-torchserve-vllm/??
本文轉(zhuǎn)載自公眾號(hào)AI時(shí)代窗口 作者:郁愈

















