NVIDIA NIM on Kubernetes

火山引擎容器服務(wù) VKE(Volcengine Kubernetes Engine)通過深度融合新一代云原生技術(shù),提供以容器為核心的高性能 Kubernetes 容器集群管理服務(wù),可以為 NIM 提供穩(wěn)定可靠高性能的運(yùn)行環(huán)境,實現(xiàn)模型使用和運(yùn)行的強(qiáng)強(qiáng)聯(lián)合。

同時,模型服務(wù)的發(fā)布和運(yùn)行也離不開發(fā)布管理、網(wǎng)絡(luò)訪問、觀測等能力,VKE 深度整合了火山引擎高性能計算(ECS/裸金屬)、網(wǎng)絡(luò)(VPC/EIP/CLB)、存儲(EBS/TOS/NAS)、彈性容器實例(VCI)等服務(wù),并與鏡像倉庫、持續(xù)交付、托管 Prometheus、日志服務(wù)、微服務(wù)引擎等云產(chǎn)品橫向打通,可以實現(xiàn) NIM 服務(wù)構(gòu)建、部署、發(fā)布、監(jiān)控等全鏈路流程,幫助企業(yè)更靈活、更敏捷地構(gòu)建和擴(kuò)展基于自身數(shù)據(jù)的定制化大型語言模型(LLMs),打造真正的企業(yè)級智能化、自動化基礎(chǔ)設(shè)施。

NVIDIA NIM on VKE 部署流程

下面,我們將介紹 NIM on VKE 的部署流程,助力開發(fā)者快速部署和訪問 AI 模型。

準(zhǔn)備工作

部署 NVIDIA NIM 前,需要做好如下準(zhǔn)備:

1. VKE 集群中已安裝 csi-nas / prometheus-agent / vci-virtual-kubelet / cr-credential-controller 組件

2. 在 VKE 集群中使用相適配的 VCI GPU 實例規(guī)格,具體軟硬件支持情況可以查看硬件要求

3. 創(chuàng)建 NAS 實例,作為存儲類,用于模型文件的存儲

4. 創(chuàng)建 CR(鏡像倉庫) 實例,用于托管 NIM 鏡像

5. 開通 VMP(托管 Prometheus)服務(wù)

6. 向 NVIDIA 官方獲取 NIM 相關(guān)鏡像的拉取權(quán)限(下述以 llama3-8b-instruct:1.0.0 為例),并生成 API Key

部署

1.?在國內(nèi)運(yùn)行 NIM 官方鏡像時,為了避免網(wǎng)絡(luò)訪問影響鏡像拉取速度,可以提前拉取相應(yīng) NIM 鏡像并上傳到火山引擎鏡像倉庫 CR,操作步驟如下:

2. Download the code locally, go to the Helm Chart directory of the code, and push Helm Chart to Container Registry (Helm version > 3.7):

下載代碼到本地,進(jìn)入到代碼的 helm chart 目錄中,把 helm chart 推送到鏡像倉庫(helm 版本大于 3.7):

3.?在 vke 的應(yīng)用中心的 helm 應(yīng)用中選擇創(chuàng)建 helm 應(yīng)用,并選擇對應(yīng) chart,集群信息,并點(diǎn)擊 values.yaml 的編輯按鈕進(jìn)入編輯頁

4.?覆蓋 values 內(nèi)容為如下值來根據(jù)火山引擎環(huán)境調(diào)整參數(shù)配置,提升部署性能,點(diǎn)擊確定完成參數(shù)改動,再繼續(xù)在部署頁點(diǎn)擊確定完成部署

5.?若 Pod 日志出現(xiàn)如下內(nèi)容或者 Pod 狀態(tài)變成 Ready,說明服務(wù)已經(jīng)準(zhǔn)備好:

6.?在 VKE 控制臺獲取 LB Service 地址(Service 名稱為-nim-llm)

7.?訪問 NIM 服務(wù)

The output is as follows:

會有如下輸出:

監(jiān)控

NVIDIA NIM 在 Grafana Dashboard 上提供了豐富的觀測指標(biāo),詳情可參考 Observability

在 VKE 中,可通過如下方法搭建 NIM 監(jiān)控:

1. 參考文檔搭建 Grafana:https://www.volcengine.com/docs/6731/126068

2.?進(jìn)入 Grafana 中,在 dashboard 菜單中選擇 import:

3.?觀測面板效果如下:

結(jié)語

相比構(gòu)建大模型鏡像,基于 VKE 使用 NVIDIA NIM 部署和訪問模型有如下優(yōu)點(diǎn):

● 易用性:NIM 提供了預(yù)先構(gòu)建好的模型容器鏡像,用戶無需從頭開始構(gòu)建和配置環(huán)境,配合 VKE 與 CR 的應(yīng)用部署能力,極大簡化了部署過程

● 性能優(yōu)化:NIM 的容器鏡像是經(jīng)過優(yōu)化的,可以在 NVIDIA GPU 上高效運(yùn)行,充分利用 VCI 的硬件性能

● 模型選擇:NIM 官方提供了多種大語言模型,用戶可以根據(jù)需求選擇合適的模型,部署在 VKE 中僅需對values.yaml 配置做修改即可

● 自動更新:通過 NGC,NIM 可以自動下載和更新模型,用戶無需手動管理模型版本

● 可觀測性:NIM 內(nèi)置了豐富的觀測指標(biāo),配合 VKE 與 VMP 觀測能力開箱即用

目前火山引擎容器服務(wù) VKE 已開放個人用戶使用,為個人和企業(yè)用戶提供高性能、高可靠、極致彈性的企業(yè)級容器管理能力,結(jié)合 NIM 強(qiáng)大易用的模型部署服務(wù),進(jìn)一步幫助開發(fā)者快速部署 AI 模型,并提供高性能、開箱即用的模型 API 服務(wù)。

分享到

xiesc

相關(guān)推薦