共用方式為


Azure Databricks 上的 LLMOps 工作流程

本文藉由新增 LLMOps 工作流程的特定資訊,為 Databricks 上的 MLOps 工作流程提供補充。 如需詳細資訊,請參閱 The Big Book of MLOps

MLOps 工作流程如何為 LLM 作出變更?

LLM 是一類自然語言處理 (NLP) 模型,在各種工作中的大小和效能大幅超過其前身,例如開放式問題解答、摘要和執行指令。

LLM 的開發與評估與傳統 ML 模型在一些重要方面有所不同。 本節簡要摘要說明了 LLM 的一些主要屬性,以及 MLOps 的影響。

LLM 的金鑰屬性 MLOps 的影響
LLM 有許多可用的形式。

- 使用付費 API 存取的一般專屬和 OSS 模型。
- 現成的開放原始碼模型,從一般到特定應用程式不等。
- 已針對特定應用程式微調的自訂模型。
- 自訂預先訓練的應用程式。
開發程序:專案通常會以遞增方式開發,從現有的、第三方或開放原始碼模型開始,並以自訂微調的模型結尾。
許多 LLM 接受一般自然語言查詢和指示作為輸入。 這些查詢可包含精心設計的提示,以產生所需的回應。 開發程序:設計用於查詢 LLM 的文字範本通常是開發新 LLM 管線的重要部分。

封裝 ML 成品:許多 LLM 管線會使用現有的 LLM 或 LLM 服務端點。 針對這些管線開發的 ML 邏輯可能會著重於提示範本、代理程式或鏈結,而不是模型本身。 封裝並升階至生產環境的 ML 成品可能是這些管線,而不是模型。
許多 LLM 可使用範例、內容或其他資訊來提供提示,以協助回答查詢。 提供基礎結構:使用內容擴充 LLM 查詢時,您可使用其他工具,例如向量資料庫來搜尋相關內容。
第三方 API 提供了專屬和開放原始碼模型。 API 治理:使用集中式 API 控管讓您能夠輕鬆地在 API 提供者之間切換。
LLM 是非常大型的深度學習模型,通常從 GB 到數百 GB 不等。 服務基礎結構:LLM 可能需要 GPU 才能提供即時模型,以及需要動態載入之模型的快速儲存體。

成本/效能取捨:因為較大的模型需要更多計算,而且需要更昂貴的服務,因此可能需要減少模型大小和計算的技術。
LLM 很難使用傳統 ML 計量進行評估,因為通常沒有單一的「正確」答案。 人類意見反應:人類意見反應對於評估及測試 LLM 至關重要。 您應將使用者意見反應直接納入 MLOps 程序,包括測試、監視和未來的微調。

MLOps 與 LLMOps 之間的共同點

MLOps 程序的許多層面不會變更 LLM。 例如,下列指導方針也適用於 LLM:

  • 為開發、預備和生產使用不同的環境。
  • 使用用於版本控制的 Git。
  • 使用 MLflow 管理模型開發,並使用 Unity 目錄中的模型來管理模型生命週期。
  • 使用差異資料表將資料儲存在 Lakehouse 架構中。
  • 您現有的 CI/CD 基礎結構不應進行任何變更。
  • MLOps 的模組化結構保持不變,具有特徵化、模型訓練、模型推斷等管線。

參考架構圖表

本節使用兩個 LLM 型應用程式來說明傳統 MLOps 參考架構的一些調整。 這些圖表顯示了 1) 使用第三方 API 的擷取增量生成 (RAG) 應用程式,以及 2) 使用自我裝載微調模型的 RAG 應用程式的生產架構。 這兩個圖表都顯示選擇性向量資料庫,可透過模型服務端點直接查詢 LLM 來取代此項目。

具有第三方 LLM API 的 RAG

此圖表顯示使用 Databricks 外部模型連線到第三方 LLM API 之 RAG 應用程式的生產架構。

使用外部模型的第三方 LLM

具有微調開放原始碼模型的 RAG

此圖表顯示 RAG 應用程式的生產架構,可微調開放原始碼模型。

根據開放原始碼模型微調 LLM

MLOps 生產架構的 LLMOps 變更

本節強調了 LLMOps 應用程式的 MLOps 參考架構的重大變更。

模型中樞

LLM 應用程式通常會使用從內部或外部模型中樞選取的現有預先訓練模型。 此模型可依目前方式使用或微調。

Databricks 包含 Unity 目錄和 Databricks Marketplace 中高品質、預先訓練的基礎模型選擇。 您可使用這些預先訓練的模型來存取最先進的 AI 功能,以節省建置自訂模型的時間和費用。 如需詳細資訊,請參閱 Unity 目錄和 Marketplace 中的預先訓練模型

向量資料庫

某些 LLM 應用程式會使用向量資料庫進行快速相似性搜尋,如在 LLM 查詢中提供內容或領域知識。 Databricks 提供整合式向量搜尋功能,可讓您使用 Unity 目錄中的任何差異資料表作為向量資料庫。 向量搜尋索引會自動與差異資料表同步。 如需詳細資訊,請參閱向量搜尋

您可建立模型成品,以封裝邏輯,從向量資料庫擷取資訊,並將傳回的資料當做內容提供給 LLM。 然後,您可使用 MLflow LangChain 或 PyFunc 模型變體來記錄模型。

微調 LLM

由於 LLM 模型從頭開始建立相當昂貴且費時,因此 LLM 應用程式通常會微調現有的模型,以在特定案例中改善其效能。 在參考架構中,微調和模型部署會以不同的 Databricks 作業來表示。 在部署之前驗證微調的模型通常是手動程序。

Databricks 提供基礎模型微調,可讓您使用自己的數據來自定義現有的 LLM,以優化其特定應用程式的效能。 如需詳細資訊,請參閱 基礎模型微調

模型服務

在使用第三方 API 案例的 RAG 中,重要的架構變更是 LLM 管線從模型服務端點到內部或第三方 LLM API 進行外部 API 呼叫。 這會帶來複雜度、潛在延遲,以及額外的認證管理。

Databricks 提供 Mosaic AI 模型服務,其提供了可用來部署、控管及查詢 AI 模型的整合介面。 如需詳細資訊,請參閱 Mosaic AI 模型服務

監視和評估中的人類意見反應

人類意見反應迴圈在大部分 LLM 應用程式中都不可或缺。 人類意見反應應該像其他資料一樣得到管理,最好根據近即時的串流納入監視中。

Mosaic AI 代理程式架構檢閱應用程式可協助您收集人類檢閱者的意見反應。 如需詳細資訊,請參閱取得代理應用程式品質的意見反應