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