在 Azure Machine Learning 的 Model Catalog 裡,有兩種部署 model 的方式,分別是 Managed compute 和 Serverless API。
這就是昨天傳統的模型部署方式,模型權重會被部署到專用的 VM,並通過 Azure Machine Learning 提供的受管端點(Managed Online Endpoints)進行 real-time inference。
模型會被部署到專用的虛擬機上,部署後,Azure 會自動生成 REST API,方便開發者通過 API 請求進行模型推理。
計費方式是根據虛擬機的 CPU 或 GPU 核心小時(Core Hours)進行計費,這代表要支付虛擬機持續運行的成本。
這一台 VM 不會顯示在 Azure VM 裡面,而是只能在 Azure ML 裡的 Endpoints 被找到。所以你有可能架了一個起來玩,忘記刪掉,就被一直扣錢。你看帳單是 VM,但是在 Azure VM 裡遍尋不著,最後才發現這是在 Azure ML 裡的。
這是我損失 1000 多美元的經驗,慎之!
無伺服器 API是一項全新的服務,可以按需求付費的模型部署方式,通過 Models as a Service (MaaS) 模式來提供模型推理。這種方式不需要專用的基礎設施,模型會被託管在 Azure 的中央 GPU 池中,並通過 API 進行訪問。
Serverless API 按照 API 的輸入和輸出進行計費,通常以 tokens 為單位,根據模型處理的請求數量收費。你只需為實際使用的資源付費,無需承擔持續運行基礎設施的費用,也減少了部署和維護的複雜性。
此外,也不會像昨天的 llama 3.1 8B 要求的資源太大,還要額外申請伺服器核心的問題。
能使用 Serverless 的其實很少!!大部份都是 OpenAI 的模型。
以我們昨天的範例來說, llama 3.1 8B 沒有 Serverless,只有 Managed。但是如果你換一個模型 Meta-Llama-3.1-8B-Instruct,就有有 Serverless 可以部署了,如下圖所示。
明天我們就來把這個 Serverless 的 Meta-Llama-3.1-8B-Instruct 給部署起來玩玩吧!