共用方式為


在 Azure AI Studio 中微調 Meta Llama 模型

重要

本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

Azure AI Studio 服務可讓您使用名為「微調」的程序,為個人資料集量身打造大型語言模型。

微調為特定工作和應用程式啟用自訂和最佳化,以提供重要的價值。 這會導致改善效能、成本效益、降低延遲,以及量身打造的輸出。

在本文中,您會了解如何在 Azure AI Studio 中微調 Llama 模型。

Mmeta Llama 系列的大型語言模型 (LLM) 是一組預先定型並微調的生成式文字模型,其規模為 70 億到 700 億個參數。 該模型系列也包括專門針對對話使用案例進行最佳化的微調版本,並具備稱為 Llama-Instruct 的人類反饋強化學習 (RLHF)。

重要

處於預覽狀態的模型會在模型目錄中的模型卡片上標示為 預覽

模型

微調為使用隨用隨付計費的服務時,Azure Marketplace 有提供下列的 Llama 3.1 模型:

  • Meta-Llama-3.1-70B-Instruct (預覽)
  • Meta-LLama-3.1-8b-Instruct (預覽)

目前在美國西部 3 的專案支援微調 Llama 3.1 模型。

重要

目前,我們無法針對序列長度為 128K 的 Llama 3.1 進行微調。

必要條件

具有有效付款方式的 Azure 訂用帳戶。 免費版或試用版 Azure 訂用帳戶將無法運作。 如果您沒有 Azure 訂用帳戶,請建立付費 Azure 帳戶以開始。

  • Azure AI Studio 中樞 (部分機器翻譯)。

    重要

    對於 Meta Llama 3.1 模型,隨用隨付模型微調供應項目僅適用於在美國東部 3 區域建立的中樞。

  • Azure AI Studio 中的 Azure AI Studio 專案

  • Azure 角色型存取控制 (Azure RBAC) 可用來授與 Azure AI Studio 作業的存取權限。 若要執行本文中的步驟,您的使用者帳戶必須獲指派 Azure 訂用帳戶的擁有者參與者角色。 或者,可以為您的帳戶指派具有下列權限的自訂角色:

    • 在 Azure 訂用帳戶上 - 以將 AI Studio 專案訂閱至 Azure Marketplace 供應項目,需針對每個供應項目為每個專案指派一次:

      • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
      • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
      • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
      • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
      • Microsoft.SaaS/register/action
    • 在資源群組上 - 以建立及使用 SaaS 資源:

      • Microsoft.SaaS/resources/read
      • Microsoft.SaaS/resources/write
    • 在 AI Studio 專案上 - 以部署端點 (Azure AI 開發人員角色已包含這些權限):

      • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
      • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

    如存取權限的需詳細資訊,請參閱 Azure AI Studio 中的角色型存取控制

訂用帳戶提供者註冊

確認訂用帳戶已向 Microsoft.Network 資源提供者註冊。

  1. 登入 Azure 入口網站

  2. 從左側功能表中選取 [訂用帳戶]

  3. 選取您要使用的訂用帳戶。

  4. 從左側功能表中選取 [設定]>[資源提供者]

  5. 確認 Microsoft.Network 位於資源提供者清單中。 否則,請加以新增。

    Azure 入口網站中訂用帳戶資源提供者的螢幕擷取畫面。

資料準備

準備您的定型和驗證資料以微調模型。 您的定型資料和驗證資料集包含您想要執行模型之方式的輸入和輸出範例。

請確定所有定型範例都遵循預期的推斷格式。 若要有效地微調模型,請確定平衡且多樣化的資料集。

這涉及維護資料平衡,包括各種案例,並定期精簡定型資料以符合真實世界的期望,最終導致更精確且平衡的模型回應。

不同的模型類型需要不同格式的定型資料。

您使用的定型和驗證資料必須格式化為 JSON Lines (JSONL) 文件。 針對 Meta-Llama-3.1-70B-Instruct,微調資料集必須採用聊天完成 API 使用的交談格式。

