紙上得來終覺淺,絕知此事要躬行。——陸遊
您有沒有感覺到公司裡面的資料科學專案應用於實際生產,困難重重?您有沒有發現公司裡面的資料模型與期望值,差距越來越大?您有沒有體驗到公司裡面的資料遷移與整合,極有挑戰?這些問題,值得每一位資料工作者思考與踐行。
在網上發現一篇英文文章,分享了資料科學專案應用於實際生產的一些見解。我把它翻譯,希望對您有幫助。
作者:Sebastian Neubauer
原文連結:
https://www.datascience.com/blog/why-is-it-so-hard-to-put-data-science-in-production
在Blue Yonder,我們的團隊擁有八年多為零售客戶提供和運算元據科學應用的經驗。在這段時間裡,我們學到了一些慘痛的教訓——包括將資料科學應用於生產是多麼困難。
我相信你知道什麼是資料科學,但讓我與你分享我的個人定義:
資料科學的標的是建立支援和自動化資料驅動的運營決策系統。
根據我相當嚴格的定義(您甚至可能不同意),資料科學的唯一目的是支援和自動化決策。那麼,我所說的“運營決策”是什麼呢?它們是企業需要大量地、頻繁地、定期地做出的決策,對業務kpi有直接的影響。這些決定的結果也需要在短期內加以評價。例如,企業可能需要回答以下問題:“明天每種產品的最佳價格是多少?”或“下一個傳送給供應商X的訂單中,每種產品的最優金額是多少?”
因為人們經常受到他們甚至不認識的方式的影響。在大多數情況下,自動化決策比人工操作決策表現得更好。因此,它們可以顯著提高業務流程的效率。
這一切真正的意義在於,資料科學給運營決策帶來的影響,就像工業機器人給製造業帶來的影響一樣。就像機器人自動化重覆的手工製造任務一樣,資料科學也可以自動化重覆的運營決策。
DevOps是什麼?它與資料科學有什麼關係?
DevOps運動旨在透過建立獨立的開發人員和操作團隊來剋服傳統IT組織中普遍存在的問題。開發團隊渴望儘早開發出新的特性。與此同時,操作團隊負責系統的穩定性,並將盡可能長時間地阻止新特性,因為所有更改都伴隨著風險。
在這種衝突中,兩個團隊都忽略了用高度穩定的新特性為客戶交付價值的共同標的。開發人員和運營團隊之間的鴻溝只是組織結構出錯的一個例子;同樣的論證也適用於其他按功能劃分的組。在許多公司,資料科學也出現在類似的“功能筒倉”中。
資料科學,麻煩製造者
在一次會議上,兩位經理之間有一段虛構但又現實的對話:“你已經在做資料科學方面的工作了嗎?”一位經理問道。另一個回答說:“我們已經有一個資料科學家團隊在那裡工作了大約一年,但是進展非常緩慢。”
為了更好地理解為什麼許多資料科學工作進展緩慢,我們需要檢視用於自動化業務決策的典型資料科學工作流。下麵的工作流程示例主要針對零售業,但也適用於其他行業,只需要做一些細微的修改:
-
從各種來源獲取各種必要的資料:
內部資料源,如ERP、CRM和POS系統,或來自線上商店的資料。
外部資料,如天氣或公眾假期 -
提取、轉換、載入資料:
關聯和連線資料源
聚合和轉換資料
最後,一切都變成了“一張大表” -
機器學習與決策:
利用歷史資料訓練機器學習模型
對於決策,使用最新的資料 -
結果的決策被載入,或者傳回到ERP系統或者其他資料倉庫
這些步驟基本上涉及業務的所有部分,需要深入地整合到業務流程中,以便建立有效的決策系統。目前為止,這是資料科學努力的最大麻煩來源。為了成功地整合資料科學,需要對核心業務流程進行轉換和修改,這是一項困難的任務。
資料科學本質上是貪婪的
“目前的資料庫應該足夠大,可以滿足明年的需求,”從來沒有資料科學家這樣說過!
人們通常認為資料科學家貪婪,因為他們似乎對可用資源有著不切實際的理解。但實際上,資料科學本身本質上就是貪婪的。
人們通常認為資料科學家貪婪,因為他們似乎對可用資源有著不切實際的理解。但實際上,資料科學本身本質上就是貪婪的。
-
更多的特徵(“列”)
-
更多歷史資料(“行”)
-
更獨立的資料源(如天氣、金融市場、社交媒體……)
-
更複雜的演演算法(如深度學習)
看到了嗎?這不是資料科學家的錯!原則上,他們提出這樣的要求是正確的。幸運的是,有一些方法可以剋服資源短缺,我將在後面展示。
另一個問題是低估了決策的絕對數量。考慮一個擁有100家門店和5000種產品的小型連鎖超市的每日需求預測。我們需要14天的每日預測才能對補貨演演算法有所幫助。但這意味著每天需要計算、處理和儲存700萬個預測。
此外,由於建立一個有效的機器學習模型需要許多不同的資料源,部門之間可能會引入新的一致性和糾纏性。整個組織必須共同商定共同的識別符號和資料型別。 以前斷開連線的細分需要同步其資料流。 例如,自動每日補貨系統可能取決於營銷部門的促銷資料和所有商店的庫存資料。 所有必要的資料都需要在一天中的固定時間提供,以便系統可以計算決策並及時將其傳送給供應商。 這種糾纏是一個大問題,可能導致公司嚴重的政治和情緒緊張。
資料科學家與公司其他人的對比
現在回到DevOps。 此舉旨在剋服開發人員和運營團隊潛在的錯位,如果您嘗試與資料科學家團隊在一個單獨的孤島中構建自動化決策系統,這個問題將不可避免地出現。 由於資料科學的糾纏和貪婪本質,資料科學團隊很難將系統成功整合到“反對”以不同方式激勵的運營團隊。
為了預防或解決這些問題,必須接受DevOps心態的基本原則:
-
調整所有團隊的標的,使他們不會互相“反對”,而是共同努力實現共同標的
-
撕下筒倉之間的牆壁並建立跨職能團隊
-
根據客戶的測量附加值衡量改進並分配資源和功能
是關於承諾的
決策是任何公司成功的核心。 因此,在引入資料科學時,整個公司 – 所有層級和部門 – 都需要接受並理解使用資料科學的自動化決策是價值流的重要組成部分。 這很可能意味著您需要更改已建立的流程,重新組織團隊並重新思考公司的架構。 此外,要成功完成這些變更,您需要獲得必要的支援:每個人都需要瞭解變更發生的原因並支援決策。 沒有這種全心全意的承諾,自動化決策就沒有成功整合的機會。
反過來,您的資料科學工作必須強烈關註真正的附加值:人們需要評估實施成本(包括技術債務成本,增加的複雜性,增加糾纏等),並將其與由改進而得的預期增益進行比較。資料科學絕不是一種自我目的。
打破資料科學的藩籬
DevOps的主要標的之一是協調團隊實現共同的公司標的以及在孤立的團隊之間拆除牆壁。 將資料科學家放入單獨房間的獨立團隊是一條確定的失敗之路。
相反,將資料科學家嵌入到跨職能團隊中。這將整個決策系統端到端地構建,並使這項工作與公司標的保持一致。 一旦每個部門都一致,資料科學家就不會與其他部門合作。 相反,決策系統的成功成為可分享的共同利益。透過共同努力實現共同標的的全球最佳化以取代以自我為中心和不結盟的標的的本地最佳化。
這個跨職能團隊致力於與所有其他團隊一樣的質量標準。 在質量,彈性或穩健性方面沒有任何妥協的餘地。 相反,由於自動決策的高風險,應該採用更高的標準。 同時,遵循“精益思維”方法,創造一個同時便宜且安全的實驗環境。
用奧卡姆剃刀對付貪婪
有一個叫做奧卡姆剃刀的解決問題的原則,它說:“在相互競爭的假設中,應該選擇假設最少的那個。”“在資料科學領域,我們可以將這一原則重新表述為:
如果兩個資料科學模型的結果是相容的,那麼選擇資源佔用較小的模型。
這條簡單的規則為我們如何構建資料科學模型提供了清晰的指導,從而解決了資料科學固有的貪婪問題。如果不測度產出的值併在整個實現週期中應用這一原則,您可能會面臨回報有限的爆炸式增長成本。確保資料科學家遵守這一重要原則,因為不可否認,反對資料科學家是非常困難的。他們有資料和專業知識來提出難以反駁的論點。創造一種效率文化,這種文化要盡可能簡單,但也要盡可能複雜。
對於不同資料源的使用也是如此。在資料安全領域,存在“需要知道”的原則,該原則規定資料只能被需要訪問的人訪問。應用於資料科學,這意味著我們要測量新增更多資料源的價值,但是如果改進不夠顯著,不足以證明額外的資料依賴性,則要嚴格地地放棄它們。
總結
資料科學是關於支援和自動化決策的。對大多數公司來說,這比以往任何時候都重要。由於其作為決策系統的作用,資料科學必須處於業務流程的核心。這一事實帶來了一系列嚴重的問題;其中一些,特別是具有文化性質的,可能是災難性的。三心二意的嘗試充其量只會浪費時間和金錢,並助長資料科學作為麻煩製造者的名聲。
然而,適當整合的資料科學是一個你不能忽視的遊戲規則改變者。以DevOps的心態擁抱資料科學。測量重要的kpi,從實驗中學習,並一次又一次地相應地改進您的流程。這是一條成為真正的資料驅動型公司的道路。
最偉大的見解是最樸實的。(英國)戈爾丁《蠅王》