MLOps的角色是什么?
你有興趣成為一名 MLOps 工程師嗎?今天詳細(xì)了解 MLOps 工程師角色。
所以已經(jīng)建立了一個(gè)機(jī)器學(xué)習(xí)模型。它在驗(yàn)證數(shù)據(jù)集上達(dá)到了預(yù)期的性能。很高興能夠應(yīng)用數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)技能來構(gòu)建此模型。但是,意識(shí)到該模型在 Jupyter notebook 中在本地計(jì)算機(jī)上運(yùn)行良好(目前)并不是很有幫助。
為了讓用戶從模型中受益并讓企業(yè)利用機(jī)器學(xué)習(xí),必須將模型部署到生產(chǎn)環(huán)境中。然而,部署和維護(hù)機(jī)器學(xué)習(xí)模型并非沒有挑戰(zhàn)。在開發(fā)環(huán)境中表現(xiàn)良好的模型在生產(chǎn)環(huán)境中可能會(huì)慘敗。這可能是由于數(shù)據(jù)和概念漂移以及其他導(dǎo)致性能下降的因素造成的。
所以意識(shí)到:要使機(jī)器學(xué)習(xí)模型有用,必須超越模型構(gòu)建。這就是 MLOps 發(fā)揮作用的地方。今天,將了解 MLOps 以及MLOps 工程師在組織中的角色。
什么是 MLOps?
通常,會(huì)發(fā)現(xiàn) MLOps 被定義為將 DevOps 原則應(yīng)用于機(jī)器學(xué)習(xí)。
隨著 DevOps 實(shí)踐簡化了開發(fā)和運(yùn)營團(tuán)隊(duì)之間的跨職能協(xié)作,軟件開發(fā)生命周期 (SDLC) 已經(jīng)變得更好。如果認(rèn)識(shí)從事 DevOps 工作的人,會(huì)聽過他們談?wù)?CI/CD 管道、自動(dòng)化 CI/CD 管道、應(yīng)用程序監(jiān)控等。
盡管這可以轉(zhuǎn)移到機(jī)器學(xué)習(xí)應(yīng)用程序中,但機(jī)器學(xué)習(xí)系統(tǒng)存在一些特定的挑戰(zhàn)。構(gòu)建和運(yùn)行機(jī)器學(xué)習(xí)機(jī)器學(xué)習(xí)系統(tǒng)是一個(gè)更復(fù)雜的過程。
所以一般來說,可以將 MLOps 視為構(gòu)建、部署和維護(hù)機(jī)器學(xué)習(xí)系統(tǒng)的一組最佳實(shí)踐。
有了這個(gè)想法,繼續(xù)了解組織中的 MLOps 工程師的工作。
MLOps 工程師做什么?
可以將 DevOps 實(shí)踐應(yīng)用于機(jī)器學(xué)習(xí)系統(tǒng)。如果那是 MLOps,那么 MLOps 工程師就有責(zé)任做到這一點(diǎn)!
這是什么意思?一旦數(shù)據(jù)科學(xué)團(tuán)隊(duì)構(gòu)建了模型,MLOps 工程師就會(huì)通過以下方式使模型成功運(yùn)行:
- 自動(dòng)化機(jī)器學(xué)習(xí)模型部署
- 為 ML 管道設(shè)置監(jiān)控
- 自動(dòng)化 CI/CD 管道以處理數(shù)據(jù)、代碼和模型更改
- 設(shè)置自動(dòng)模型再訓(xùn)練
- 確定所需的自動(dòng)化水平
與 MLOps 相關(guān)的一些挑戰(zhàn)
設(shè)置監(jiān)控只能幫助識(shí)別何時(shí)出現(xiàn)問題。為了獲得有關(guān)模型不同版本性能的更詳細(xì)信息,MLOps 工程師經(jīng)常使用模型版本控制和實(shí)驗(yàn)跟蹤。
我\提到過 MLOps 工程師會(huì)設(shè)置具有所需自動(dòng)化水平的模型再訓(xùn)練。嘗試了解與之相關(guān)的挑戰(zhàn)。
一旦將應(yīng)用程序部署到生產(chǎn)環(huán)境中,模型在生產(chǎn)環(huán)境中使用的數(shù)據(jù)可能與訓(xùn)練它的數(shù)據(jù)截然不同。結(jié)果,這樣的模型會(huì)表現(xiàn)得很差,經(jīng)常不得不重新訓(xùn)練。
MLOps 工程師還通過考慮性能下降、數(shù)據(jù)更改頻率和模型再訓(xùn)練成本來處理再訓(xùn)練和再訓(xùn)練過程的自動(dòng)化。
在一些初創(chuàng)公司中,可能擁有機(jī)器學(xué)習(xí)工程師,也戴著 MLOps 工程師的帽子。而在其他一些公司中,擁有身兼數(shù)職的 DevOps 和后端工程師。
一家大型科技公司的 MLOps 可能與早期初創(chuàng)公司的 MLOps 大不相同。MLOps 自動(dòng)化水平也可能因組織而異。
如果一直在一家初創(chuàng)公司工作,擁有端到端機(jī)器學(xué)習(xí)管道(從模型訓(xùn)練到監(jiān)控和維護(hù)機(jī)器學(xué)習(xí)系統(tǒng))的所有權(quán),那么也已經(jīng)是一名 MLOps 工程師了。
對(duì)探索 MLOps 工程師這一具有挑戰(zhàn)性的角色感到興奮嗎?總結(jié)一下需要的技能。
MLOps 技能集和工具:概述
MLOps 工程師通常具有很強(qiáng)的 ML、DevOps 和數(shù)據(jù)工程技能。
MLOps 工程師在組織中的角色
- 機(jī)器學(xué)習(xí)技能:編程、機(jī)器學(xué)習(xí)算法和框架的工作知識(shí)以及領(lǐng)域知識(shí)
- 軟件工程技能:查詢和使用數(shù)據(jù)庫、測試 ML 模型、Git 和版本控制、FastAPI 等框架
- DevOps基礎(chǔ):熟練掌握Docker、Kubernetes等工具
- 實(shí)驗(yàn)跟蹤:熟悉MLflow等實(shí)驗(yàn)跟蹤框架
- 編排數(shù)據(jù)管道:使用 Prefect 和 Airflow 等工具設(shè)置和自動(dòng)化數(shù)據(jù)管道
- 云基礎(chǔ)設(shè)施:熟悉 AWS、GCP 等云基礎(chǔ)設(shè)施提供商和 Terraform 等基礎(chǔ)設(shè)施即代碼工具 (IaC)
學(xué)習(xí) MLOps
如果您有興趣了解有關(guān) MLOps 的更多信息,可以使用以下資源列表來幫助您入門:
- DataTalks.Club 的 MLOps Zoomcamp:DataTalks.Club 的 MLOps zoomcamp 是一門免費(fèi)課程,用于學(xué)習(xí) MLOps 的所有內(nèi)容——從模型構(gòu)建到部署和監(jiān)控的最佳實(shí)踐。將通過構(gòu)建一個(gè)項(xiàng)目來學(xué)習(xí),將學(xué)到的所有知識(shí)組合在一起。
- Coursera 上的 MLOps 專業(yè)化:DeepLearning.AI 的機(jī)器學(xué)習(xí)工程生產(chǎn) (MLOps) 專業(yè)化。該專業(yè)(包含四門課程)將教如何構(gòu)建生產(chǎn)級(jí)機(jī)器學(xué)習(xí)系統(tǒng)。
- MLOps GitHub 存儲(chǔ)庫:一個(gè)精選的存儲(chǔ)庫列表,用于在 MLOps 中升級(jí)。
總結(jié)
在本文中,介紹了 MLOps 工程師在組織中的首要職責(zé)以及關(guān)鍵的 MLOps 技能。
如前所述,并非所有執(zhí)行 MLOps 的工程師都稱為MLOps 工程師。還討論了 MLOps 自動(dòng)化水平和實(shí)際日常工作的依賴程度如何因組織而異。
與任何其他角色一樣,作為一名成功的 MLOps 工程師需要軟技能,例如有效的溝通、協(xié)作和戰(zhàn)略性問題解決。也就是說,如果想嘗試成為一名 MLOps 工程師,祝 MLOps 快樂!