攀登數據科學家和數據工程師之間的隔牆

攀登數據科學家和數據工程師之間的隔牆

攀登數據科學家和數據工程師之間的隔牆

來源 | 數據派 THU

機器學習的教育和研究重點往往集中在數據科學過程的模型構建、訓練、測試和優化等方面。要使這些模型投入使用,需要一套工程專長和組織結構,對於其中的標準尚不存在。有一個架構可以指導數據科學和工程團隊相互協作,從而將機器學習模型部署到終端用戶,這篇文章能讓你瞭解更多關於這一方面的信息。

今天機器學習中最令人興奮的事情之一,並不是深入學習或強化學習的前沿,至少我是這樣認為。相反,更多有意思的事情是如何管理模型,以及數據科學家和數據工程師如何像一支團隊般高效協作。朝這些方向前行可以引導組織更有效、可持續地應用機器學習。

可悲的是,“科學家”和“工程師”之間有一道鴻溝,可以說是一堵牆。Databricks的聯合創始人兼產品副總裁Andy Konwinski等人,指出了近日一篇關於MLFlow的博客文章中存在一些關鍵障礙。Databricks說:“構建生產性機器學習應用程序具有挑戰性,是因為沒有標準的方法來記錄實驗、確保可重複運行以及管理和部署模型。”

當今應用機器學習的許多主要挑戰(無論是技術上的、商業上的還是社會上的)的起因,是隨著時間的推移,數據與機器學習部件的管理以及利用之間存在不平衡。一個模型可以表現得非常好,但是如果底層數據漂移、部件沒有被用來評估性能,那麼您的模型將無法很好地概括總結,也無法適當地更新。這個問題屬於一個與數據科學家和工程師都相關的灰色地帶。

攀登数据科学家和数据工程师之间的隔墙

換言之,問題的癥結在於機器學習中缺少CI/CD的主體。如果您的環境發生了變化(如輸入數據),並且模型沒有在其構建目的的上下文中定期進行評估,從而導致模型隨著時間的推移而失去相關性和價值,那麼您是否能夠創建一個真正好的“黑盒”模型並不重要。這是一個很難解決的問題,因為提供數據的人——工程師,以及設計模型的人——科學家,雙方沒有形成最令人愉快的組合。

這一挑戰有一些具體的例子。想想有多少機器學習的笨蛋預言希拉里·克林頓將在大選中獲勝。從自動駕駛汽車殺死無辜的行人,到有偏見的人工智能系統,都有一些重大的失誤,我認為這些失誤通常起因於數據科學和工程之間的灰色地帶。

攀登数据科学家和数据工程师之间的隔墙

也就是說,無論是消極的還是積極的,機器學習都會影響到我們的社會。舉一個更積極、更少商業化的例子,比如說electricity map使用機器學習來繪製全世界電力對環境的影響圖;機器學習在癌症研究中目前正幫助我們更早、更準確地發現幾種癌症類型;人工智能驅動的傳感器為農業賦能,以滿足全球糧食需求的飆升。

攀登数据科学家和数据工程师之间的隔墙

兩者之間的隔牆

考慮到這一點,獲得機器學習的成果,更具體點,模型管理是至關重要的。然而,回到正題,數據科學家和數據工程師並不總是能互相理解。

對於一個數據科學家來說,不瞭解他們的模型應該如何存在於一個不斷吸收新數據、集成新代碼、被終端用戶調用、並可能不時地以各種方式(即在生產環境中)失敗,這樣的情況並不少見。另一方面,許多數據工程師對機器學習的理解不夠,不足以使他們明白投入生產的內容以及對組織的影響是什麼。。

儘管這兩個角色佔據了同一空間,但他們在操作時往往沒有足夠地考慮對方的那一方面。“那不是我的工作”不是正確的方法。要生產出可靠、可持續和適應性強的產品,這兩個角色必須更有效地協同工作。

攀登数据科学家和数据工程师之间的隔墙

攀牆

理解對方的第一步是建立一個共同的詞彙表——對語義學進行某種標準化,並因此討論挑戰或者說是相切合的挑戰是怎樣的。當然,其中充滿挑戰——只要問幾個不同的人什麼是數據湖,如果你得到的不是多個答案的話,至少也會得到是兩個不同的答案。

