為什麼數據科學團隊需要通才,而不是專家

為什麼數據科學團隊需要通才,而不是專家
渡邊浩/蓋蒂圖片社

亞當斯密在《國富論》中展示了勞動分工如何成為生產力提升的主要來源。 一個例子是別針工廠的裝配線:「一名工人拉動電線,另一名工人將其拉直,第三名工人將其切割,第四名工人削尖末端,第五名工人磨削另一端以適合頭部。” 由於專注於特定職能的專業化,每位員工都成為其狹窄任務中的高素質專家,從而提高了流程效率。 每個工人的產量增加了許多倍,工廠生產銷釘的效率也提高了。

即使在今天,這種按功能劃分的勞動分工仍然在我們的腦海中根深蒂固,以至於我們很快就相應地組織了我們的團隊。 數據科學也不例外。 複雜的演算法業務能力需要多種工作職能,因此公司通常會創建專家團隊:研究人員、資料工程師、機器學習工程師、因果科學家等。 專家的工作由產品經理協調,以類似於大頭針工廠的方式轉移功能:「一個人接收數據,另一個人對其進行建模,第三個人執行它,第四個人採取措施」等等,

唉,我們不應該優化我們的數據科學團隊來提高生產力。 然而,當您了解自己正在生產什麼:銷釘或其他東西,並且只是努力提高效率時,您就可以這樣做。 裝配線的目的是完成一項任務。 我們確切地知道我們想要什麼 - 引腳(如史密斯的範例),但是可以提及任何產品或服務,其中的要求充分描述了產品及其行為的所有方面。 員工的角色是盡可能有效地滿足這些要求。

但數據科學的目標不是完成任務。 相反,目標是探索和開發強大的新商機。 推薦系​​統、客戶互動、風格偏好分類、尺寸、服裝設計、物流優化、季節趨勢檢測等演算法產品和服務無法提前開發。 必須對它們進行研究。 沒有可複製的藍圖,這些都是具有內在不確定性的新可能性。 係數、模型、模型類型、超參數,所有必要的元素都必須透過實驗、試誤和重複來學習。 對於銷釘,培訓和設計是在生產之前完成的。 透過資料科學,您可以邊做邊學,而不是之前學習。

在別針工廠,當培訓放在第一位時,我們既不期望也不希望工人除了提高生產效率之外即興發揮產品的任何功能。 專業化任務是有意義的,因為它可以提高流程效率和生產一致性(無需更改最終產品)。

但是,當產品仍在開發且目標是培訓時,在以下情況下,專業化會幹擾我們的目標:

1.增加協調成本。

也就是說,在溝通、討論、論證和確定需要完成的工作的優先順序方面所累積的成本。 這些成本與涉及的人數呈現超線性關係。 (正如 J. Richard Hackman 教導我們的那樣,關係數 r 的增長類似於根據以下方程的項數 n 的函數:r = (n^2-n)/2。並且每個關係都揭示了一定量的成本關係。) 當資料科學家依職能組織時,每個階段、每次變更、每次交接等都需要許多專家,這增加了協調成本。 例如,想要嘗試新功能的統計建模人員必須與資料工程師協調,資料工程師每次想要嘗試新功能時都會新增到資料集。 同樣,訓練的每個新模型都意味著模型開發人員需要有人協調才能將其投入生產。 協調成本作為迭代的代價,使迭代變得更加困難和昂貴,並且更有可能導致研究被放棄。 這可能會幹擾學習。

2. 等待時間變得困難。

比協調成本更令人畏懼的是輪班之間的時間損失。 雖然協調成本通常以小時為單位(進行會議、討論、設計審查所需的時間)來衡量,但等待時間通常以天、週甚至月為單位來衡量! 職能專家的日程安排很難平衡,因為每個專家必須分佈在多個專案中。 討論變更的一小時會議可能需要數週才能順利完成工作流程。 並且在同意更改後,有必要在佔用專家工作時間的許多其他項目的背景下規劃實際工作本身。 涉及程式碼修復或研究的工作只需幾個小時或幾天即可完成,但在資源可用之前可能需要更長的時間。 在此之前,迭代和學習都會暫停。

3.它縮小了語境。

勞動分工可以透過獎勵人們堅持自己的專業來人為地限制學習。 例如,一位必須在其功能範圍內的研究科學家將專注於嘗試不同類型的演算法:回歸、神經網路、隨機森林等。 當然,良好的演算法選擇可以帶來漸進式改進,但通常可以從其他活動中獲得更多收益,例如整合新資料來源。 同樣,它將有助於開發一個模型,利用數據中固有的每一點解釋力。 然而,它的優點可能在於改變目標函數或放鬆某些限制。 當她的工作有限時,這是很難看到或做到的。 因為技術科學家專門研究最佳化演算法,所以他不太可能做其他事情,即使這會帶來顯著的好處。