範例檔案格式

    {"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
    {"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
    {"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}

支援的檔案類型為 JSON Lines。 檔案會上傳至預設資料存放區,並在您的專案中提供。

微調 Meta Llama 模型

若要微調 LLama 3.1 模型:

  1. 請登入 Azure AI Studio

  2. 選擇您想要從 Azure AI Studio 模型目錄中微調的模型。

  3. 在模型的 [詳細資料] 頁面上,選取 [微調]

  4. 選取您要在其中微調模型的專案。 若要使用隨用隨付模型微調供應項目,您的工作區必須屬於美國東部 3 區域。

  5. 在微調精靈上,選取 [Azure Marketplace 條款] 的連結,以深入了解使用規定。 您也可以選取 [Marketplace 供應項目詳細資料] 索引標籤,以了解所選模型的價格。

  6. 如果這是您第一次在專案中微調模型,您必須從 Azure Marketplace 為專案訂閱特定的供應項目 (例如 Meta-Llama-3.1-70B-Instruct)。 此步驟會要求您的帳戶具有必要條件中所列的 Azure 訂用帳戶權限和資源群組權限。 每個專案都有自己的特定 Azure Marketplace 供應項目的訂用帳戶,可讓您控制及監視支出。 選取 [訂閱並微調]

    注意

    為專案訂閱特定的 Azure Marketplace 供應項目 (在此案例中為 Meta-Llama-3.1-70B-Instruct) 時,您的帳戶必須具有專案建立所在之訂用帳戶層級的參與者擁有者存取權。 或者,可以為您的使用者帳戶指派具有必要條件中所列的 Azure 訂用帳戶權限和資源群組權限的自訂角色。

  7. 當您為專案註冊特定 Azure Marketplace 供應項目之後,就不需要再次訂閱相同工作區中的相同供應項目的後續微調。 因此,您不需要具有後續微調的訂用帳戶層級權限。 如果您適用此案例,請選取 [繼續微調]

  8. 輸入已微調模型的名稱,選擇性輸入標記和描述。

  9. 選取定型資料以微調您的模型。 如需詳細資訊,請參閱資料準備

    注意

    如果您的訓練/驗證檔案位於無認證的資料存放區中,則必須允許工作區受控識別存取其資料存放區,才能使用無認證的儲存空間繼續進行 MaaS 的微調。 在 [資料存放區] 頁面上,按一下 [更新驗證] 後 > 選取下列選項:

    在 Azure Machine Learning 工作室 (傳統版) 中使用工作區受控識別來預覽及分析資料。

    請確定所有定型範例都遵循預期的推斷格式。 若要有效地微調模型,請確定平衡且多樣化的資料集。 這涉及維護資料平衡,包括各種案例,並定期精簡定型資料以符合真實世界的期望,最終導致更精確且平衡的模型回應。

    • 用於定型的批次大小。 當設定為 -1 時,batch_size 會計算為訓練集中範例的 0.2%,最大值為 256。
    • 微調學習速率是預先定型所用原始學習速率乘以此乘數。 建議您試驗介於 0.5 到 2 之間的值。 根據經驗,我們發現較大的學習率通常在較大的批次大小表現得更好。 必須介於 0.0 到 5.0 之間。
    • 定型 Epoch 的數目。 Epoch 是指透過資料集的完整循環。
  10. 工作參數是選擇性步驟和進階選項 - 微調超參數對於在真實世界應用程式中最佳化大型語言模型 (LLM) 至關重要。 可讓您改善效能和有效率的資源使用量。 您可以使用預設設定,或者進階使用者可以自訂參數,例如 Epoch 或學習速率。

  11. 檢閱您的選取項目,然後繼續進行模型定型。

微調模型之後,您就可以部署模型,並在自己的應用程式中、遊樂場或提示流程中使用。 如需詳細資訊,請參閱如何使用 Azure AI Studio 部署 Llama 3.1 系列的大型語言模型

清除微調模型

您可以從 Azure AI Studio 或模型詳細資料頁面中的微調模型清單中刪除微調模型。 從 [微調] 頁面選取要刪除的已微調模型,然後選取 [刪除] 按鈕以刪除已微調模型。

注意

如果自訂模型具有現有部署,則無法刪除自訂模型。 您必須先刪除模型部署,才能刪除自訂模型。

成本和配額

Meta Llama 模型微調即服務的成本和配額考量

Meta Llama 模型微調即服務是由 Meta 透過 Azure Marketplace 提供,並與 Azure AI Studio 整合以供使用。 您可以在部署或微調模型時找到 Azure Marketplace 價格。

每次專案訂閱來自 Azure Marketplace 的指定供應項目時,都會建立新的資源,以便追蹤與其使用量相關聯的成本。 會使用相同的資源來追蹤與推斷和微調相關聯的成本;不過,可以使用多個計量獨立追蹤每個情節。

如需如何追蹤成本的詳細資訊,請參閱監視透過 Azure Marketplace 提供的模型成本 (部分機器翻譯)。

內容篩選

將模型部署為隨用隨付計費的服務時,其會受到 Azure AI 內容安全所保護。 部署至即時端點時,您可以選擇退出此功能。 啟用 Azure AI 內容安全後,提示和完成都會通過旨在偵測及防止有害內容輸出的一組分類模型。 內容篩選 (預覽) 系統會偵測並針對輸入提示和輸出完成中潛在有害內容的特定類別採取動作。 深入了解 Azure AI 內容安全 (部分機器翻譯)。

下一步