• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 生成式人工智能/大語言模型

    在 Azure AI Foundry 上使用 NVIDIA NIM 加速 AI 推理

    NVIDIA NIM 微服務 集成到 Azure AI Foundry ,標志著企業 AI 開發的重大飛躍。通過將 NIM 微服務與 Azure 可擴展的安全基礎架構相結合,企業組織現在可以比以往更高效地部署功能強大的即用型 AI 模型。

    NIM 微服務容器化,可為預訓練和自定義 AI 模型提供 GPU 加速推理。NIM 微服務集成了 NVIDIA 和更廣泛的社區的領先推理技術,可為 NVIDIA 加速基礎設施上的最新 AI 模型提供優化的響應延遲和吞吐量。

    開發者可以通過符合每個領域行業標準的 API 訪問 AI 模型,從而簡化 AI 應用的開發。NIM 支持跨多個領域和一系列 AI 模型的 AI 用例,包括社區模型、NVIDIA AI Foundation 模型和 NVIDIA 合作伙伴提供的自定義 AI 模型。其中包括語音、圖像、視頻、3D、藥物研發、醫學成像等模型。

    Azure AI Foundry

    Azure AI Foundry 是一個值得信賴的集成平臺,供開發者和 IT 管理員設計、定制和管理 AI 應用和智能體。它通過簡單的門戶、統一的 SDK 和 API 提供了一套豐富的 AI 功能和工具。該平臺可促進安全的數據集成、模型自定義和企業級治理,以加速生產路徑。

    Azure AI Foundry 上的 NVIDIA NIM

    NIM 微服務在 Azure AI Foundry 上原生支持,使開發者能夠快速創建簡化的部署路徑。這些微服務在 Azure 的托管計算上運行,消除了設置和維護 GPU 基礎設施的復雜性,同時確保高可用性和可擴展性,即使對于要求嚴苛的工作負載也是如此。這使得團隊能夠快速從模型選擇轉向生產使用。

    NVIDIA NIM 是 NVIDIA AI Enterprise 的一部分,NVIDIA AI Enterprise 是一套易于使用的微服務,專為安全、可靠和高性能的 AI 推理而設計。每個 NIM 部署都包含 NVIDIA AI Enterprise 支持,可為企業級使用提供一致的性能和可靠的更新。

    部署在 Azure AI Foundry 上的 NIM 可以通過標準 API 進行訪問,從而輕松集成到 Azure 服務 (如 AI 代理服務) 和 代理式 AI 框架 (如 Semantic Kernel) 中。NIM 微服務利用 NVIDIA 和社區的強大技術 (包括 NVIDIA Dynamo NVIDIA TensorRT NVIDIA TensorRT-LLM 、vLLM、PyTorch 等) 構建而成,可在托管 Azure 計算上無縫擴展。

    NIM 微服務提供:

    • 零配置部署 :通過開箱即用的優化快速啟動和運行。
    • 無縫 Azure 集成 :輕松使用 Azure AI Agent Service 和 Semantic Kernel。
    • 企業級可靠性:受益于 NVIDIA AI Enterprise 支持,可實現持續的性能和安全性。
    • 可擴展推理: 利用 Azure 的 NVIDIA 加速基礎架構來處理要求嚴苛的工作負載。

    您只需單擊幾下即可部署這些服務。從 Azure AI Foundry 的模型目錄中選擇 Llama 3.3 70B NIM 等模型,并將其直接集成到您的 AI 工作流中。開始構建在 Azure 生態系統中完美運行的生成式 AI 應用。

    在 Azure AI Foundry 上部署 NIM

    本節將為您介紹如何在 Azure AI Foundry 上部署 NIM。

    視頻 1. 了解如何在 Azure AI Foundry 上使用 NVIDIA NIM 部署模型

    Azure AI Foundry 門戶

    首先訪問 Azure AI Foundry 門戶,然后按照以下步驟操作。

    1. 前往 ai.azure.com,確保您擁有可用的 Hub 和 Project。

    2. 從左側欄菜單中選擇“ Model Catalog ” (圖 1) 。

    3. 在“ 集合 ”過濾器中,選擇 NVIDIA 以查看 Azure AI Foundry 上提供的所有 NIM 微服務。

    Screenshot of the Azure AI Foundry Model Catalog.
    圖 1。直接從 Azure AI Foundry 門戶部署 NIM 微服務

    4. 選擇要使用的 NIM。此示例使用 Llama 3.1 8B Instruct NIM 微服務。

    5. 單擊 部署

    6. 選擇要用于部署的部署名稱和虛擬機 (VM) 類型 (圖 2) 。系統將預先選擇所選 NIM 支持且在模型卡中指定的 VM SKU。請注意,此步驟要求您的 Azure 訂閱為所選 VM 類型提供足夠的可用配額。 如有需要,請按照說明申請增加服務配額。

    Screenshot of the Azure AI Foundry Model Catalog with dialog box showing NIM deployment name and virtual machine menu selection.
    圖 2。為所選 NIM 選擇部署名稱和 VM 類型

    7. 可選:自定義部署配置,例如實例數量。在此步驟中,您還可以利用現有 endpoint 進行部署。

    8. 單擊“ Next ” (下一步) ,然后查看 NIM 部署的定價明細和使用條款 (圖 3) 。定價明細包括 Azure Compute 費用以及使用 NIM 軟件所需的 NVIDIA AI Enterprise 許可證的每個 GPU 的固定費用。

    Deploy NVIDIA NIM microservice through Azure Marketplace pricing breakdown.
    圖 3。通過 Azure Marketplace 部署 NVIDIA NIM 的價格明細

    9. 確認使用條款后,單擊“Deploy”以啟動部署流程。

    Python SDK 部署

    還可以使用 Azure Machine Learning Python SDK 在 Azure AI Foundry 上以編程方式部署 NIM。為此,請按照本節中提供的步驟操作。

    安裝 Azure ML SDK:

    pip install azure-ai-ml
    pip install azure-identity

    設置憑據:

    from azure.ai.ml import MLClient
    from azure.identity import InteractiveBrowserCredential
    workspace_ml_client = MLClient(
        credential=InteractiveBrowserCredential(),
        subscription_id="azure-subscription-id",
        resource_group_name="resource-group-name",
        workspace_name="azure-ai-foundry-project-name",
    )

    創建托管 NIM 部署的托管在線端點:

    import time, sys
    from azure.ai.ml.entities import (
        ManagedOnlineEndpoint,
        ManagedOnlineDeployment,
        ProbeSettings,
    )
     
    # Make the endpoint name unique
    timestamp = int(time.time())
    online_endpoint_name = "endpoint" + str(timestamp)
     
    # Create an online endpoint
    endpoint = ManagedOnlineEndpoint(
        name=online_endpoint_name,
        auth_mode="key",
    )
    workspace_ml_client.online_endpoints.begin_create_or_update(endpoint).wait()

    最后,使用 model ID 部署模型:

    model_name = "azureml://registries/azureml-nvidia/models/Llama-3.1-8B-Instruct-NIM-microservice/versions/2"
     
    demo_deployment = ManagedOnlineDeployment(
        name="nim-deployment",
        endpoint_name=online_endpoint_name,
        model=model_name,
        instance_type="Standard_NC24ads_A100_v4",
        instance_count=1,
        liveness_probe=ProbeSettings(
            failure_threshold=30,
            success_threshold=1,
            timeout=2,
            period=10,
            initial_delay=1000,
        ),
        readiness_probe=ProbeSettings(
            failure_threshold=10,
            success_threshold=1,
            timeout=10,
            period=10,
            initial_delay=1000,
        ),
    )
    workspace_ml_client.online_deployments.begin_create_or_update(demo_deployment).wait()
    endpoint.traffic = {"nim-deployment": 100}
    workspace_ml_client.online_endpoints.begin_create_or_update(endpoint).result()

    使用 OpenAI 或 Azure AI Foundry SDK 將 NIM 集成到 AI 解決方案中

    Foundry 上的 NVIDIA NIM 提供了一個兼容 OpenAI 的 API。如需詳細了解受支持的負載,請參閱適用于 LLM 的 NVIDIA NIM 文檔。另一種方法是使用 Azure AI Foundry SDK

    在 Azure AI Foundry 上使用 NIM 的 OpenAI SDK

    使用 openai SDK 在 Azure AI Foundry 和 Azure ML 中使用 Llama 3.1 8B NIM 部署。Azure AI 和 Azure ML 中的 NVIDIA Meta Llama 3 系列模型提供與 OpenAI Chat Completion API 的 API 兼容性。它使客戶和用戶能夠從 OpenAI 模型無縫過渡到 Meta Llama LLM NIM 微服務。

    該 API 可直接與 OpenAI 的客戶端庫或第三方工具,如 LangChain 或 LlamaIndex 一起使用。

    以下示例展示了如何將 openai 與部署在 Azure AI 和 Azure ML 中的 Meta Llama 3 聊天模型結合使用。有關更多詳細信息,請參閱 GitHub 上的 Azure/azureml-examples

    pip install openai

    請注意,您需要 endpoint URL 和與該端點關聯的 authentication key。這些可以從前面的步驟中獲取。要使用 openai,請配置如下客戶端:

    • base_url:使用部署中的端點 URL。在 URL 中添加 /v1
    • api_key:使用您的 API 密鑰。
    client = OpenAI(
        base_url="https://<endpoint>.<region>.inference.ml.azure.com/v1", api_key="<key>"
    )

    使用 client 創建聊天完成請求:

    response = client.chat.completions.create(
        messages=[
            {
                "role": "user",
                "content": "Who is the most renowned French painter? Provide a short answer.",
            }
        ],
        model="meta/llama-3.1-8b-instruct",
    )

    生成的文本可以通過以下方式訪問:

    print(response.choices[0].message.content)

    Azure AI Foundry 上搭載 NIM 的 Azure AI Inference SDK

    此示例展示了如何使用帶有 Llama 3 NIM 的 AI 推理 SDK,在 Azure AI Foundry 和 Azure AML 中使用 Llama 3.1 8B NIM 部署。有關更多詳細信息,請參閱 GitHub 上的 Azure/azureml-examples

    首先,使用您的包管理器 (如 pip) 安裝包 azure-ai-inference

    pip install azure-ai-inference

    使用 ai.inference 包中的 ChatCompletionsClient 調用 Llama LLM NIM:

    import os
    from azure.ai.inference import ChatCompletionsClient
    from azure.core.credentials import AzureKeyCredential
    from azure.ai.inference.models import SystemMessage, UserMessage
     
    endpoint = "https://<endpoint>.<region>.inference.ml.azure.com/v1"
    key = os.getenv("AZURE_AI_CHAT_KEY", "keyhere")
     
    client = ChatCompletionsClient(
        endpoint=endpoint,
        credential=AzureKeyCredential(key),
    )
     
    response = client.complete(
        messages=[
            SystemMessage("You are a helpful assistant."),
            UserMessage("Can you write me a song?"),
        ],
    )
     
    print(response.choices[0].message.content)

    開始在 Azure AI Foundry 上使用 NVIDIA NIM

    NVIDIA NIM 微服務 集成到 Azure AI Foundry 集兩全其美:包含硬件和軟件的先進 NVIDIA AI 推理平臺,以及 Azure 的企業級云基礎設施。這種強大的組合使開發者和組織能夠以最少的配置和更高的性能快速部署、擴展和運行 AI 模型。只需單擊幾下或執行幾行代碼,即可為當今一些非常先進的模型解鎖高性能推理。

    要開始使用,請查看以下資源:

    請持續關注,詳細了解基于 AI Foundry 的 NVIDIA NIM,并探索如何在 Azure 上充分利用 NVIDIA。

    ?

    0

    標簽

    人人超碰97caoporen国产