人工智能項目開發——項目經理應如何準備
已發表: 2022-03-11收聽本文的音頻版本
作為項目經理,您可能在整個職業生涯中參與過許多 IT 項目,從復雜的單體結構到 SaaS Web 應用程序。 然而,隨著人工智能和機器學習的進步,具有不同需求和問題的新項目正在迅速出現。
隨著這些技術的興起,技術項目經理與這些概念建立健康的關係變得不再是“值得擁有”,而是變得至關重要。 據 Gartner 稱,到 2020 年,人工智能將創造 230 萬個工作崗位,超過它將消除的 180 萬個工作崗位——到 2021 年將產生 2.9 萬億美元的商業價值。谷歌的 CEO 甚至說“人工智能是最重要的事情之一人類正在努力。 它比 […] 電或火更深刻。”
隨著人工智能的應用已經擾亂了從金融到醫療保健等行業,能夠抓住這個機會的技術 PM 必須了解人工智能項目管理的獨特之處,以及他們如何才能最好地為不斷變化的環境做好準備。
理論
這一切意味著什麼:人工智能與機器學習
在深入之前,重要的是要對 AI 的真正含義有一個深刻的理解。 由於許多不同的術語經常互換使用,讓我們首先深入了解最常見的定義。
人工智能 (AI)
人工智能是一個計算機科學領域,致力於解決需要人類智能才能解決的問題,例如模式識別、學習和泛化。
近年來,該術語被過度使用來表示通用人工智能(AGI),它指的是具有自我意識的計算機程序,能夠進行真正的認知。 儘管如此,在可預見的未來,大多數人工智能係統將是計算機科學家所稱的“狹義人工智能”,這意味著它們將被設計為非常好地執行一項認知任務,而不是真正為自己“思考”。
機器學習 (ML)
機器學習是人工智能的一個子集,它使用統計技術使計算機能夠從數據中學習而無需明確編程。
由於一些機器學習方法在人工智能領域的成功,近年來許多公司可以互換使用人工智能和機器學習。 需要明確的是,機器學習表示程序的學習能力,而人工智能包括學習以及其他功能。
要了解更多關於神經網絡和深度學習的信息,請參閱本文末尾的附錄。
一個重要的區別:人工智能與標準算法
人工智能的一個關鍵點是,它的算法使用大量數據來調整其內部結構,以便在呈現新數據時,它會根據之前給出的數據進行分類。 我們稱之為從數據中“學習”,而不是按照嚴格寫在代碼中的分類指令進行操作。
想像一下,我們想編寫一個程序來區分汽車和卡車。 在傳統的編程方法中,我們會嘗試編寫一個程序來尋找特定的指示性特徵,比如更大的輪子或更長的車身。 我們必須編寫代碼專門定義這些特徵的外觀以及它們應該在照片中的什麼位置。 編寫這樣一個程序並使其可靠運行非常困難,可能會產生誤報和誤報,最終可能根本無法使用。
這就是人工智能算法變得非常有用的地方。 一旦 AI 算法經過訓練,我們可以向它展示許多示例,它會調整其內部結構以開始檢測與圖片成功分類相關的特徵,而不是依賴於靜態的、規定的特徵定義。
人工智能項目管理實踐
數據為王
人類並不擅長處理大量數據,而我們可用的大量數據有時會阻止我們直接使用它。 這就是人工智能係統的用武之地。
關於人工智能係統的一個非常核心的概念是,它們的預測只與它們的數據一樣好。 例如,具有一百萬個數據點的算法將優於具有 10,000 個數據點的相同算法。 此外,BCG 報告稱,“許多公司不了解數據和培訓對 AI 成功的重要性。 通常,對於構建智能係統而言,更好的數據比更好的裸算法更重要,就像人類的先天后天往往更重要一樣。”
有了這些知識,準備和清理數據將在項目過程中變得更加普遍。 這一步通常是構建人工智能係統中勞動強度最大的部分,因為大多數企業沒有準備好正確格式的數據——因此,數據分析師可能需要一段時間才能完成這一重要步驟。
此外,數據基礎設施設置和數據清理工作比通常的軟件開發更加線性,可能需要不同的項目管理方法。
總而言之,與構建機器學習模型來運行數據相比,構建正確的數據基礎架構和準備要使用的數據可能需要更長的時間。 這對於項目經理來說是一個重要的考慮因素,因為他們管理團隊並考慮 AI 範圍和項目估算。
此外,應使用新數據不斷更新數據集。 訪問獨特的數據集可能是決定哪種機器學習產品最成功的主要決定因素。 為了讓您的 ML 項目(甚至在發布後)達到最佳性能,及時了解這一點至關重要。
人工智能開發生命週期
你們中的大多數人都會熟悉標準系統開發生命週期 (SDLC) 以及不同的方法和技術是如何塑造它的。 值得注意的是,人工智能的發展將為該領域帶來一系列新的挑戰。 我們可以將 AI 開發生命週期分為以下步驟:構思和數據發現、確定 MVP 的優先級以及將 MVP 開發成成熟的產品。
構思和數據發現
在第一階段,重點應該放在兩個關鍵方面:ML 產品的最終用戶和可用的數據池。
通過從兩個獨立的方面解決問題,這些技術可以幫助項目經理快速縮小公司內可用的 ML 產品機會。 在這個階段,頂級 PM 可以從他們對機器學習領域的知識中受益,以便更好地了解可以解決某些問題的難度。 機器學習領域的事情發展得非常快,一些難題可以通過研究的新進展變得更容易。
如前所述,一旦發現數據,就需要對其進行清理和準備。 這一特定任務通常以線性步驟完成,雖然它們可能被迫進入 sprint,但並不完全適合典型的項目方法,如敏捷或瀑布。 通常,數據清理是通過逐漸增加數據集的大小並與其他開發工作並行準備它們來迭代完成的。
優先考慮最小可行產品 (MVP)
擁有一個小型產品的工作原型比擁有一個未完成的大型產品更好的事實仍然存在於機器學習產品中。 新的 ML MVP 應根據交付速度及其對公司的價值進行優先排序。 如果您可以快速交付產品,即使是那些可能較小的產品,這對整個團隊來說都是一個很好的、快速的勝利——您應該首先優先考慮這些產品。
以經典的敏捷方式準備這些 MVP 是一個好主意,開發團隊應該專注於交付基於數據團隊獨立準備的不斷改進的數據集的 ML 模型。 這裡的一個重要區別是數據團隊不一定需要通過與構建 MVP 的團隊相同的 Sprint 結構工作。
MVP 到成熟產品
這一步是數據基礎設施成為關鍵的地方。 如果您的 ML 產品需要來自全球的高頻 API 訪問,那麼您現在應該考慮如何擴展基礎架構以支持 ML 產品。
這是必須仔細評估 ML 模塊更改的地方,以避免破壞當前產品的性能。 使用新算法或數據集重新訓練 ML 模塊並不總能帶來線性性能提升——因此,在實時部署之前需要進行大量測試。 針對邊緣案例和潛在生成對抗網絡 (GAN) 攻擊的 ML 模塊測試仍處於起步階段,但項目經理在運行實時 ML 產品時絕對要牢記這一點。
人工智能開發生命週期中的關鍵角色
開發 ML 應用程序的大量數據需求為 AI 產品的 SDLC 帶來了新的角色。 要成為 ML 應用領域的優秀項目經理,你必須非常熟悉以下三個角色:數據科學家、數據工程師和基礎架構工程師。 儘管他們有時會被冠以其他頭銜,包括機器學習工程師、機器學習基礎設施工程師或機器學習科學家,但對這些核心職位及其對 ML 開發過程的影響有深刻的理解是很重要的。
數據科學家
數據科學家是構建機器學習模型的個人。 他們基於對應用統計、機器學習和分析的深刻理解綜合想法,然後運用他們的見解解決實際的業務問題。
數據科學家有時被視為數據分析師的高級版本。 然而,數據科學家通常具有強大的編程技能,能夠輕鬆處理跨數據中心的大量數據,並且具有機器學習方面的專業知識。
他們還有望對數據基礎設施和大數據挖掘有很好的了解,並能夠自行進行探索性練習,查看數據並從中找到初步線索和見解。
基本技能: Python、R、Scala、Apache Spark、Hadoop、機器學習、深度學習、統計學、數據科學、Jupyter、RStudio
數據工程師
數據工程師是專門構建機器學習產品運行所需的軟件和基礎設施的軟件工程師。 他們傾向於關注總體架構,雖然他們可能不是機器學習、分析或大數據方面的專家,但他們應該對這些主題有很好的理解,以便測試他們的軟件和基礎設施。 這對於使數據科學家創建的機器學習模型能夠成功實施並暴露於現實世界是必要的。
基本技能: Python、Hadoop、MapReduce、Hive、Pig、數據流、NoSQL、SQL、編程、DashDB、MySQL、MongoDB、Cassandra
基礎設施工程師
基礎設施工程師負責 ML 產品的主幹:基礎設施層。 雖然數據工程師可能會構建其中的一些基礎架構,但它通常構建在基礎架構團隊準備和同意的層之上。
基礎架構工程師可以跨多個 ML 團隊工作,目標是創建一個可擴展且高效的環境,在該環境中 ML 應用程序可以擴展以服務數百萬用戶。 基礎設施工程師不僅負責平台的軟件級別,還與數據中心合作夥伴協調,以確保一切順利運行,從託管數據的地理位置到硬件。 隨著這些方面對 ML 項目越來越重要,基礎設施工程師在人工智能驅動的公司中變得越來越重要。
基本技能: Kubernetes、Mesos、EKS、GKE、Hadoop、Spark、HDFS、CEPH、AWS、雲計算、數據中心運營、端到端計算基礎設施、IT 基礎設施、服務管理
今天的共同挑戰
隨著基於 AI 和 ML 的產品的出現,預計項目經理將遇到既熟悉又完全陌生的挑戰。 頂級 PM 在從確定項目範圍到完成的整個過程中都敏銳地意識到這些潛在問題。
現實檢查
儘管 AI 廣受歡迎且前景廣闊,但您嘗試解決的問題很有可能不需要復雜的 AI 解決方案。

