今年,雖然不少公司都在部署人工智能解決方案,也取得了一定的成果,但只有少數公司做到了全面部署人工智能,從而為公司帶來真正的附加價值。
據我所知,只有不到20%的機器學習PoC(概念驗證)項目能夠順利投產,而這其中的大部分也可能會止步于其方案的“產品化”階段。
PoC的困境
大多數公司首先通過概念驗證(proof of concept , PoC)項目來證明人工智能方案可以削減成本,改善客戶體驗,或者在某種程度上形成業務差異化。
PoC通常采用相對簡單的算法,訓練數據也是即時可用的或內部標記的,其主要目標是證明可以用少量的數據訓練算法以解決特定場景的問題。
如果PoC獲得成功,那么項目將繼續進入產品化階段。
進入產品化階段意味著AI項目將變得更加復雜。這個階段不再需要證明該解決方案的有效性,而是要將AI項目集成到公司的基礎架構中,并保證它在真實環境下能夠很好地工作。
為了使項目取得成功,機器學習項目需要從一開始就將公司結構、客戶、公司規模和內部工作流程等考慮在內。
PoC往往會影響系統基礎架構的性能以及知識和數據管理等,這些都將阻礙它們進入下一階段——產品化。在AI項目中,產品化階段的困難程度往往容易被低估。在這個階段里,系統的工作方式很有可能需要完全改變,并且當我們越來越接近解決方案的最終版本時,新的問題也會不時出現。
在人工智能集成的最后階段,AI項目可能會跨多個業務線,甚至可能直面普通用戶/客戶,面臨著來自企業級基礎架構、安全性和技術支持等多方面的挑戰。
產品:在現實生活中使用的系統。它不像PoC那樣是為了測試某些東西是否有效,也不像用樣本數據做的簡單實驗。它是用真實數據來解決現實問題的系統。
很多時候,AI方案提供商都未能證明其初始方案的有效性。為什么AI項目的實施過程會變成一場噩夢呢?其實,大多數時候,AI項目沒能進入產品化階段是因為以下因素:
PoC項目沒有產生期望的結果
運營成本過高
操作過于復雜
缺乏數據
PoC項目沒能達到利益相關者的要求
比如,某公司有一個業務問題,剛好可以用人工智能來解決,但如果需要提供核心數據或必須使用新的工作流程,那么這個公司可能就會放棄該項目。實際上,在AI項目產品化之前,必須先處理好它與軟件、數據安全和大規模的新的訓練數據等一系列相關的問題。
另一個原因可能是低估了構建一個具有實際功能的AI所需的成本。將原型進行產品化需要很大的投資!公司管理層要確保他們能夠負擔得起。
機器學習的概念驗證(PoC)是漫長實踐過程中的第一步。當你將其擴展到實際規模的應用時,你需要站在更高的角度來看待所出現的問題。
為什么會失敗?
AI項目的概念驗證(PoC)路線圖上存在某些挑戰,比如數據的缺乏,法律上的問題,公司員工對AI相關應用的畏懼以及系統集成能力是否足夠等,因此任何公司都必須在將模型產品化之前先分析相關影響因素。
在我看來,公司應該同時開展多個PoC項目,因為這樣有助于了解公司的潛力,改善內部行為方式,快速終止那些沒有前景的人工智能PoC,并發掘出最有前景的項目以便繼續監控和投入資源。我看到有些公司指望用他們的第一個PoC來賺錢并且解決復雜問題,這么做十有八九會失敗!
公司還應該考慮到,進行概念驗證所需的技能與將其轉化為產品所需的技能是大不相同的。如果沒有一個支持AI集成的架構,那么即使是最有前景的項目也會夭折。
人工智能項目還需要得到管理層的支持,如果沒有長期投資的恒心,AI應用就只能是小打小鬧,永遠達不到任何有意義的規模或實用性水平。這類項目的成功需要時間和耐心。
為了使PoC獲得成功,必須進行廣泛的研究,建立一個跨職能部門的團隊,并調研和測試各種硬件規格,此外還可能需要請外部專家對模型進行微調。雖然我們在最初研究的2-3周內就做可以做出原型,但接下來的開發需要更長的時間,并且需要大量的資金和時間投入。
根據我的經驗,一個好的PoC需要大約半個月時間。事實上,整個數據收集過程是非常耗時的。更不必說,大多數公司在提到使用AI都有驚奇的想法,但往往得不到對的數據。
舉個例子,如果在做PoC的時候,算法可以識別在相同光線、距離和角度下拍攝到的人臉,那么在試點項目中該算法就需要適應不同的光線、距離、角度、膚色、性別,等等。這自然意味著更多的數據。
PoC中的機器學習模型所需的輸入數據與產品中持續大規模的輸入數據之間存在很大差別,能認識到這一點很重要,但這經常被公司或者項目組所忽視。
我在幾個項目中使用了不一樣的和不完善的數據集,這使我意識到:人們在將小規模的ML算法轉移到生產過程中時,可能會大大低估為獲取數據而投入的時間和精力,而這些數據是擴展原有ML算法所必不可少的。
關鍵之處在于將實際需求和POC數據集之間的“差距”最小化。因此,我強烈建議使用真實場景的數據。
構建一個可靠且相關的數據集需要很多時間。為了正確地訓練一個預測模型,必須遵循特定的流程來生成符合標準的數據。
當PoC成功后,一些AI團隊會考慮獨立完成整個項目的數據準備工作。我相信,他們低估了公司提供所需數據的難度(信息孤島,效率低下等)。在這一步,我們通常會開始了解公司的運作方式。
實際上,生產系統中會包含許多未知案例,訓練算法會產生對大量數據的需求(通常是壓倒性的)。
試點階段
一個成功的POC將說服項目所有者交付試點階段(a pilot phase)的資金。試點是POC與生產項目之間的一個項目步驟,組織不會關停任何其他系統或更改人員配置。在對算法進行調整和訓練的過程中,試點與現有系統一起運行。這是一個必要的步驟,因為在此過程中會面臨許多問題或工作流程挑戰。
生產的持續時間在某種程度上是由生產所需的人工智能精度水平決定的。顯然,一些項目需要更多的時間來達到一定的成熟水平(自動駕駛汽車等)。其他項目可以在明顯較低的置信水平下帶來積極的投資回報率(Return On Investment, ROI)。
大多數情況下,試點項目沒有足夠多樣化的數據來進行大規模運作。
從PoC到產品
正如我們所說的,很少有項目團隊能夠成功地跨越這個階段并繼續下去。實際上,大多數項目從PoC到產品化需要大量不同的資源。在生產步驟中,當我們意識到可能存在的新的問題時,通常會發現項目需要更多的時間才能完全運行。此外,我們越多地涉及終端用戶,就越發意識到PoCs離現實應用還有很遠的距離。
PoC所有形式的數據建模都必須簡化但又要反映真實情況,而在這個過程中,總會丟失一些真實性。這為ML帶來了風險,因為實際數據可能比概念驗證(POC)所用的訓練數據更容易出現建模問題。
對此,明顯的解決方案是為模型添加更多細節,并擁有更多字段、表格、關系等。但是,模型越精細,就越難以使用和理解。這也是建立在你可以獲得更多數據的假設之下。我見過許多項目因為缺乏數據而失敗,還有一些項目使用了數據增廣技術(在圖像識別項目中,這是一種減少過擬合的好方法)。
部署常規的軟件應用程序本就是困難的——但是如果軟件是基于機器學習的,情況可能會更糟!ML具有一些特性,將使得大規模部署變得更加困難。
在我最近的一個項目中,我意識到一旦你的算法訓練好后,它們就不會一直被使用。例如,你的客戶/終端用戶只會在需要的時候調用它們。
管理API調用的想法是關鍵。實際上,你需要確保免為不需要的服務器付費。一旦AI解決方案的運行成本過高,公司可能會憂心于繼續使用它。
進入生產階段后,從數據的角度來看,事情將開始變得更加復雜。除非算法的問題空間非常簡單或是完全靜態的,否則訓練永遠不會結束。問題空間在演變,新的使用案例也在不斷變化,以及來自競爭對手的壓力——他們也試圖實施差異化ML策略,所有這些意味著組織必須使他們的模型勝任更加模糊的特定案例。而在已經很高的模型置信水平下,就訓練數據而言,每1%的增量增長都相當昂貴。
信息系統中的AI集成
AI解決方案可能已準備就緒,但是還有一步工作要做。事實上,實際規模的實現還包括將AI與信息系統和架構連接起來。根據經驗,我得出的結論是——人工智能部署中最大的問題是難以將認知項目與現有流程和系統進行集成。最佳選擇是提供機器學習模型的API,或將其作為現有系統中的程序代碼模塊。
評論
查看更多