如何設(shè)計和管理AI產(chǎn)品?
什么是AI和ML?為什么AI產(chǎn)品管理比一般軟件更困難?
在《AI 開發(fā)指南:機(jī)器學(xué)習(xí)產(chǎn)品是什么?》文章當(dāng)中,我們討論了管理AI產(chǎn)品所需要的基礎(chǔ)認(rèn)識和挑戰(zhàn)。
對產(chǎn)品經(jīng)理(PM)來說,AI或ML(機(jī)器學(xué)習(xí))產(chǎn)品管理比一般軟件更具挑戰(zhàn)性,因為它涉及更多的不確定性。不僅需要技術(shù)上的改變,還需要組織上的改變。
簡單舉例說明,如果你想教機(jī)器識別貓。
透過軟件工程,你可能會列出像是「一只貓有四條腿和兩個尖尖的耳朵」這樣的規(guī)則。規(guī)則越明確,越完整越好,因為機(jī)器必須依賴這些規(guī)則來做出判斷。
相反,如果你使用深度學(xué)習(xí),要做的就不是提供明確的規(guī)則。而是要為機(jī)器提供一堆照片(事先標(biāo)記好哪些是貓,哪些不是),然后建立ML模型或神經(jīng)網(wǎng)絡(luò),讓機(jī)器自行學(xué)習(xí),摸索出規(guī)則。
(source: IBM Research Blog)
你和你的團(tuán)隊要做的是:定義問題,準(zhǔn)備數(shù)據(jù),建立機(jī)器學(xué)習(xí)模型,反復(fù)測試和調(diào)整,直到你擁有可以提供所需結(jié)果的模型為止。
正因為開發(fā)ML產(chǎn)品需要更多的反復(fù)試驗,作為一個PM,你需要給工程師和數(shù)據(jù)科學(xué)家更多的空間和時間去探索。
但是你如何幫助你的團(tuán)隊?wèi)?yīng)對不確定性?如何在明確定義問題和衡量成功標(biāo)準(zhǔn)的同時,又給團(tuán)隊足夠彈性進(jìn)行實驗探索?
以下這幾件事很重要:
一、規(guī)劃:從明確定義問題開始
ML是一種工具,是達(dá)到目標(biāo)的方法之一。如果你要解決的問題不需要ML,就不應(yīng)該使用ML。
我們要從確定問題開始:找到有市場需求,技術(shù)上可行的客戶痛點。先進(jìn)行市場評估,找出客戶需求,接下來則是判斷ML是否可以幫助我們解決用戶的問題。
機(jī)器學(xué)習(xí)有許多可能的應(yīng)用,但原則上,機(jī)器學(xué)習(xí)最適合用來進(jìn)行決策或預(yù)測。
我們可以將ML應(yīng)用分為幾種類型:
- 檢測/檢查(detection/inspection):幫助用戶識別缺陷或異常,例如銀行或保險的欺詐檢測,或生產(chǎn)在線的產(chǎn)品缺陷檢測。
- 模式識別(pattern recognition):幫助用戶篩選大量數(shù)據(jù)。包括推薦,排序,個人化,分類,預(yù)測維護(hù),以及人機(jī)互動;例如針對Alexa或Google Home等智能音箱進(jìn)行自然語言處理(NLP)。
- 高維認(rèn)知(high dimension cognition):幫助用戶篩選,處理大量高維感官數(shù)據(jù)。例如:人工智能機(jī)器人、自動駕駛汽車。
在以下情況下,你應(yīng)該避免在產(chǎn)品中使用機(jī)器學(xué)習(xí):
- 可以用更簡單的規(guī)則解決問題。
- 正在構(gòu)建的解決方案不需要因應(yīng)新數(shù)據(jù)而改變。
- 無法取得訓(xùn)練ML模型所需的數(shù)據(jù)。
- 產(chǎn)品要求高精度,不能容許任何一點出錯。
- 產(chǎn)品需要信息完全透明。
找到正確的問題后,下一個重要任務(wù)就是明確定義需求。
開發(fā)ML產(chǎn)品是一個需要迅速迭代(iterative)的過程,常會聽到有人說「我們先建一個ML模型,再看看結(jié)果如何」。但如果跳過了「事前計劃」和「定義問題」的步驟,最后可能反而會浪費整個團(tuán)隊大量的時間,而得不到具體結(jié)果。
二、定義「目標(biāo)函數(shù)」和「指針」,保留更多空間和彈性
ML產(chǎn)品不需要我們事先編寫規(guī)則,而是由機(jī)器自動從大量的數(shù)據(jù)中分析規(guī)則。
與一般的軟件工程相比,它更具實驗性及不確定性,所以很難預(yù)測哪些方法有效、哪些無效。這就是為什么在決定最終解決方案之前,必須給工程師和數(shù)據(jù)科學(xué)家更多的空間和時間去探索。
作為產(chǎn)品經(jīng)理,你可以藉由以下方法,幫助團(tuán)隊在廣泛的探索過程中保持專注:
1. 定義一個目標(biāo)函數(shù)(objective function)
你的ML模型試圖預(yù)測的期望結(jié)果是什么?或者你還在嘗試辨識出數(shù)據(jù)中的固定模式?有什么「已知事實」(ground truth)可以用來比較模型的結(jié)果、并判斷準(zhǔn)確性?
例如,你設(shè)計了一個模型來預(yù)測天氣,就可以比較預(yù)測結(jié)果與實際天氣數(shù)據(jù),來驗證模型的性能。
2. 定義性能指針(performance metrics)
如何衡量產(chǎn)品的成???設(shè)置驗收標(biāo)準(zhǔn)并不總是那么容易。你會如何比較「翻譯模型」和「人工翻譯」的準(zhǔn)確度?
有時需要先查看模型的初步結(jié)果,才能確定標(biāo)準(zhǔn)為何;但最重要的,是盡早開始思考測試標(biāo)準(zhǔn)、并且不斷測試模型,直到找出預(yù)測結(jié)果令人滿意的ML模型為止。
3. 盡早并頻繁地測試ML模型(end to end testing)
你可以將ML模型看作一個黑盒子;定義模型的輸入和輸出,但不一定了解盒子里的神經(jīng)網(wǎng)絡(luò)如何運作,這就是為什么盡早、并且盡可能頻繁測試很重要。
從簡單的原型(prototype)開始測試關(guān)鍵功能,然后進(jìn)行修改。重點是盡量避免在驗證好模型的關(guān)鍵功能前,就試圖建構(gòu)太復(fù)雜的解決方案。
但需要注意的是,模型本身的準(zhǔn)確性通常并不是最好的衡量標(biāo)準(zhǔn)。
我們必須同時考慮測量精確度Precision(true positives/all positive predictions)和召回率Recall(positive predictions/all true positives);精確度是「多少個選定項目的相關(guān)性」,而召回率則是「選定多少個相關(guān)項目的相關(guān)性」 。
這沒有適用于所有情況的經(jīng)驗法則,所以你需要根據(jù)用戶的案例來決定權(quán)衡。
三、從第一天就開始規(guī)劃你的數(shù)據(jù)策略
訓(xùn)練ML模型需要大量高質(zhì)量的數(shù)據(jù),在使用大量數(shù)據(jù)進(jìn)行訓(xùn)練時,深度學(xué)習(xí)的性能會優(yōu)于舊的算法。因此,從第一天就開始計劃取得數(shù)據(jù)的策略和途徑就非常重要。
數(shù)據(jù)可以來自購買、與其他公司合作、從客戶那里收集、在內(nèi)部生成、或是雇用第三方來生成或標(biāo)記數(shù)據(jù)。同時,你也需要考慮競爭對手在做什么、客戶和監(jiān)管機(jī)構(gòu)在想什么、以及每種策略的相應(yīng)可行性和成本。
擬定數(shù)據(jù)策略的責(zé)任不在于數(shù)據(jù)科學(xué)家,而在于產(chǎn)品經(jīng)理,而且公司高層也需要經(jīng)過清楚定義的競爭策略。
如果你是一家新創(chuàng)公司,更需要三思而后行:你想進(jìn)入的市場,是否有產(chǎn)業(yè)巨頭掌握了大多數(shù)數(shù)據(jù)?
你可能不想在電子商務(wù)上與Amazon競爭、或是在位置數(shù)據(jù)方面與Google地圖匹敵。所以,你必須找到目前還沒有一家公司能主導(dǎo)客戶數(shù)據(jù)的藍(lán)海市場。
你是否能夠建立可防御且可持續(xù)的數(shù)據(jù)管道(data pipeline)?如何遵守用戶的隱私政策?如果你的公司在歐盟和其他數(shù)據(jù)保護(hù)法規(guī)范圍內(nèi)營運,則必須熟悉GDPR(通用數(shù)據(jù)保護(hù)法規(guī))的規(guī)定。
例如,根據(jù)GDPR,公司需要確保個人資料不僅是合法收集的,而且要防止他人濫用。 因此,作為PM,你需要從產(chǎn)品開發(fā)的早期階段就考慮數(shù)據(jù)保護(hù)措施。
PM必須與ML團(tuán)隊討論,以確定未來需要什么數(shù)據(jù)、需要多少數(shù)據(jù);同時,也必須讓法務(wù)和營運部門等其他相關(guān)單位參與。
為機(jī)器人和自動駕駛汽車等現(xiàn)實世界應(yīng)用開發(fā)ML產(chǎn)品,帶來了更大的挑戰(zhàn);所以必須充分利用仿真(simulation)方法、并且注意相關(guān)研究領(lǐng)域,包括轉(zhuǎn)移學(xué)習(xí)(Transfer Learning)和元學(xué)習(xí)(Meta Learning),以降低對大量數(shù)據(jù)的需求、并加快模型訓(xùn)練過程。
四、不能只考慮ML
構(gòu)建ML產(chǎn)品的過程,其實是跨領(lǐng)域的;而且在大多數(shù)情況下,我們開發(fā)的并不只是ML模型而已。
為了做出完整、可立即投入生產(chǎn)的產(chǎn)品,我們還需要用戶接口(UI)、執(zhí)行模型預(yù)測的軟件、以及硬件的搭配組合。
如果過度專注于ML模型上,而忽略了用戶體驗(UX),產(chǎn)品就不會成功。你需要一個不僅包括ML工程師和數(shù)據(jù)科學(xué)家,還包括數(shù)據(jù)工程師、軟件工程師、UI/UX設(shè)計專家和硬件工程師的跨領(lǐng)域的團(tuán)隊。此外,還需要與后端工程師合作,以打造出支持ML產(chǎn)品的基礎(chǔ)結(jié)構(gòu)。
作為PM,必須盡量減少不同職能或團(tuán)隊之間的相互依賴和沖突。如前所述,ML的性質(zhì)與一般軟件開發(fā)完全不同,因此在組織上也應(yīng)該有所改變。
例如,雖然每日的站立會議(stand-up meetings)可能有助于保持軟件工程團(tuán)隊的生產(chǎn)力,但對于ML團(tuán)隊而言,這可能不是最好的時間利用方式。
所以,ML開發(fā)不僅僅是技術(shù)上的改變,還牽涉到組織變革。
作為產(chǎn)品經(jīng)理,你可以幫助其他團(tuán)隊了解ML產(chǎn)品在本質(zhì)上的不同、并協(xié)助解決潛在的沖突。
PM與內(nèi)部團(tuán)隊和客戶的溝通也很重要。ML產(chǎn)品的性能,會隨著時間的推移而提高。
但這也代表著,客戶可能無法在一開始就獲得最好的結(jié)果——用戶可以接受這一點嗎?
如何減輕用戶的風(fēng)險、并保證可接受的最低性能?如何設(shè)計產(chǎn)品,以降低不確定性、并獲得最好的使用體驗?
五、投資ML產(chǎn)品的理由
1. 改善用戶體驗或產(chǎn)品功能
ML可以用來讓產(chǎn)品更個人化、或是客制化;例如讓用戶更容易找到最相關(guān)的結(jié)果,或是應(yīng)用ML來提高預(yù)測的準(zhǔn)確性。 這些都是對公司內(nèi)部或外部用戶(客戶)潛在需求應(yīng)用的考慮。
2. 將流程或重復(fù)性任務(wù)自動化
公司同仁或客戶是否需要重復(fù)執(zhí)行一些可以自動化的流程?透過自動執(zhí)行重復(fù)性工作,可以節(jié)省時間、成本、資源,甚至創(chuàng)造更好的使用體驗。如果流程太復(fù)雜,是否可以將部分流程自動化、或幫助用戶更有效率地完成工作?Gmail的「Smart Compose」(字句建議)是一個很好的例子:現(xiàn)在,Gmail可以自動幫用戶完成句子,不需要每次都手動輸入「你好」這類重復(fù)的單詞或句子。
3. 開創(chuàng)新的商機(jī)
是否有新的商機(jī)或用戶問題,是以往無法解決、但現(xiàn)在可以用ML完成的?例如在倉庫中,貨物分揀通常需要人工完成,因為很難幫機(jī)器手臂編寫程序,讓它們識別和處理數(shù)百萬種產(chǎn)品。但是有了ML,機(jī)器人可以在最少的人工幫助下,自行學(xué)會識別各種物體。ML與人工智能的這種能力,為倉庫機(jī)器人打開了龐大的商機(jī)。
六、有些好的PM直覺反而不適用于ML產(chǎn)品
有時管理軟件產(chǎn)品的方法不一定適用于ML產(chǎn)品。
我常會提醒自己以下幾點:
- 必須清楚認(rèn)知開發(fā)ML和軟件產(chǎn)品之間的區(qū)別,要讓單一組織流程適用于所有產(chǎn)品,是不太可能的;必要的時候,你必須調(diào)整產(chǎn)品計劃流程(sprint planning)、產(chǎn)品藍(lán)圖、甚至整個組織。
- 不需要太詳細(xì)列出產(chǎn)品需求書(Product Requirement Document)上的所有需求,而要著重于定義目標(biāo)功能和衡量標(biāo)準(zhǔn),讓ML團(tuán)隊有更多探索和試驗的空間。
- 與其在開發(fā)過程開始時向ML團(tuán)隊詢問可能結(jié)果,不如與團(tuán)隊密切合作,盡早開發(fā)和測試產(chǎn)品原型。
- ML只是方法之一,并不一定非用不可。
七、總結(jié)
關(guān)于管理AI產(chǎn)品,我認(rèn)為最重要的幾件事包括:
- ML產(chǎn)品管理比一般軟件更具挑戰(zhàn)性,因為它涉及更多的不確定;不僅需要技術(shù)上的改變,還需要組織上的改變。
- ML最適合用于協(xié)助決策或預(yù)測。
- ML產(chǎn)品經(jīng)理最重要的工作:明確定義問題,確定需求,設(shè)定衡量成功的標(biāo)準(zhǔn),并為ML工程師提供足夠的空間和時間探索解決方案。
- 從第一天就開始計劃數(shù)據(jù)策略。
- 構(gòu)建ML產(chǎn)品是跨領(lǐng)域的,牽涉到的職能并不只是機(jī)器學(xué)習(xí)而已。
作者:Bastiane Huang,擁有近10年產(chǎn)品及市場開發(fā)管理經(jīng)驗,目前在舊金山擔(dān)任 AI/Robotics新創(chuàng)公司產(chǎn)品經(jīng)理,專注于開發(fā)機(jī)器學(xué)習(xí)軟件,用于機(jī)器人視覺和控制。
本文由 @Bastiane 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于 CC0 協(xié)議。
字字珠璣!深有體會!