簡介
人們反複認為人工智能(AI)具有某種魔力,可以從無到有,創造出一些東西,這導致許多項目誤入歧途
這也是為什麼2019年普華永道首席執行官調查顯示,隻有不到一半的美國公司開始實施戰略人工智能計劃的部分原因——失敗的風險很大。在本係列中,我們將分析AI項目在公司人工智能之旅的初期最常見的失敗方式。在你自己的人工智能計劃中,留意這些失敗,以及補救或防止它們的方法。
在討論失敗之前,讓我們回顧一下什麼是AI項目生命周期,以理解應該發生什麼。
獲取生命周期的完整頁PDF從我們的即時洞察的話題,並跟隨。
第6部分:事後審查和事後分析
在本係列中,我們研究了AI項目生命周期中的主要斷點。我們還沒有討論的一個階段是後續行動:在項目結束後發生的事情。通常情況下,我們根本不會花時間在事後回顧上。我們完成了項目,部署了軟件,也許還進行了調優,然後轉移到待辦事項清單上的下一項。
這樣做,我們為未來的失敗埋下了伏腳。為什麼?事後審查給我們帶來了三個主要好處。
首先,我們尋找模型的漂移.請記住,人工智能的基本輸出是一個軟件,它吸收新數據並對其執行一些任務。正如任何負責任的開發人員都不會發布一個軟件然後完全放棄它一樣,我們也不應該發布一個模型而從不檢查它。驗證我們的模型仍然在做它應該做的事情對於降低風險是至關重要的。諸如IBM Watson OpenScale這樣的軟件包可以幫助監視我們的模型,但是我們仍然有責任查看結果和我們設置的任何可解釋性/可解釋性度量。
第二,我們尋找過程改進.從啟動到部署,哪些方麵進展順利?到底是哪裏出了錯?我們希望從一開始就知道什麼?我們沒有預見到哪些意想不到的障礙?任何軟件開發過程的事後回顧都可以幫助我們調整我們的過程並識別技能/知識差距。當我們做好事後評估時,它們為我們提供了職業發展的藍圖,以彌補我們最薄弱的領域。
第三,我們尋找重用機會.在任何軟件開發過程中,找到重用代碼的適當機會是必不可少的。當我們重用代碼時,我們在不影響質量的情況下縮短了生命周期,減少了bug,並基於我們創建的可重用構建塊加速了未來的項目。這一點在人工智能的發展中尤為重要。第一次訓練一個AI模型,特別是深度學習和強化學習項目,可能需要大量的時間。如果我們可以重用一個模型,並使用新的參數和數據對它進行微調,而不是從頭開始重建和重新訓練它,我們可以將項目的建模時間減少50%或更多。例如,OpenAI的GPT-2模型的訓練花費了幾個月的時間,但對其進行微調最多隻需要幾分鍾或幾小時。
進行人工智能項目的事後審查
事後評估或事後分析不一定是過於複雜的事情;從很多方麵來說,它們隻不過是一個最終項目會議。推動者主持會議,以保持會議的效率並關注於改進,並通過一係列簡單的問題指導開發團隊,例如:
- 最初的計劃和目標是什麼?
- 到底發生了什麼?
- 為什麼實際發生的一係列事件與計劃不同?
- 我們從這些變化中學到了什麼?
- 下次我們有什麼可以改進的?
在事後審查中,調解人的作用很直接,主要集中在讓參與者遵守一套商定的規則,例如:
- 不要互相指責或推卸責任
- 沒有介紹在項目中應該提出的新信息
- 確保所有成員的平均參與
- 讓討論集中在學習上
就人工智能項目而言,為了確保最大的效益,最好對AI生命周期的每個階段進行事後審查。這可以在大型項目的生命周期中完成,也可以在小型項目結束後完成。
- 計劃使用的數據是什麼?
- 實際使用了哪些數據?
- 我們計劃選擇什麼模型和算法?
- 我們實際使用了什麼模型和算法?為什麼?
- 模型漂移了嗎?如果是這樣,為什麼?
例如,假設我們正在審查一個小型AI項目,比如自然語言處理項目。我們將在事後回顧中著眼於AI生命周期的每個主要階段:
策略
這個項目最初的目標是什麼?用自然語言處理建立一個主題模型,這樣我們就可以更快地創造出更好的內容。
到底發生了什麼?我們實現了總體目標。
數據
我們計劃使用什麼數據?我們計劃使用來自行業白皮書的文檔語料庫。
到底發生了什麼?白皮書的格式非常糟糕,數量也很少,所以我們需要從Reddit的帖子中尋找信息。
這裏學到的經驗是:提前驗證數據源,並確保有足夠的數據來執行項目。
建模
我們計劃使用什麼模型?我們計劃使用Facebook的FastText算法來創建我們的主題模型。
到底發生了什麼?FastText創建了可靠的搭配,但它們缺乏上下文和順序,這意味著在沒有大量人工監督的情況下很難創建一個工作模型。使用廣達的textstat功能效果要好得多,因為它保留了語序,而對於內容營銷的目的來說,語序很重要。“搜索引擎優化”是有意義的。“引擎優化搜索”毫無意義,即使它們在頻率和重要性方麵在數學上是相同的。
這裏得到的教訓是:我們應該對如何使用模型有更明確的要求,這樣我們就可以預先選擇適當的算法,而不是重複測試不同的算法。
部署
我們計劃使用什麼部署策略?我們計劃為這個模型推出一個閃亮的應用程序。
到底發生了什麼?隨著算法的改變,我們在使用Shiny部署它時遇到了一個問題。Shiny並不是適合於這個特定項目的環境或接口,所以我們最終放棄了它並隻運行了模型的服務器端。
這裏學到的教訓是:更好的需求收集將幫助我們知道我們將要使用的模型和算法,因此我們可以確定終端用戶界麵是否可行。
對AI生命周期的每個階段進行事後審查,會帶來成倍的好處,因為AI生命周期的各個階段都是離散的、時間密集的。例如,在數據挖掘和探索性數據分析階段獲得的改進可以應用到廣泛的其他項目中,並可能改善正在進行的AI項目。
人工智能項目係列結論
在本係列中,我們研究了AI生命周期的每個階段,以及人們在第一次嚐試AI項目時通常會出現的問題。我們希望您在您的第一個項目中避免這些常見的陷阱,和往常一樣,如果您需要幫助,我們很樂意提供幫助。
克裏斯托弗·s·佩恩
Christopher S. Penn是Trust Insights的聯合創始人兼首席數據科學家。