目錄[隱藏][顯示]
- 1. MLOps 是什麼意思?
- 2. 數據科學家、數據工程師和機器學習工程師之間有何不同?
- 3. MLOps 與 ModelOps 和 AIOps 有什麼區別?
- 4. 你能告訴我 MLOps 的一些好處嗎?
- 5. 你能告訴我MLOps的組成部分嗎?
- 6. 使用數據科學會帶來哪些風險?
- 7. 你能解釋一下,什麼是模型漂移?
- 8. 您認為 MLOps 有多少種不同的應用方式?
- 9. 靜態部署和動態部署有什麼區別?
- 10. 您了解哪些生產測試技術?
- 11. 流處理與批處理有什麼區別?
- 12. 培訓服務偏差是什麼意思?
- 13. 模型註冊是什麼意思?
- 14. 您能否詳細說明 Model Registry 的好處?
- 15. 你能解釋一下冠軍挑戰者技術的工作原理嗎?
- 16.描述MLOps生命週期的企業級應用?
- 結論
公司正在更頻繁地使用人工智能 (AI) 和機器學習 (ML) 等新興技術來增加公眾對信息和服務的可及性。
這些技術越來越多地用於各個領域,包括銀行、金融、零售、製造,甚至醫療保健。
越來越多的公司需要數據科學家、機器學習工程師和人工智能工程師。
知道可能 機器學習 如果您想在 ML 或 MLOps 領域工作,招聘經理和招聘人員可能向您提出的操作面試問題是必不可少的。
在您努力獲得理想工作的過程中,您可以了解如何回答這篇文章中的一些 MLOps 面試問題。
1. MLOps 是什麼意思?
操作 ML 模型的主題是 MLOps 的重點,也稱為機器學習操作,這是更主要的 AI/DS/ML 領域中的一個發展領域。
被稱為 MLOps 的軟件工程方法和文化的主要目標是集成機器學習/數據科學模型的創建及其後續操作化 (Ops)。
傳統的 DevOps 和 MLOps 有一些相似之處,但是,MLOps 也與傳統的 DevOps 有很大的不同。
MLOps 通過關注數據增加了一層新的複雜性,而 DevOps 主要側重於操作無法有狀態的代碼和軟件版本。
ML、數據和 Ops 的組合是 MLOps 的通用名稱(機器學習、數據工程和 DevOps)。
2. 數據科學家、數據工程師和機器學習工程師之間有何不同?
在我看來,這取決於公司。 數據傳輸和轉換以及存儲的環境是由數據工程師建立的。
數據科學家是利用科學和統計技術分析數據並得出結論的專家,包括根據現有趨勢預測未來行為。
幾年前,軟件工程師正在研究運營和管理部署基礎設施。 另一方面,運維團隊正在研究開發,同時使用基礎設施作為代碼。 這兩個流產生了 DevOps 職位。
MLOps 與 數據科學家 和數據工程師。 數據工程師正在獲得有關支持模型生命週期和為持續培訓創建管道所需的基礎設施的知識。
數據科學家尋求開發他們的模型部署和評分能力。
生產級數據管道由 ML 工程師利用基礎設施構建,該基礎設施將原始數據轉換為數據科學模型所需的輸入,託管和運行模型,並將評分數據集輸出到下游系統。
數據工程師和數據科學家都有能力成為 ML 工程師。
3. MLOps 與 ModelOps 和 AIOps 有什麼區別?
端到端構建時 機器學習算法,MLOps是一個DevOps應用,包括數據採集、數據預處理、模型創建、生產中的模型部署、生產中的模型監控、模型定期升級。
使用 DevOps 處理任何算法的整個實現,例如基於規則的模型,稱為 ModelOps。
人工智能 正在利用 DevOps 原則從頭開始創建 AI 應用程序。
4. 你能告訴我 MLOps 的一些好處嗎?
- 數據科學家和 MLOps 開發人員可以快速重新運行試驗,以確保模型得到適當的訓練和評估,因為 MLOps 有助於自動化 MDLC(模型開發生命週期)中的所有或大部分任務/步驟。 另外允許 數據和模型版本控制.
- 將 MLOps 想法付諸實踐使數據工程師和數據科學家能夠不受限制地訪問培養和管理的數據集,從而以指數方式加速模型的開發。
- 如果當前迭代沒有達到預期,數據科學家將能夠依靠性能更好的模型,這要歸功於模型和數據集版本化的能力,這將顯著增強模型審計跟踪。
- 由於 MLOps 方法強烈依賴於 DevOps,它們還結合了許多 CI/CD 概念,從而增強了 代碼的質量和可靠性.
5. 你能告訴我MLOps的組成部分嗎?
設計:MLOps 很大程度上包含了設計思維。 從問題的性質開始,測試假設、架構和部署
建築模型:模型測試和驗證是此步驟的一部分,以及用於建立最佳機器學習系統的數據工程管道和實驗。
操作:模型必須作為運營的一部分實施,並不斷檢查和評估。 然後使用編排工具監控和啟動 CI/CD 流程。
6. 使用數據科學會帶來哪些風險?
- 很難在整個公司範圍內擴展該模型。
- 在沒有警告的情況下,模型關閉並停止運行。
- 大多數情況下,模型的準確性會隨著時間的推移而變差。
- 該模型根據無法進一步檢查的特定觀察結果做出不准確的預測。
- 數據科學家也應該維護模型,但它們很昂貴。
- MLOps 可用於降低這些風險。
7. 你能解釋一下,什麼是模型漂移?
當模型的推理階段性能(使用真實世界數據)從其訓練階段性能惡化時,這稱為模型漂移,也稱為想法漂移(使用歷史、標記數據)。
與訓練和服務階段相比,該模型的性能存在偏差,因此稱為“訓練/服務偏差”。
許多因素,包括:
- 數據分佈的基本方式已經改變。
- 培訓側重於少數類別,然而,剛剛發生的環境轉變增加了另一個領域。
- 在 NLP 困難中,現實世界的數據比訓練數據具有不成比例的大量數字標記。
- 意外事件,例如基於 COVID-19 流行期間收集的數據預測的基於 COVID-XNUMX 前數據的模型的表現要差得多。
始終需要持續監控模型的性能以識別模型漂移。
當模型性能持續下降時,幾乎總是需要模型再訓練作為補救措施; 必須確定下降的原因並使用適當的治療程序。
8. 您認為 MLOps 有多少種不同的應用方式?
將 MLOps 付諸實踐的三種方法:
MLOps 級別 0(手動處理):在此級別中,所有步驟(包括數據準備、分析和訓練)都是手動執行的。 每個階段都必須手動執行,以及從一個階段到下一個階段的過渡。
基本前提是您的數據科學團隊只管理少數不經常更新的模型。
因此,沒有持續集成 (CI) 或持續部署 (CD),並且測試代碼通常集成到腳本執行或筆記本執行中,部署發生在具有 REST API.
MLOps 級別 1(ML 管道的自動化):通過自動化 ML 過程,目標是持續訓練模型 (CT)。 您可以通過這種方式完成持續的模型預測服務交付。
我們部署了一個完整的訓練管道,確保模型在生產中使用基於活動管道觸發器的新數據自動訓練。
MLOps 級別 2(CI/CD 管道的自動化):它比 MLOps 水平高出一步。 如果您想快速可靠地更新生產中的管道,則需要一個強大的自動化 CI/CD 系統:
- 您在整個 CI 階段創建源代碼並執行大量測試。 包、可執行文件和工件是階段的輸出,將在稍後部署。
- CI 階段創建的工件在 CD 步驟期間部署到目標環境。 具有修改後的模型實現的部署管道是階段的輸出。
- 在管道開始新的實驗迭代之前,數據科學家仍必須手動進行數據和模型分析階段。
9. 靜態部署和動態部署有什麼區別?
該模型是離線訓練的 靜態部署. 換句話說,我們精確地訓練模型一次,然後使用它一段時間。 在本地訓練模型後,將其存儲並發送到服務器以用於生成實時預測。
然後將該模型作為可安裝的應用軟件分發。 一個允許對請求進行批量評分的程序,例如。
該模型是在線訓練的 動態部署. 也就是說,新數據不斷添加到系統中,並且模型不斷更新以解釋它。
因此,您可以按需使用服務器進行預測。 之後,該模型通過作為響應用戶查詢的 API 端點提供來投入使用,使用像這樣的 Web 框架 Flask 或 FastAPI.
10. 您了解哪些生產測試技術?
批量測試:通過在不同於其訓練環境的設置中進行測試,它驗證了模型。 使用選擇的指標,例如準確性、RMSE 等,對一組數據樣本進行批量測試以驗證模型推斷。
批量測試可以在各種計算平台上進行,例如測試服務器、遠程服務器或云。 通常,模型以序列化文件的形式提供,該文件作為對象加載並從測試數據中推斷出來。
A / B測試:它經常用於分析營銷活動以及服務設計(網站、移動應用程序等)。
根據公司或運營情況,使用統計方法分析 A/B 測試的結果,以決定哪種模型在生產中表現更好。 通常,A/B 測試通過以下方式完成:
- 實時或實時數據被分為兩組,一組 A 和一組 B。
- Set A 數據被發送到過時的模型,而 Set B 數據被發送到更新的模型。
- 根據業務用例或流程,可以使用幾種統計方法來評估模型性能(例如,準確性、精確度等),以確定新模型(模型 B)是否優於舊模型(模型 A)。
- 然後我們進行統計假設檢驗:原假設說新模型對被監控的業務指標的平均值沒有影響。 根據備擇假設,新模型增加了監控業務指標的平均值。
- 最後,我們評估新模型是否會顯著改善某些業務 KPI。
影子或舞台測試:模型在用於生產(暫存環境)之前在生產環境的副本中進行評估。
這對於使用實時數據確定模型的性能和驗證模型的彈性至關重要。 通過推斷與生產管道相同的數據並交付已開發的分支或模型以在登台服務器上進行測試來執行。
唯一的缺點是開發分支不會在登台服務器上做出任何業務選擇,也不會對最終用戶可見。
模型的彈性和性能將使用適當的指標使用暫存環境的結果進行統計評估。
11. 流處理與批處理有什麼區別?
我們可以使用兩種處理方法來操縱我們用來生成實時預測的特徵:批處理和流。
批處理 特定對象的先前時間點的特徵,然後用於生成實時預測。
- 在這裡,我們能夠離線進行密集的特徵計算,並為快速推理準備好數據。
- 然而,特徵是一個時代,因為它們是過去預先確定的。 如果您的預測是基於最近發生的,這可能是一個主要缺點。 (例如,盡快識別欺詐交易。)
借助特定實體的近實時流式特徵,推理是在給定輸入集的流處理中執行的。
- 在這裡,通過為模型提供實時的流式特徵,我們可以獲得更準確的預測。
- 但是,流處理和維護數據流(Kafka、Kinesis 等)需要額外的基礎設施。 (Apache Flink、Beam 等)
12. 培訓服務偏差是什麼意思?
發球時的表現與訓練時的表現之間的差異稱為訓練-發球偏差。 這種偏斜可能由以下因素引起:
- 在服務和訓練管道之間處理數據的方式有所不同。
- 數據從您的培訓轉移到您的服務。
- 您的算法和模型之間的反饋通道。
13. 模型註冊是什麼意思?
模型註冊表是一個中央存儲庫,模型創建者可以在其中發布適用於生產的模型。
開發人員可以與其他團隊和利益相關者協作,使用註冊表管理企業內所有模型的生命週期。 訓練後的模型可以由數據科學家上傳到模型註冊表。
模型在註冊後即可進行測試、驗證和部署到生產。 此外,經過訓練的模型存儲在模型註冊表中,以便任何集成應用程序或服務快速訪問。
為了測試、評估模型並將其部署到生產中, 軟件開發商 審閱者可以快速識別並選擇訓練模型的最佳版本(基於評估標準)。
14. 您能否詳細說明 Model Registry 的好處?
以下是模型註冊表簡化模型生命週期管理的一些方法:
- 為了使部署更容易,請保存已訓練模型的運行時要求和元數據。
- 您的訓練、部署和退役的模型應該在一個集中的、可搜索的存儲庫中進行註冊、跟踪和版本控制。
- 創建自動化管道,以實現生產模型的持續交付、培訓和集成。
- 將暫存環境中新訓練的模型(或挑戰者模型)與當前在生產中運行的模型(冠軍模型)進行比較。
15. 你能解釋一下冠軍挑戰者技術的工作原理嗎?
可以使用 Champion Challenger 技術測試生產中的各種操作決策。 您可能聽說過營銷背景下的 A/B 測試。
例如,您可以編寫兩個不同的主題行並將它們隨機分發給您的目標人群,以最大限度地提高電子郵件活動的打開率。
系統會記錄與主題行相關的電子郵件性能(即電子郵件打開操作),允許您比較每個主題行的打開率以確定哪個是最有效的。
Champion-Challenger 在這方面可與 A/B 測試相媲美。 您可以使用決策邏輯來評估每個結果,並在嘗試各種方法來做出選擇時選擇最有效的結果。
最成功的模型與冠軍有關。 第一個挑戰者和匹配的挑戰者列表現在是第一個執行階段出現的所有內容,而不是冠軍。
系統選擇冠軍用於進一步的作業步驟執行。
挑戰者彼此形成對比。 然後,新的冠軍由產生最大成績的挑戰者決定。
下面更詳細地列出了冠軍挑戰者比較過程中涉及的任務:
- 評估每個競爭對手的模型。
- 評估最終分數。
- 比較評估結果以確定獲勝的挑戰者。
- 將新鮮的冠軍添加到檔案中
16.描述MLOps生命週期的企業級應用?
我們需要停止將機器學習視為只是一個迭代實驗,以便機器學習模型進入生產。 MLOps 是軟件工程與機器學習的結合。
最終的結果應該是這樣想像的。 因此,技術產品的代碼必須經過測試、功能化和模塊化。
MLOps 的生命週期可與傳統的機器學習流程相媲美,不同之處在於模型在生產之前一直保留在流程中。
然後,MLOps 工程師會密切關注這一點,以確保生產中的模型質量符合預期。
以下是一些 MLOps 技術的一些用例:
- 模型註冊:看起來就是這樣。 較大的團隊在模型註冊表中存儲和維護版本模型的跟踪。 甚至回到以前的版本也是一種選擇。
- 特徵存儲:在處理更大的數據集時,可能會有不同版本的分析數據集和特定任務的子集。 特徵存儲是一種尖端的、有品味的方式,可以使用早期運行或其他團隊的數據準備工作。
- 元數據存儲:如果要成功使用非結構化數據(例如圖片和文本數據),則在整個生產過程中正確監控元數據至關重要。
結論
重要的是要記住,在大多數情況下,面試官正在尋找一個系統,而候選人正在尋找一個解決方案。
第一個是基於你的技術技能,而第二個是你用來展示你的能力的方法。
在回答 MLOps 面試問題時,您應該採取幾個程序,以幫助面試官更好地了解您打算如何評估和解決手頭的問題。
他們的注意力更多地集中在不正確的反應上,而不是正確的反應上。 解決方案講述了一個故事,您的系統是您的知識和溝通能力的最佳例證。
發表評論