許多預測問題可以使用更簡單,在某些情況下更可靠的統計回歸模型來解決。 PM 在開始項目之前進行健全性檢查以確保問題確實需要機器學習,這一點非常重要。
有時從更簡單的統計模型開始並與基於機器學習的解決方案並行移動是明智的。 例如,如果您正在構建一個推薦引擎,明智的做法是從一個具有更快開發生命週期的更簡單的解決方案開始,為後續的 ML 模型提供更好的基準。
AI 範圍蔓延
機器學習項目中範圍蔓延的最常見原因與試圖一次做太多事情以及低估準備數據所需的工作量有關。
為了解決第一個問題,管理利益相關者,讓他們明白最好從速贏而不是宏偉的計劃開始。 在您構建和測試時,在整個項目中不斷地交流這種方法。
從可以輕鬆定義和測試的小型原子特性開始。 如果您發現自己有一項複雜的任務,請嘗試將其分解為更簡單的任務,這些任務可以很好地替代您的主要任務。 應該很容易傳達這些任務要完成的任務。
例如,如果您嘗試預測用戶何時會點擊特定廣告,您可以先嘗試預測用戶是否完全關閉該廣告。 在這種方法中,問題得到了簡化,並且可以更好地被當前的 ML 模型適應和預測。 Facebook 已經製作了一個很棒的系列來深入探討這個主題,更多地關注從模型開始到交付的 ML 管道。
要解決導致範圍蔓延的第二個因素,請確保您能夠準備數據以支持您的 ML 項目。 簡單地假設您擁有所需格式的所需數據,這是 PM 剛開始 ML 項目時最常犯的錯誤。 由於數據準備和清理通常是 ML 項目過程中較長的部分,因此管理此步驟至關重要。 確保您的數據科學家能夠訪問正確的數據,並且可以在提出他們希望構建的 ML 功能之前檢查其質量和有效性。
準備將數據標記和清理作為整個項目的持續練習,而不僅僅是作為發起者,因為項目總是可以從更好和更多的數據中受益。 由於這一步不是最吸引人的任務,請將這項工作分成多個衝刺,以便您的數據團隊能夠感受到他們的工作進度,而不是面臨無休止的積壓工單。
有時,公司會將數據標籤外包給第三方。 雖然這有助於節省時間和前期成本,但它也會產生不可靠的數據,最終阻礙您的 ML 模型的成功。 為避免這種情況,請使用多重重疊技術,其中每條數據都由多方檢查,並且僅在其結果匹配時使用。
在項目規劃時,為數據團隊留出足夠的時間進行調整,以防您的標籤要求在項目中期發生變化並需要重新標籤。
最後,檢查您的數據是否可以輕鬆地與現有的 ML 方法一起使用,而不是發明新的 ML 方法,因為從零開始可以大大增加項目時間和範圍。 請注意,如果您嘗試解決尚未解決的 ML 問題,那麼您很有可能會失敗。 儘管機器學習取得了成功並且發表了許多研究論文,但解決機器學習問題可能是一項非常困難的工作。 從 ML 的一個領域開始總是最容易的,它有很多好的例子和算法,然後嘗試改進它,而不是嘗試發明新的東西。
機器學習、期望和用戶體驗
每個 PM 都應該準備好考慮他們正在創建的 AI 產品的用戶體驗以及如何最好地管理正在構建它們的團隊。 谷歌寫了一篇很棒的文章,講述了他們對 UX 和 AI 的思考方式,重點是人機交互。
如果您的 ML 產品必須與操作員交互甚至被他們替換,這一點尤其重要。 設計應為系統的操作員和用戶增加最小的必要壓力。 例如,聊天機器人通常基於機器學習,但它們可以由人工操作員無縫接管。
還有一種可能性是,利益相關者對機器學習產品的期望可能比他們所能提供的要多得多。 這通常是由於媒體在撰寫有關 AI 產品時的炒作而產生的問題,因此,項目經理設定合理的期望非常重要。
確保向利益相關者解釋 AI 工具的真正含義以及可以為您的利益相關者實現的目標,以便您在他們測試工具之前能夠很好地管理他們的期望。 好的 UX 很棒,但它無法為具有不切實際期望的用戶提供價值,因此任何參與的 PM 都必須管理這些並教育他們的利益相關者了解 AI 及其現實能力。
ML 中的質量保證 (QA) 和測試實踐
當前形式的人工智能是一個相對較新的領域。 以前從未有如此多的應用程序使用深度學習來實現其目標。 這些新發展帶來了一系列挑戰,尤其是在測試方面。
雖然測試由人們編寫的具有明確“規則集”的標準軟件相對容易,但詳盡地測試機器學習模型要困難得多,尤其是那些使用神經網絡構建的模型。 目前,大多數 ML 模型都是由數據科學家自己測試的,但很少有與標準 QA 團隊達成一致的測試方法來確保 ML 產品不會以意想不到的方式失敗。
隨著操縱已知模型結果的新方法(例如這些 GAN 攻擊),全面的模型測試將變得越來越重要。 這將成為許多 ML 項目的優先事項,我們將在未來幾年看到更多針對 ML 模型的“集成”類型測試。 對於大多數簡單的項目,目前這可能不是一個明顯的問題,但如果您正在構建任務關鍵型 ML 產品,請務必牢記這一點。
ML 模型盜竊和抄襲
自從這篇《連線》文章發表以來,原始論文在 2016 年的 USENIX 安全會議上發表,很明顯存在抄襲實時 ML 模型的可能性。
這仍然很難很好地完成,但是如果您有一個通過公開可用的 API 運行的模型,那麼了解這種可能性很重要。 從理論上講,擁有大量訪問權限的一方可以根據您的網絡訓練自己的網絡,並有效地複制您的預測能力。
就可能性而言,這仍然非常有限,但如果您的項目擔心,請務必與您的團隊一起制定可能的攻擊的預防策略。
人才短缺
隨著當前對世界級人工智能專家的需求,尋找合適人才的競爭非常激烈。 事實上,《紐約時報》報導說,世界級的人工智能專家每年可以為矽谷的大型科技巨頭賺取高達 100 萬美元的收入。 作為 PM,當您尋找 AI 專家加入您的團隊時,請注意這些動態,因為它們可能會影響您的招聘週期、預算或完成的工作質量。
這種短缺超越了創造更新深度學習算法的創新思維,對於頂級數據工程師和科學家來說也是如此。
許多最有才華的人都參加了 Kaggle 等機器學習競賽,他們有望在解決困難的機器學習問題時贏得 100,000 美元以上的獎金。 如果很難在本地聘請 ML 專家,明智的做法是尋找開箱即用的解決方案,例如遠程聘請專業承包商或為最困難的 ML 問題舉辦自己的 Kaggle 比賽。
法律和道德挑戰
人工智能在項目管理中的法律和道德挑戰是雙重的。
第一組挑戰源於用於訓練 ML 模型的數據。 了解您使用的數據的來源至關重要,特別是您是否有權使用它以及允許您使用數據的許可。
在部署基於您可能沒有正確類型許可的數據訓練的模型之前,諮詢您的律師以解決此類問題始終很重要。 由於這是一個相對較新的領域,其中許多答案尚不清楚,但 PM 應確保他們的團隊只使用他們有權使用的數據集。
這是用於訓練您的 ML 算法的公開可用數據集的一個很好的列表。
第二組挑戰來自確保您的系統不會產生系統性偏差。 近年來出現了許多此類問題的案例,一家相機公司不得不承認其微笑識別技術只能檢測到特定種族的人,因為它只接受了包含該種族面孔的數據的訓練。 另一個例子來自一家大型軟件公司,該公司在學習了幾天后不得不撤回他們的自學 Twitter 機器人,因為一群互聯網巨魔的共同努力讓它產生了種族誹謗和重複瘋狂的陰謀。
這些問題的程度可能很小,也可能會破壞項目,因此在開發關鍵系統時,PM 應確保他們考慮到這些可能性並儘早阻止它們。
良好的基礎導致強大的結構
總之,即將到來的人工智能革命帶來了一系列有趣的、動態的項目,這些項目通常伴隨著修改後的開發過程、不同的團隊原型和新的挑戰。
頂級技術項目經理不僅對人工智能基礎知識有很好的理解,而且對每個項目步驟的難度以及與他們的團隊真正可能創造的東西都有直覺。 由於 AI 不是商業現成 (COTS) 解決方案,即使選擇購買某些 ML 產品的公司仍必須投資於測試新事物並正確管理其數據和基礎設施。
很明顯,隨著人工智能的出現,軟件產品的類型和創建它們的過程正在發生變化。 能夠掌握並執行這些新概念的項目經理將成為創造未來機器學習產品的重要參與者。
作者的額外材料
附加理論:DL 和 NN
除了更常見的人工智能 (AI) 和機器學習 (ML) 術語外,項目經理還可以從進一步區分深度學習 (DL) 和神經網絡 (NN) 中受益。
深度學習 (DL)
與經典的任務特定算法相反,深度學習是基於學習數據表示的更廣泛的機器學習方法家族的一部分。
大多數現代深度學習模型都基於人工神經網絡,儘管它們可以使用各種其他方法。
神經網絡 (NN)
神經網絡是受生物學啟發的連接數學結構,使人工智能係統能夠從呈現給它們的數據中學習。
我們可以將這些網絡想像成數百萬個可以打開或關閉的小門,具體取決於我們的數據輸入。 這些技術的成功得益於近年來 GPU 計算能力的增長,使我們能夠快速調整神經網絡中更多的“小門”。
有多種類型的神經網絡,每種都有其特定的用例和復雜程度。 您可能會看到諸如 CNN(卷積神經網絡)或 RNN(循環神經網絡)之類的術語用於描述不同類型的神經網絡架構。
為了更好地理解它們的外觀和功能,這裡有一個很棒的 3D 可視化,展示了神經網絡在它們處於活動狀態時的“外觀”。
有興趣了解有關 AI 的更多信息嗎?
如果在閱讀完本文後,您想更深入地探索該主題,我建議您查看以下資源:
了解神經網絡
如果您想深入了解神經網絡的工作原理,我建議您查看 YouTube 上關於神經網絡的 3Blue1Brown 系列。 在我看來,這是迄今為止對神經網絡最好的深入解釋。 它以簡單的方式交付,不需要先驗知識。
及時了解 AI 新聞
如果您想在不花費數小時閱讀學術論文的情況下了解 AI 技術的最新進展,我推薦以下兩分鐘論文。 該頻道每週提供兩分鐘更新,介紹最令人印象深刻的新 AI 技術及其實施。
學習機器學習開發的基礎知識
如果您想自己涉足代碼,並且您有一些基本的 Python 技能,那麼您可以查看 Fast.ai。 他們的課程允許任何具有基本開發技能的人開始試驗和玩弄神經網絡。
機器學習的基礎
這個建議適用於那些想要從一開始就一直努力理解和實施機器學習的人。
它由現在具有傳奇色彩的 Andrew Ng 創建,他在 Coursera 中推出了這門課程,它確實需要大量的時間投入(至少六個月),但它可以成為度過星期六的一種非常高效的方式。
注意:關鍵術語定義已改編自維基百科。