我開發了共同的參考點,稱之為ProductionML價值鏈和ProductionML框架。

攀登数据科学家和数据工程师之间的隔墙

我們將生產性機器學習的過程分解為五個重疊的概念,這些概念常常被單獨考慮。雖然引入這樣一個整體框架似乎會增加複雜性和相互依賴性——實際上,這些複雜性和相互依賴性已經存在——如果忽略它們的話只會把問題推到最後。

通過在生產性機器學習管道的設計中考慮相鄰的概念,您將開始引入難以捉摸的可靠性、可持續性和適應性。

攀登数据科学家和数据工程师之间的隔墙

ProductionML 框架

ProductionML價值鏈是對操作數據科學和工程團隊所需內容的高級描述,目的是將模型部署到終端用戶。自然會有更為技術性和詳細的理解——我稱之為ProductionML框架(有些人可能稱之為連續智能)。

攀登数据科学家和数据工程师之间的隔墙

ProductionML 框架

這個框架是在商業性MLOps工具、開源選項和內部PoC開發的幾輪實驗之後開發的。它旨在指導production ML項目的未來開發,特別是ProductionML中需要數據科學家和工程師輸入的方面。

攀登数据科学家和数据工程师之间的隔墙

數據科學是橙色的,數據工程/DevOps是藍色的。

如果您不熟悉這些方面,請參閱橙色標記的數據科學和藍色標記的數據工程/DevOps。

如您所見,“訓練性能跟蹤”機制(例如,MLFlow)和管理機制位於該體系結構的中心。這是因為每個部件,包括度量、參數和圖形,都必須在培訓和測試階段存檔。此外,所謂的模型管理從根本上與利用這些部件的模型管理方式有關。

管理機制將部件和業務規則結合起來,提升優化合適的模型(或更確切地說,是估計器)以適應生產,同時根據用例特定的規則來標記其他模型。這也稱為模型版本控制,但術語“管理”用於避免與版本控制混淆,並強調該機制在監督模型管理中的中心作用。

攀登数据科学家和数据工程师之间的隔墙

黃金槍?

我們都一起前行。我們都在努力攀登這堵牆。有很多很棒的工具進入市場,但迄今為止,沒有人有一把黃金槍……

在我看來,MLFlow邁出了巨大的一步,它回答了關於模型管理和工件歸檔的某些問題。其他產品同樣解決了相對特定的問題——儘管它們的優勢可能在ProductionML價值鏈的其他部分。這些可以在Google Cloud ML引擎和AWS Sagemaker中看到。最近,GCP提供了AutoML Tables beta的beta版本,但即使如此,儘管它確實更接近了,但它也不能提供所需的所有現成的東西。

考慮到這種持續的差異,在科學家和工程師之間建立一個共同的詞彙和框架是至關重要的。

這堵牆太高了嗎?根據我的經驗,答案是否定的,但這並不是說ProductionML不復雜。

詹姆斯·邦德:

M:所以如果我沒聽錯的話,斯卡拉曼加逃走了——坐在一輛長出翅膀的車裡!

Q:哦,那完全可行,先生。事實上,我們現在正在製造一輛。

也許你應該這樣翻過那堵牆…

攀登数据科学家和数据工程师之间的隔墙
攀登数据科学家和数据工程师之间的隔墙
  • 半小時訓練億級規模知識圖譜,亞馬遜AI開源知識圖譜嵌入表示框架DGL-KE

  • 中國頂尖的技術社區們在一個群裡,會聊什麼…

  • 京東智能內容創作算法的演進與實踐:基於關鍵詞自動生成摘要

  • 馬化騰、馬雲並列成為中國首富;百度回應“將上線電商直播”;.NET 5 Preview 2 發佈 | 極客頭條

  • 程序員職場背鍋甩鍋指南

  • 警惕!新騙術出現:這些虛假二維碼生成器已成功盜取 4.6 萬美元!

  • “出道” 5 年採用率達 78%,Kubernetes 的成功秘訣是什麼?


分享到:


相關文章: