全部產品
Search
文件中心

Function Compute:鏡像使用說明

更新時間:Jul 06, 2024

為了滿足使用者在AI應用情境的鏡像使用習慣,Function Compute推薦使用鏡像交付。AI與巨量資料領域的鏡像尺寸常見於GB層級,Function Compute一方面提高了鏡像大小的限制,另一方面提供了鏡像加速。本文介紹鏡像大小限制、通用鏡像加速方式以及官方基礎鏡像的說明和使用方式。

未解壓鏡像大小限制

針對未解壓鏡像,鏡像大小限制與您使用的Container Registry的執行個體類型和版本有關,具體如下。關於各ACR版本的計費情況,請參見計費說明

ACR版本

鏡像大小限制(GB)

是否付費

ACR企業版-標準版

10

ACR企業版-進階版

10

ACR企業版-基礎版

10

ACR個人版

10

免費

使用與驅動無關的容器鏡像

請勿在鏡像中添加驅動相關的組件,同時請您避免應用對特定的驅動版本產生依賴。例如,不要將提供CUDA Driver API的libcuda.so放入鏡像中,此動態庫與裝置核心驅動版本強相關。鏡像中的此類動態庫不匹配可能導致應用因相容性問題出現行為異常。

建立函數執行個體時,Function Compute平台會預先將驅動相關的使用者態組件注入到容器中,這些組件與平台提供的驅動版本相匹配。這也是NVIDIA Container Runtime等GPU容器虛擬化技術的行為,將驅動特定的任務交予平台資源提供方,從而最大化GPU容器鏡像的環境適應能力。Function ComputeGPU執行個體所使用的驅動由NVIDIA提供。隨著功能迭代、新卡型推出、BUG修複、驅動生命週期到期等原因,GPU執行個體所使用的驅動版本未來可能變化。

若您已經在使用NVIDIA Container Runtime等GPU容器虛擬化技術,請您避免使用docker commit命令建立鏡像,此類鏡像中會包含已注入的驅動相關組件。當您在Function Compute平台使用此類鏡像時,可能因組件版本與平台不匹配而產生未定義行為,如應用異常等。

使用官方基礎鏡像

為了更好地提高相容性和效能,Function Compute的GPU提供並推薦優先使用官方基礎鏡像進行商務邏輯的鏡像構建,使您能夠更輕鬆地構建自己的商務邏輯。

Function ComputeServerless GPU提供了多個官方基礎鏡像,這些官方基礎鏡像包括了當前主流的機器學習架構以及熱門的模型平台鏡像,例如PyTorch、TensorFlow、PaddlePaddle。您可以快速開始使用GPU進行高效能運算。這些官方基礎鏡像已經預先配置好了相應的環境和依賴,可以直接使用,省去繁瑣的安裝和配置過程。您可以在構建商務邏輯時使用這些鏡像,以此提高應用的效能和可靠性。以下是Function ComputeGPU提供的基礎鏡像。

鏡像族

基礎鏡像地址(內網拉取可使用registry-vpc首碼)

鏡像tag

計算架構版本

Python版本

CUDA版本

Ubuntu版本

modelscope

registry.{cn-hangzhou|us-east-1|ap-northeast-1}.aliyuncs.com/serverless_devs/modelscope

ubuntu20.04-cuda11.3.0-py37-torch1.11.0-tf1.15.5-1.5.0

N/A

3.7

11.3.0

20.04

PyTorch

registry.{cn-hangzhou|us-east-1|ap-northeast-1}.aliyuncs.com/serverless_devs/pytorch

22.12-py3

1.14.0

3.8

11.8.0

TensorFlow

registry.{cn-hangzhou|us-east-1|ap-northeast-1}.aliyuncs.com/serverless_devs/tensorflow

22.12-tf1-py3

1.15.5

22.12-tf2-py3

2.10.1

PaddlePaddle

registry.{cn-hangzhou|us-east-1|ap-northeast-1}.aliyuncs.com/serverless_devs/paddlepaddle

22.12-py3

2.3.2

22.04

CUDA

registry.{cn-hangzhou|us-east-1|ap-northeast-1}.aliyuncs.com/serverless_devs/cuda

11.8.0-devel-ubuntu22.04

N/A

N/A

重要
  • 官方基礎鏡像僅對GPU所在地區華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華南1(深圳)、日本(東京)和美國(維吉尼亞)開放。關於各地區對應的容器鏡像地區ID,請參見地區

  • 官方基礎鏡像功能暫時只對ACR個人版使用者生效,由於資料隔離問題,該功能無法對ACR企業版使用者提高效能表現。

使用基礎鏡像的優勢

使用Function ComputeServerless GPU的基礎鏡像,可以獲得以下優勢。

  • 更高的相容性

    Function ComputeServerless GPU的基礎鏡像已經針對GPU執行個體進行了最佳化和測試,確保在GPU執行個體上啟動並執行應用程式具有更高的相容性和穩定性。

  • 更優的效能

    Function ComputeGPU執行個體對基礎鏡像的架構和資料讀取進行了最佳化,可以提供更好的端到端效能和體驗。另外,鏡像中還包含了一些常用的計算庫,如Numpy和TensorFlow等,可以協助您更輕鬆地編寫高效能的代碼。

  • 更簡化的構建過程

    您可以直接使用Function ComputeServerless GPU基礎鏡像來構建自己的商務邏輯,無需手動設定NumPy、SciPy等相關環境。

使用基礎鏡像可以協助您更好地構建商務邏輯,獲得更好的效能和相容性。Function Compute建議您在構建自己的商務邏輯時使用Function ComputeGPU提供的基礎鏡像。

如何使用基礎鏡像

使用基礎鏡像非常簡單。在構建自己的商務邏輯時,您只需要在Dockerfile中使用對應的基礎鏡像即可。例如,在華東2(上海)地區進行GPU函數的開發,並且使用PyTorch基礎鏡像,可以在Dockerfile中添加以下內容。

FROM registry.cn-shanghai.aliyuncs.com/serverless_devs/pytorch:22.12-py3

ADD . .
EXPOSE 9000

為了方便您使用基礎鏡像,Function Compute提供了鏡像拉取地址,可以直接拉取。例如,在使用PyTorch的基礎鏡像時,可以使用以下命令進行拉取。

docker pull registry.cn-shanghai.aliyuncs.com/serverless_devs/pytorch:22.12-py3

常見問題

Function Compute提供的基礎鏡像與Nvidia官方提供的鏡像是否有區別?

無區別。您無需擔心相容性問題。

我需要的推理計算架構版本較高,但Function Compute未提供,我是否可以享受到更好的效能?

可以。由於容器鏡像是分層的,所以相同計算架構高低版本之間會有部分相同的資料,您仍然有機會享受到更好的效能。

沒有找到需要的基礎鏡像怎麼辦?

建議您加入Function Compute官方使用者群(DingTalk群號:64970014484)擷取支援人員。

基礎鏡像是否相容不同的GPU卡型?

是的。基礎鏡像適用於Function ComputeGPU執行個體的所有卡型,同時按量模式和預留模式也均可使用。