AI 運維的新時代:從 MLOps 到 LLMOps深度解析 原創(chuàng)
摘要
文章圍繞 LLMOps(大語言模型運維)展開,詳細解析了企業(yè)如何使用大語言模型(LLMs),以及 LLMOps 在優(yōu)化 LLM 開發(fā)、部署和管理中的核心作用。
文章首先介紹了提示詞工程(Prompt Engineering)、檢索增強生成(RAG)和微調(Fine-tuning)等常見 LLM 應用場景,并深入探討了這些方法的挑戰(zhàn)和局限性。隨后,通過對比 MLOps 和 LLMOps,突出了后者在管理復雜模型生命周期中的獨特價值。
文章還列舉了 Agenta、Deeplake、MLflow、Dify 和 Helicone 等 LLMOps 平臺,幫助讀者理解這些工具如何支持最佳實踐。最后,通過 MLflow 的實際案例,展示了 LLMOps 理念的落地方法,讓讀者對這一領域的未來應用有了更清晰的認識。
如何使用LLMs(大語言模型)
近幾年隨著AI技術的不斷迭代,大語言模型應用席卷幾乎所有行業(yè)。雖然,大語言模型為企業(yè)提供了強大的文字生成能力,然而基礎模型的訓練(如 GPT,Claude,Titan和 LLaMa)需要投入大量的資源(時間、資金、人員)。由于缺乏資金預算、基礎設備以及機器學習專家,更多企業(yè)會選擇更加經濟的方式使用大語言模型。大致包括如下路徑:
Prompt Engineering (提示工程)
提示詞工程包括精心設計文字輸入(突出提示),以盡量進行模型輸出的控制。這包括少量樣例提示和思維鏈提示(Chain-of-Thought,CoT),能夠提高模型的出口準確性和響應質量。這種方式簡單易行,可通過云端 API 調用或實用的平臺(如 ChatGPT 網(wǎng)絡界面)盡快進行。
如下圖所示,這是經典的 ChatGPT 場景,應用程序調用OpenAI提供的大語言模型API來處理用戶提出的請求,例如知識檢索、摘要、自動更正、翻譯、自然語言生成 (NLG)等。
提示詞成為了人與大模型之間的主要交互方式,通過輸入提示詞,并調用LLM API 提供上下文和指導,從而最大限度地提高獲得“正確”響應的機會。通過提示詞的交互方式,提示詞工程師可以對應用進行系統(tǒng)地測試,并將模型返回的結果與預期進行匹配,從而獲得“正確”的提示詞,得到 “最佳”響應。
Retrieval Augmented Generation (檢索增強生成,RAG)
RAG 通常作為計算增強和提示增強,在提示里添加外部資料(如向量庫或 API)進行資料調用。這一比微調更低成本且盡快實施的方式,可提高出口信息驗證的可靠性,并防止學機處理不足。
Fine-tuning (微調)
微調和轉移學習類似,微調是在基礎 LLM 之上,將它專屬的預訓練數(shù)據(jù)采用目標實人化。
通過微調,模型的結果比較準確,最大限度可減少“幻視”(通常指對位錯誤的解出)。雖微調的費用會高于提示工程,但在提示實施時,其效率會顯現(xiàn)出優(yōu)勢。
在模型采用企業(yè)實施數(shù)據(jù),通過比較簡短且可充分理解的提示實現(xiàn)性能優(yōu)化和成本提高。這與實體模型(如 ChatGPT)升級相結合,如 GPT 作為基礎,ChatGPT 成為其微調后的交互工具。
為什么需要LLMOps
當前企業(yè)在使用 LLM 時主要依賴提示詞工程(Prompt Engineering)、檢索增強生成(RAG)和微調(Fine-tuning)三種核心方法。雖然這些方法可以幫助企業(yè)快速實現(xiàn) LLM 的應用,但它們也伴隨著一系列挑戰(zhàn):提示詞優(yōu)化需要多次試驗才能獲得最佳效果;RAG 需要集成外部知識庫,增加了復雜性;微調則涉及數(shù)據(jù)集的選擇和性能驗證,操作復雜且成本高昂。這些問題都對 LLM 的開發(fā)、部署和維護提出了更高的要求。
在 LLMOps (大語言模型運維)之前,機器學習運維 (MLOps) 已經廣泛應用于傳統(tǒng)機器學習模型的生命周期管理,提供了開發(fā)、部署和監(jiān)控的標準化流程。然而,大語言模型的復雜性和規(guī)模遠超傳統(tǒng)機器學習模型,單靠 MLOps 無法完全滿足其需求。因此,LLMOps 作為 MLOps 的一個子集,專注于管理 LLM 的全生命周期,提供了一套系統(tǒng)化的解決方案,用以應對上述問題:
部署復雜性:LLMs 的規(guī)模龐大且需要高度優(yōu)化的基礎設施進行部署。此外,不同模型往往由不同廠商提供,其接口和調用方式各異,增加了部署的復雜性。LLMOps 通過標準化流程和工具,不僅屏蔽了不同模型之間的差異性,還能確保這些模型可以高效、無縫地集成到現(xiàn)有系統(tǒng)中,從而減少開發(fā)者適配多種模型的額外工作量。
性能評估與優(yōu)化:為了保證模型在不同場景下的表現(xiàn)一致,LLMOps 提供了對微調過程的全面支持,包括微調使用的數(shù)據(jù)集選擇、模型適配性驗證以及微調后性能的評估機制。這些功能確保模型輸出的準確性和相關性,同時通過系統(tǒng)化評估幫助企業(yè)驗證微調的效果和價值,并針對性優(yōu)化模型行為。
持續(xù)監(jiān)控與改進:LLMOps 超越了傳統(tǒng)的基礎設施監(jiān)控,還包括對模型行為的深入跟蹤,幫助理解模型的決策過程。特別是在 AI Agent 應用中,LLMs 會頻繁調用,通過規(guī)劃和自省提升輸出內容質量。這個過程通常不可見,需要通過 LLMOps 提供的工具對應用執(zhí)行過程進行全面監(jiān)控,包括每個過程的執(zhí)行時間、步驟以及結果。這種可視化能力能夠幫助應用開發(fā)人員清晰了解程序的執(zhí)行情況,從而優(yōu)化和改進內容生成流程。
成本管理:運行 LLM 需要大量計算資源,其中包括模型處理過程中所耗費的 Token 成本。這些成本可能因請求量大或 Token 使用不當而急劇增加。LLMOps 提供了監(jiān)控和優(yōu)化 Token 消耗的機制,通過分析模型使用情況和優(yōu)化提示設計,減少不必要的 Token 開銷,從而在保證性能的同時顯著降低運行成本。
因此,LLMOps 作為企業(yè)管理 LLMs 的核心方法論,解決了從部署到維護的全生命周期問題,為生成式 AI 在企業(yè)中的高效應用奠定了基礎。
什么是LLMOps
LLMOps 是專為管理 LLM 生命周期而設計的操作方法論,包括模型訓練、微調、部署和監(jiān)控。下面這張圖展示了 LLMOps 的生命周期,并說明了 LLMOps 在每個階段中的具體作用。從 數(shù)據(jù)準備到模型監(jiān)控,LLMOps 提供了一套系統(tǒng)化的方法和工具,支持大語言模型(LLM)的開發(fā)、部署和持續(xù)優(yōu)化。
訓練基座模型,通過數(shù)據(jù)集準備、訓練到生成基座模型,這個過程耗時耗力一般都是由有算力資源的大廠(OpenAI、Google、百度、阿里)完成。對于LLMOps而言需要針對不同廠商提供的多種模型提供部署和調用的接口。避免了從零開始訓練模型所需的高昂成本。通過整合專屬數(shù)據(jù)集,LLMOps 確保了微調過程中數(shù)據(jù)質量的一致性和可用性,為模型的進一步優(yōu)化打下堅實基礎。
在調用和部署基座模型的基礎上,LLMOps 會協(xié)助完成模型的微調,微調(Fine-tuning) 是整個生命周期中的關鍵環(huán)節(jié)。LLMOps 支持開發(fā)者有效管理微調數(shù)據(jù)集,并提供定制化的驗證工具。通過引入人工反饋機制和提示(Prompt)性能評估,LLMOps 確保了微調后的模型在特定領域中的準確性和連貫性。
在 提示管理(Prompt Management) 中,LLMOps 提供了版本控制和性能分析工具,使開發(fā)者能夠跟蹤提示與模型輸出的變化趨勢。通過對多種 LLM 的提示效果進行對比分析,企業(yè)能夠快速找到最適合其應用場景的模型配置,從而提高模型響應的效率和可靠性。
針對復雜應用場景,LLMOps 支持 LLM 鏈接(LLM Chaining),通過管理鏈式調用,將復雜任務分解為多個可控的步驟。一個 LLM 的輸出可以直接作為下一個 LLM 的輸入,從而實現(xiàn)復雜問題的分步解決。這一功能還結合了向量數(shù)據(jù)庫等技術,進一步優(yōu)化了生成內容的準確性。
當模型被部署到生產環(huán)境后,LLMOps 提供全面的監(jiān)控與可觀察性(Monitoring and Observability) 支持。通過捕獲提示長度、延遲、Token 使用量等數(shù)據(jù),LLMOps 能夠實時監(jiān)控模型的性能變化,識別可能出現(xiàn)的漂移或性能退化問題。這些監(jiān)控結果為模型的重訓練或基礎模型的切換提供了數(shù)據(jù)支撐,確保模型能夠在動態(tài)業(yè)務場景中保持穩(wěn)定。
通過上圖的描述我們了解到LLMOps在大語言模型的生命周期中起到的作用,其中有幾項管理方式和技術為LLMs應用起到了關鍵作用:
提示管理(Prompt Management):LLMOps 提供了提示管理工具,可以追蹤和版本化提示及其輸出。開發(fā)者可以通過這些工具對提示效果進行對比分析,選擇最佳的模型響應。同時,提示管理還支持在多種 LLM 之間評估提示性能,從而幫助開發(fā)者快速找到適合特定應用的最佳模型。
這就好比,一個學生在課堂上向老師請教數(shù)學問題,他嘗試了多種提問方式,例如:“這道題的答案是什么?” 或 “你能告訴我這道題是怎么解的嗎?” 通過多次嘗試,學生發(fā)現(xiàn),如果他說:“老師,我卡在這道題的第二步了,你能具體講一下這一步的推導過程嗎?” 就能獲得最清晰和詳盡的回答,同時老師也能更準確地理解學生的困惑點。這種提問方式不僅讓學生對問題的解決更滿意,也讓老師覺得溝通更順暢、教學體驗更愉快。
假設一個企業(yè)需要開發(fā)一款客服機器人來回答用戶的常見問題。開發(fā)者可能需要多次嘗試不同的提示,例如:“請用簡短的句子回答用戶的問題” 或 “請?zhí)峁┰敿毜幕卮?,包括參考資料”。LLMOps 的提示管理工具可以記錄每次提示的輸入內容、對應的模型輸出以及用戶反饋數(shù)據(jù)。通過對比這些數(shù)據(jù),開發(fā)者發(fā)現(xiàn)第一種提示更適合快速解答用戶的簡單問題,而第二種提示更適合提供全面的技術支持。
此外,提示管理工具還支持在多個模型之間進行測試。例如,開發(fā)者可以同時在 GPT 和 Claude 等模型中運行相同的提示,分析響應時間、準確性和語言風格,從而選擇最適合的模型配置。這種基于實際場景的測試和分析,大幅減少了模型調優(yōu)的試錯成本,幫助企業(yè)快速上線高效的應用。
提示管理(Prompt Management)的本質:通過LLMs對不同提示詞的響應效果評估模型性能。
LLM 鏈接(LLM Chaining):LLMOps 支持對多個 LLM 調用的管理,將其串聯(lián)起來完成復雜任務。通過這一方法,每次調用的輸出可以作為下一個調用的輸入,將一個復雜問題分解為多個可控的小步驟。這不僅提高了模型的處理效率,還能結合其他技術(如向量數(shù)據(jù)庫)進一步優(yōu)化結果的準確性。
想象一個人規(guī)劃一次復雜的旅行,他首先詢問“哪些城市在這個季節(jié)適合旅游?”,然后根據(jù)推薦城市,進一步提問“這些城市中有哪些提供美食體驗?”,接著再問“這些城市中最經濟實惠的住宿選擇是什么?”。每個問題的答案為下一步問題提供基礎,逐步形成一個完整的旅行計劃。這種按步驟分解復雜問題的方法讓任務變得更加清晰、可執(zhí)行。
在企業(yè)應用場景中,一個客服機器人需要處理一個復雜的客戶請求,例如“幫我定制一個符合我們團隊需求的云存儲方案”。機器人可以將任務拆解為多個步驟:首先調用一個 LLM 獲取客戶的具體需求(如存儲量、預算等);然后調用另一個 LLM 比對適合的解決方案;最后調用文檔檢索系統(tǒng)(如向量數(shù)據(jù)庫)獲取技術細節(jié)并整合成一份完整的方案。每次調用的輸出直接為下一個調用提供上下文,確保整個過程的流暢性和準確性。
無論是旅行計劃的逐步推進,還是客服機器人處理復雜請求的鏈式調用,都體現(xiàn)了 LLM 鏈接(LLM Chaining)的核心理念:通過任務分解和多步驟執(zhí)行,高效解決復雜問題。這正是 LLMOps 在大模型應用管理中不可或缺的一環(huán)。
監(jiān)控與可觀察性(Monitoring and Observability):LLMOps 提供了一個實時監(jiān)控和觀察系統(tǒng),用于捕獲模型運行過程中的關鍵數(shù)據(jù)點,例如提示的長度、響應時間、延遲以及每個步驟的執(zhí)行狀態(tài)。這種系統(tǒng)能夠幫助開發(fā)者全面了解模型在實際應用中的表現(xiàn),發(fā)現(xiàn)潛在的性能問題,及時調整模型設置或優(yōu)化提示內容。此外,監(jiān)控系統(tǒng)還可以跟蹤模型的行為變化,識別模型漂移和潛在偏差,為后續(xù)的重訓練和基礎模型切換提供數(shù)據(jù)支持。
想象一個家庭廚師,他在嘗試制作一道新菜。每次烹飪時,他都會記錄配料用量、烹飪時間和火候控制,觀察菜肴的最終效果。通過對這些數(shù)據(jù)的分析,他可以發(fā)現(xiàn)哪些步驟影響了口感,例如煮得太久會讓菜變得過于軟爛,而火候過高可能導致食材燒焦。通過這些觀察,廚師能夠逐漸優(yōu)化配方和流程,讓每一次的菜肴都達到理想狀態(tài)。
在企業(yè)應用中,例如一個客服機器人被部署到生產環(huán)境中。LLMOps 的監(jiān)控系統(tǒng)能夠實時捕獲提示和響應的長度、系統(tǒng)延遲,以及每個對話步驟的執(zhí)行狀態(tài)。如果發(fā)現(xiàn)模型響應時間變長或生成內容與預期不符,監(jiān)控數(shù)據(jù)可以幫助開發(fā)者分析問題來源,可能是由于模型漂移或提示內容不足。此外,監(jiān)控系統(tǒng)還能發(fā)現(xiàn)特定場景下的模型偏差,例如對某些語言的響應質量下降,從而為模型的微調或切換基礎模型提供依據(jù)。
這正是 LLMOps 的核心能力之一:通過實時捕獲和分析模型運行數(shù)據(jù),為應用優(yōu)化提供明確方向,從而確保模型在動態(tài)場景中持續(xù)穩(wěn)定地發(fā)揮作用。
LLMOps 與MLOps的區(qū)別
在人工智能的發(fā)展歷程中,MLOps(機器學習運維)已經成為管理傳統(tǒng)機器學習模型的標準方法。作為AI運維的前輩,MLOps 涉及模型的開發(fā)、訓練、部署和監(jiān)控,強調通過自動化和標準化流程提升模型的生產效率。然而,大語言模型(LLMs)的興起,為企業(yè)帶來了全新的機遇和挑戰(zhàn),促使 LLMOps 成為一種更具針對性的運維框架。
我們希望通過對比 MLOps 和 LLMOps,更清晰地認識到 LLMOps 是如何在傳統(tǒng) MLOps 基礎上擴展的,以及它為何適合大語言模型。通過下圖,可以看出LLMOps 和 MLOps 的主要區(qū)別:
模型選擇:在 MLOps 中,開發(fā)者通常選擇特定版本的模型,這些模型可能通過從零開始訓練或遷移學習生成,具有明確的任務導向性。而在 LLMOps 中,重點是選擇預訓練的基礎模型(如 GPT 或 LLaMA),然后根據(jù)具體的業(yè)務場景進行調整,使其適配特定用例。
模型訓練:MLOps 側重于傳統(tǒng)的訓練方式,從頭構建模型或通過遷移學習生成適配模型。LLMOps 則以微調為核心,通過專屬數(shù)據(jù)集對預訓練的基礎模型進行優(yōu)化,極大減少了開發(fā)成本,同時提升了模型的上下文相關性。
模型驗證:在 MLOps 中,模型驗證依賴于傳統(tǒng)的機器學習評估指標,如 AUC、Accuracy 和 F1 分數(shù)等。LLMOps 則更加關注提示(Prompt)的準確性和連貫性,通常通過人工反饋和定制化的評估指標來驗證模型性能,確保生成內容的質量。
模型部署:MLOps 通過流水線的形式對模型進行打包和部署。LLMOps 的部署更復雜,不僅需要打包和部署基礎模型,還涉及鏈式調用(LLM Chaining)、向量數(shù)據(jù)庫的集成以及提示優(yōu)化等額外組件的管理。
模型監(jiān)控:MLOps 的監(jiān)控重點是模型漂移和性能表現(xiàn),確保模型能夠在實際場景中穩(wěn)定運行。LLMOps 進一步擴展了監(jiān)控范圍,包括對提示與完成對的實時追蹤,監(jiān)控 Token 使用情況、延遲、步驟執(zhí)行時間等指標。此外,還需要特別關注模型的偏差和性能漂移,以便在必要時調整或重訓練模型。
LLMOps的平臺和工具
從機器學習到深度學習,再到大語言模型的訓練和推廣,見證了從MLOps 到LLMOps的發(fā)展歷程。為了迎接新的挑戰(zhàn),有許多平臺和工具被設計為支持 LLMOps 的最佳實踐,它們在不同程度上實現(xiàn)了 LLMOps 生命周期的管理。這些平臺涵蓋了從提示優(yōu)化到數(shù)據(jù)管理、模型微調、部署以及監(jiān)控的各個環(huán)節(jié),為開發(fā)者和企業(yè)提供了系統(tǒng)化的工具和方法。通過這些工具,開發(fā)者能夠更高效地管理 LLM 的全生命周期,從而優(yōu)化模型性能、提高開發(fā)效率并降低運維成本。
這些平臺和工具的功能特點各異,有些專注于實驗管理和模型調試,有些則側重于提示管理或多模態(tài)數(shù)據(jù)的高效處理。例如,Agenta 提供了多種提示實驗和工作流評估工具,適合開發(fā)穩(wěn)健的 LLM 應用;Deeplake 專注于大規(guī)模多模態(tài)數(shù)據(jù)管理,通過流式傳輸和 GPU 優(yōu)化提升數(shù)據(jù)處理效率;MLflow 是一個端到端的生命周期管理工具,廣泛應用于實驗跟蹤和模型部署;Dify 則為開發(fā)者和非技術用戶提供了快速構建 LLM 應用的可視化開發(fā)框架;而 Helicone 提供了實時監(jiān)控和調試功能,幫助開發(fā)者快速發(fā)現(xiàn)和優(yōu)化性能問題。
通過這些平臺和工具的結合使用,企業(yè)能夠實現(xiàn) LLMOps 理論在實際場景中的落地,全面提升 LLM 的開發(fā)和應用效率。這些實踐不僅讓 LLMOps 的理論更加具體和可操作,也讓企業(yè)能更好地適應生成式 AI 應用的快速發(fā)展。推薦關注以下幾款優(yōu)秀的工具和平臺:Agenta、Deeplake、MLflow、Dify、Helicone,它們在 LLMOps 的各個環(huán)節(jié)都有突出的表現(xiàn)。
1. Agenta
用途:構建穩(wěn)健的大語言模型應用(LLM Apps)。
特點:支持不同提示、模型和工作流的實驗與評估。專注于提升應用的魯棒性。提供全面的工具集,讓開發(fā)者能夠快速構建和迭代。
適用場景:需要多次嘗試不同提示和模型的企業(yè)開發(fā)環(huán)境。
優(yōu)勢:幫助開發(fā)者快速找到最優(yōu)工作流,適合實驗驅動的 LLM 應用開發(fā)。
2. Deeplake
用途:高效管理和使用多模態(tài)數(shù)據(jù)集。
特點:提供大規(guī)模數(shù)據(jù)集的流式傳輸,實現(xiàn) GPU 近乎 100% 的利用率。支持查詢、可視化和數(shù)據(jù)版本控制。無需重新計算嵌入,即可高效訪問數(shù)據(jù)。
適用場景:需要處理大型多模態(tài)數(shù)據(jù)集(如文本、圖像)的 LLM 微調或實時推理任務。
優(yōu)勢:顯著提高數(shù)據(jù)處理效率,優(yōu)化資源利用。
3. MLflow
用途:端到端機器學習和大語言模型生命周期管理。
特點:實驗跟蹤:記錄參數(shù)、指標和模型輸出。模型注冊與版本控制:支持跨團隊協(xié)作??焖俨渴穑阂绘I部署至生產環(huán)境。
適用場景:微調 LLM、實驗管理和模型版本控制。
優(yōu)勢:廣泛使用的標準工具,覆蓋從實驗到生產的全流程。
4. Dify
用途:快速構建基于 LLM 的可視化和可操作應用。
特點:支持無代碼和低代碼開發(fā)。提供可視化的界面,適合開發(fā)者和非技術人員。支持應用的快速迭代與改進。
適用場景:團隊協(xié)作中需要快速原型和演示的應用。
優(yōu)勢:降低技術門檻,加速開發(fā)進程,適合內部應用快速開發(fā)。
5. Helicone
用途:LLM 應用的監(jiān)控和調試平臺。
特點:捕獲提示、響應及性能指標。實時監(jiān)控和調試,提供直觀的分析界面。1 行代碼即可集成到現(xiàn)有應用中。
適用場景:需要實時監(jiān)控 LLM 性能和調試復雜問題的場景。
優(yōu)勢:開發(fā)者友好,快速定位問題。
為了方便大家比較,如下圖所示,我們通過“主要功能”,“適用場景”以及“特點”三個方面進行橫向比較。
LLMOps最佳實踐
在介紹完LLMOps的平臺和工具之后,相信大家都在摩拳擦掌,躍躍欲試。這里,我們挑選了比較流行的MLflow ,來給大家演示LLMOps的部分能力。
通過這個實踐,我們可以窺探 LLMOps 理念的基礎能力:
- 實驗追蹤:MLflow 的 Tracking Server 類似于 LLMOps 中的模型性能監(jiān)控。
- 模型注冊與版本管理:支持記錄和切換不同模型版本。
- 推理與部署:通過日志記錄的模型快速部署到生產環(huán)境。
在探索 LLMOps 的生命周期管理時,我們可以借助 MLflow 這樣成熟的平臺來理解其核心功能。以下是一個基于 MLflow Tracking 的實踐案例,它涵蓋了模型的日志記錄、注冊和加載的核心流程。
步驟 1 - 安裝 MLflow
首先,確保你已經安裝了最新版本的 MLflow,可以通過以下命令快速完成:
pip install mlflow
步驟 2 - 啟動 Tracking Server
在本地啟動一個 Tracking Server,用于記錄和管理實驗:
mlflow server --host 127.0.0.1 --port 9999
將 Tracking Server 的 URI 設置為當前環(huán)境:
mlflow.set_tracking_uri(uri="http://127.0.0.1:9999")
步驟 3 - 訓練模型并準備日志數(shù)據(jù)
我們將使用經典的 Iris 數(shù)據(jù)集 來訓練一個邏輯回歸模型,并記錄模型的超參數(shù)和性能指標:
rom sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 加載數(shù)據(jù)集并劃分訓練與測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定義超參數(shù)并訓練模型
params = {"solver": "lbfgs", "max_iter": 1000, "random_state": 42}
lr = LogisticRegression(**params).fit(X_train, y_train)
# 計算模型的準確性
accuracy = accuracy_score(y_test, lr.predict(X_test))
步驟 4 - 使用 MLflow 記錄模型及其元數(shù)據(jù)
使用 MLflow,將訓練得到的模型及其相關數(shù)據(jù)記錄下來:
with mlflow.start_run():
# 記錄超參數(shù)
mlflow.log_params(params)
# 記錄性能指標
mlflow.log_metric("accuracy", accuracy)
# 保存并注冊模型
model_info = mlflow.sklearn.log_model(
sk_model=lr,
artifact_path="iris_model",
registered_model_name="iris_lr_model"
)
步驟 5 - 加載模型并進行推理
通過 MLflow 加載已經記錄的模型,并對測試數(shù)據(jù)進行預測:
loaded_model = mlflow.pyfunc.load_model(model_info.model_uri)
predictions = loaded_model.predict(X_test)
# 輸出預測結果
result = pd.DataFrame(X_test, columns=datasets.load_iris().feature_names)
result["actual"] = y_test
result["predicted"] = predictions
print(result.head())
步驟 6 - 在 MLflow UI 查看實驗結果
啟動 MLflow UI(默認地址為 http://localhost:9999),你可以通過瀏覽器訪問來查看實驗的詳細記錄,包括超參數(shù)、指標和模型版本。
如下圖所示,可以通過點擊列表中的“debonair-sloth-211”進入訓練跟蹤記錄。
接著可以看到本次訓練的詳細信息,包括創(chuàng)建時間、創(chuàng)建者、實驗編號等。
下滑到頁面的底端還可以看到訓練參數(shù)和精度相關信息。
在“Artifacts”選項卡中還可以看到與模型相關信息,如下:
總結
LLMOps 是應對大語言模型復雜性和規(guī)?;枨蠖l(fā)展出的運維框架,它從提示管理、鏈式調用到監(jiān)控與可觀察性,為企業(yè)的生成式 AI 應用提供了全方位支持。通過引入 LLMOps,企業(yè)能夠高效解決 LLM 應用中的部署復雜性、性能優(yōu)化、實時監(jiān)控以及成本控制等問題,從而提升開發(fā)效率和模型可靠性。文章還通過 MLflow 的實際操作,展示了如何在實驗跟蹤、模型注冊和部署中初步實踐 LLMOps 理念,為讀者提供了理論和實踐結合的學習路徑。未來,隨著技術的不斷發(fā)展,LLMOps 必將成為企業(yè)管理大語言模型不可或缺的核心工具。
參考
??https://ai.gopubby.com/responsible-agentops-8d90fbd84985#bypass??
??https://www.pluralsight.com/resources/blog/ai-and-data/what-is-llmops??
??https://arxiv.org/pdf/2408.13467.pdf??
??https://mlflow.org/docs/latest/getting-started/intro-quickstart/index.htm?
作者介紹
崔皓,51CTO社區(qū)編輯,資深架構師,擁有18年的軟件開發(fā)和架構經驗,10年分布式架構經驗。
