全部產品
Search
文件中心

ENS:邊緣雲AI推理最佳實務

更新時間:Nov 05, 2024

隨著大模型的發展,將推動AI從大規模集中訓練向分布式推理應用轉換。Edge Node Service可以一站式提供靠近終端使用者的、全域覆蓋的、彈性分布式算力資源,通過終端資料就近計算和處理,最佳化響應時延、中心負荷和整體成本。本方案將為您介紹如何使用Edge Node Service構建面向AI推理情境的基礎資源環境。

前提條件

  • 您已開通Edge Node Service,詳情請參考開通服務

  • 請確保您已完成邊緣雲節點VPC建立及網段規劃。

資源評估

邊緣雲異構算力概述

邊緣雲在廣分布的節點上提供了四類不同價位和面向不同情境的異構算力,單卡顯存從12G到48G不等,後續也會根據GPU的發展不斷擴充算力規格。

卡分類

顯存(GB)

資源規格

A

12

A*1

-

-

-

B

16

B*1

B*2

B*4

-

C

24

C*1

C*2

C*4

C*8

D

48

D*1

D*2

-

-

以千問和LLaMA2模型為例,可以覆蓋0.5B~72B不同參數規模的大模型應用,支援如:輕量化對話、智能客服、文生圖、視頻理解、代碼產生、內容創作和智能助理等多種業務情境。您可以根據業務需求,靈活選擇不同規格的異構算力資源。

模型參數量

推理可選資源

1B

A*1

B*1

C*1

D*1

7B

-

B*1

C*1

D*1

14B

-

B*2

C*2

D*1

32B

-

B*4

C*4

D*2

72B

-

-

C*8

-

說明

這裡的顯存需求和選型是按照FP16精度進行評估的,如果精度下降還可以支援更大參數規模的模型。

邊緣雲配套能力概述

為了更好地支援邊緣AI推理業務,邊緣雲在不同層面還提供了配套的增值能力,您可以根據業務需求,選擇適合的配套能力搭建邊緣AI推理基礎環境。

  1. 基礎資源層:除了提供異構算力外,還提供了CPU算力和儲存服務,協助客戶做資料持久化。

  2. 資源配置層:提供完備的網路服務,如NAT、負載平衡、EIP等能力,同時提供了Container Service,並可以通過容器多開技術協助客戶在一個異構算力執行個體內運行多個Container Service,提升單一實例資源使用率,從而實現成本最佳化。

  3. 業務加速層:為了協助客戶提升推理效能,在業務加速層提供了阿里雲自研的AIACC推理加速引擎,以及開源的TensorRT工具包,支援使用不同加速方案的業務落地。

  4. 業務調度層:邊緣雲還提供了業務調度能力,使用者可以將業務調度託管到邊緣雲,由邊緣雲根據調度策略就近接入客戶,並可在節點故障或就近資源不足時,將業務調度到可用節點,同時通過協同儲存實現不同節點間的使用者資料同步,確保在任意節點使用者服務接入的一致性體驗。

邊緣AI推理基礎環境搭建實踐

步驟一:建立異構算力資源

  1. 登入ENS控制台

  2. 在左側導覽列,選擇算力與鏡像 > 執行個體

  3. 執行個體頁面,單擊建立執行個體,選擇對應的異構算力規格完成資源申請,執行個體建立的具體流程請參見建立執行個體

    image

說明
  • 異構算力僅支援訂用帳戶付費方式。

  • 具體的執行個體規格,請在建立前與阿里雲商務經理進行確認。

步驟二:建立配套網路資源

  1. 在ENS控制台左側導覽列網路管理下,選擇需要的網路服務進行資源建立。

  2. 如果異構算力需要訪問公網或具備公網服務能力,可申請邊緣Elastic IP Address,具體流程請參見建立和管理邊緣Elastic IP Address

  3. 如果需要將外部流量分發到後端多台計算執行個體上同步處理,並且可以消除系統中的單點故障,可申請邊緣負載平衡,具體建立流程請參見建立ELB執行個體

  4. 如果需要具備公網地址轉換功能,可申請邊緣NAT Gateway執行個體,具體建立流程請參見建立和管理邊緣NAT Gateway執行個體