列舉資料科學團隊充當 pin 工廠時出現的跡象(例如,在簡單的狀態更新中):「等待資料管道變更」和「等待 ML 工程資源」是常見的障礙。 然而,我相信更危險的影響是你沒有註意到的,因為你不會為你不知道的事情後悔。 完美的執行和因實現流程效率而產生的自滿情緒可能掩蓋了這樣一個事實:組織沒有意識到他們錯過了培訓的好處。

解決這個問題的辦法當然是擺脫工廠pin方法。 為了鼓勵學習和迭代,資料科學家的角色應該是通用的,但具有獨立於技術功能的廣泛職責,即組織資料科學家,以便他們可以針對學習進行最佳化。 這意味著僱用「全端專家」——能夠執行從概念到建模、實施到測量等各種職能的普通專家。 值得注意的是,我並不是建議僱用全端人才應該減少員工數量。 相反,我會簡單地假設,當他們以不同的方式組織時,他們的激勵措施會更好地與學習和績效收益保持一致。 例如,假設您有一個由三人組成的團隊,擁有三種業務技能。 在別針工廠中,每個技術人員都會投入三分之一的時間來完成每項工作任務,因為沒有其他人可以完成他的工作。 在全端中,每位通才都完全致力於整個業務流程、擴展和培訓。

由於支援生產週期的人員減少,協調也隨之減少。 多面手在功能之間流暢地移動,擴展數據管道以添加更多數據,嘗試模型中的新功能,將新版本部署到生產中以進行因果測量,並在新想法出現時盡快重複步驟。 當然,旅行車順序執行不同的功能,而不是並行執行。 畢竟只是一個人而已。 然而,完成一項任務通常只需要存取另一個專門資源所需時間的一小部分。 因此,迭代時間減少。

我們的通才可能不如特定工作職能的專家那麼熟練,但我們不追求功能完美或小幅漸進式改進。 相反,我們努力學習並發現越來越多、逐漸產生影響的專業挑戰。 憑藉完整解決方案的整體背景,他看到了專家可能會錯過的機會。 他有更多的想法,更多的可能性。 他也失敗了。 然而,失敗的成本很低,學習的好處卻很高。 這種不對稱性促進了快速迭代並獎勵學習。

值得注意的是,為全端科學家提供的自主權和技能多樣性在很大程度上取決於工作資料平台的穩健性。 精心設計的資料平台可以幫助資料科學家擺脫容器化、分散式處理、自動故障轉移和其他高階運算概念的複雜性。 除了抽象之外,強大的數據平台還可以提供與實驗基礎設施的無縫連接,自動監控和警報,實現演算法結果和調試的自動擴展和視覺化。 這些元件是由資料平台工程師設計和建構的,這意味著它們不會從資料科學家傳遞到資料平台開發團隊。 數據科學專家負責運行該平台的所有程式碼。

我也曾經對利用流程效率進行職能分工感興趣,但透過反覆試驗(沒有更好的學習方法),我發現典型的角色更好地促進學習和創新,並提供正確的衡量標準:發現和創新比專門的方法創造更多的商業機會。 (比我經歷的反覆試驗更有效地了解這種組織方法是閱讀艾米·埃德蒙森(Amy Edmondson)的書《團隊協作:組織如何在知識經濟中學習、創新和競爭》。

有一些重要的假設可能會使這種組織方法在某些公司中或多或少可靠。 迭代過程減少了試誤成本。 如果錯誤成本很高,您可能希望減少錯誤成本(但不建議在醫療應用或製造中這樣做)。 此外,如果您正在處理 PB 或 EB 級的數據,則可能需要數據工程方面的專業知識。 同樣,如果維護線上業務能力及其可用性比改進它們更重要,那麼卓越的功能可能會勝過學習。 最後,全端模型依賴於了解它的人的意見。 他們不是獨角獸;他們是獨角獸。 您可以找到它們或自己準備它們。 然而,他們的需求量很大,吸引和留住他們需要有競爭力的薪酬、強大的企業價值觀和具有挑戰性的工作。 確保您的公司文化能夠支持這一點。

儘管如此,我相信全端模型提供了最好的起始條件。 從他們開始,然後只有在絕對必要時才有意識地進行職能分工。

功能專業化還有其他缺點。 這可能會導致工人喪失責任感和消極性。 史密斯本人批評勞動分工,認為它會導致人才遲鈍,即工人變得無知和孤僻,因為他們的角色僅限於一些重複性的任務。 雖然專業化可以提高流程效率,但不太可能激勵工人。

反過來,多功能角色提供了提高工作滿意度的所有因素:自主性、掌控力和目標。 自主性是指他們不依賴任何事物來取得成功。 掌握在於強大的競爭優勢。 使命感在於有機會對他們創造的業務產生影響。 如果我們能讓人們對他們的工作感到興奮並對公司產生重大影響,那麼其他一切都會水到渠成。

來源: www.habr.com

添加評論