步驟三:建立配套儲存資源

  1. 在ENS控制台左側導覽列儲存與快照下,選擇需要的儲存服務進行資源建立。

  2. 如果異構算力需要具有儲存空間實現資料持久化,可申請雲端硬碟,具體流程請參見建立和管理雲端硬碟建立執行個體

  3. 如果需要在多個算力間共用資料,可申請協同儲存NAS,具體建立流程請參見建立並管理檔案系統

步驟四:部署推理加速引擎

  1. 在虛機中部署自研AIACC推理加速引擎(以Ubuntu 20.04 作業系統的T4算力為例)。

    1. 登入到已經申請好的異構算力資源,具體操作流程請參見串連執行個體

    2. 安裝cuda-toolkit。

      1. T4卡需要安裝cuda-toolkit 11.8版本。

      2. 更新PATH和LD_LIBRARY_PATH。

    3. 安裝GPU驅動。

      1. T4卡需要安裝12.2版本(建議安裝最新驅動版本)。

      2. 在NVIDIA官網下載對應驅動:NVIDIA-Linux-x86_64-535.154.05.run。

    4. 環境變數更新:添加AIACC授權

      echo 'export DEEPGPU_EXT_CURL=MzkuOTguMjIuMTI2OjcwNzA=' >> /etc/profile
      source /etc/profile
    5. 確認組件版本

      1. python版本:3.8。

      2. pytorch版本:2.1.0。

      3. deepytorch_inference版本:deepytorch_inference==0.7.18+pt2.1.0cu118-cp38-cp38。

      4. python相關的組件可以直接通過pip3指令安裝,比如:

      pip3 install torch==2.1.0 torchvision==0.16.0 numpy transformers
  2. 在虛機中採用容器部署自研AIACC推理加速引擎(以Ubuntu 20.04 作業系統的T4算力為例)。

    1. 登入到已經申請好的異構算力資源。

    2. 安裝GPU驅動。

      1. GPU驅動版本 12.2。

    3. 安裝Nvidia Container Toolkit。具體流程請參見https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

    4. 擷取AIACC容器鏡像deepytorch_t4_ubuntu20.04.tar.gz(容器部署可簡化虛機部署時環境配置的複雜度),鏡像擷取地址請與阿里雲商務經理進行確認。

    5. 容器鏡像載入,你也可以直接使用kubernetes建立和管理容器執行個體。

      [root]# docker load -i deepytorch_t4_ubuntu20.04.tar
      
      [root]# docker images
      REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
      <none>       <none>    7aef27446ff0   3 days ago   22.6GB
    6. 建立容器,完成自研AIACC推理加速引擎環境部署。

      #!/bin/bash
      
      /usr/bin/docker run --runtime=nvidia -ti -d --gpus all --network=host \
                 7aef27446ff0 sleep 86400000
  3. 容器部署開源TensorRT套件

    1. 安裝Nvidia GPU Driver。

    2. 安裝Nvidia container toolkit。

    3. 下載TensorRT套件容器鏡像,下載地址:https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/index.html

      說明

      需要關注鏡像對應的CUDA、TensorRT等組件版本應與安裝的GPU driver版本對應。

    4. 建立容器,完成TensorRT套件環境部署。

步驟五:關聯資源完成環境搭建

通過邊緣雲控制台或OpenAPI進行資源關聯操作,完成基礎資源環境搭建。該通用架構可以支援映像分類、目標檢測、語音辨識、語義分析等AI線上推理的情境。

說明

如果想使用邊緣雲業務調度能力,將業務調度託管到邊緣雲,可聯絡阿里雲商務經理進行諮詢。