1. 程式人生 > >構建AI平臺的關鍵考慮點

構建AI平臺的關鍵考慮點

編者注:想了解更多應用資料科學到你的業務裡的資訊,可以檢視2018年3月5日至8日的Strata資料聖何塞大會上的機器學習議題。大會註冊已經開始。 
更多人工智慧內容請關注2018年4月10-13日人工智慧北京大會。

AI的希望是很大的,但是真正要在企業內部構建和實現AI確很有挑戰性。隨著越來越多的企業學著在正式的生產環境裡構建智慧的產品,工程團隊將面對著機器學習開發過程帶來的複雜性——從資料獲取和清洗到特徵工程、建模、訓練、部署和生產環境的設施等。應對這些挑戰的核心是構建一個有效的AI平臺策略,就如Facebook的FBLearner Flow和Uber的Michelangelo那樣。通常,這個任務是說起來容易做起來難。構建一個平臺的過程就有它自己的複雜性,特別是因為“平臺”這個詞自身的定義就很寬泛和不明確。在本博文裡,我會逐一介紹構建一個適合你的業務所需的AI平臺所要考慮的關鍵點,以及如何避開常見的坑。

誰將使用這個平臺?

機器學習平臺通常被不正式地宣稱是為軟體工程師和資料科學家共同設計的。但是,大部分平臺並不能為兩種角色同時都服務好。更糟的是,這些平臺甚至無法給任何一種角色提供對真實工作足夠有用的價值。我個人在構建PredictionIO和Salesforce的Einstein AI平臺上的經驗幫助我理解了這兩種截然不同的使用者,他們的需求集的差異是巨大的。

首先看看資料科學家群體。這些使用者通常有著數學和統計學的背景,是R、Python科學計算包和資料視覺化這些工具的重度使用者。這個群體負責分析資料和調優模型來獲得最精確的結果。因此他們關心的是一個平臺是否能支援特定的演算法類,在平臺上他們已經熟練使用的工具是否能工作良好,以及是否能和他們使用的視覺化工具整合。他們還想知道平臺支援什麼特徵工程技術,以及他們是否能在平臺上使用他們自己預先訓練好的模型,諸如此類的需求。

對於軟體工程師群體而言,他們通常很熟悉如何構建Web或移動應用,更關注於平臺是否能和他們希望的資料來源整合,以及平臺提供的介面和內嵌的演算法是否足以構建特定的應用。他們想知道如何獲取模型產出的結果,是否支援模型版本化,以及是否有特定的軟體程式設計模型來使用,諸如此類的需求。

為了能成功地為你的企業實現一個AI平臺,你必須真正地理解你的使用者,並相應的去為他們服務。例如,有很多資料科學家偏好於手工微調演算法的每一個引數,但是如果你的使用者是想要一個能工作的成品迴歸演算法,自動化的模型調優就成為平臺要有的一個非常重要的技術。你希望幫助這些使用者來減輕調整正則化引數的麻煩,從而讓他們能關注於他們首要的任務。

你是要解決簡單性還是靈活性?

你可能想知道為什麼構建一個服務於兩種或多種使用者的單一平臺是如此困難。為什麼不在平臺上簡單地提供更多的功能?這個問題最終就歸結到對於簡單性和靈活性的艱難選擇上。決定哪個部分應該為了簡單性而被抽象出來以及哪些部分應該為了靈活性而被構建成可定製化這件事更像是一門藝術而不是科學。

對一些使用者而言,一個理想的平臺是能把所有的資料科學的細節抽象掉的平臺。很多軟體工程師開心地使用Salesforce的Einstein深度學習API來識別影象裡的物體以及進行文字裡的情感分類,他們不操心這些AI模型是怎麼被構建的,或者背後用的是什麼演算法。

對別的使用者而言,一個理想的平臺是有著最大程度的靈活性的平臺。也有不少軟體工程師喜歡在Apache PreditionIO上構建完全定製化的AI引擎。他們會自己來修改Spark ML管道,並很享受能定製化和微調每個元件的自由(從資料準備到模型選擇,再到實時的服務邏輯等),從而能建立一個獨一無二的AI應用。

你怎麼來平衡產品和工程的決策?

隨著AI平臺被越來越多的使用者使用,很多艱難但是有趣的產品和工程的決策浮現了出來。這個平臺應該測量什麼?它應該提供預製的指標嗎?它能應對來自AI研究、開發和產品部門各種不一樣的需求?它的成本與可擴充套件策略是什麼?這個平臺應該是雲端不可知的嗎?視覺化工具應該是這個平臺的一部分嗎?為了能更有效地回答這些問題,你必須要一次只完全針對一種型別使用者的一個全應用場景,從最高業務優先順序的事情開始。

你的多層級方法是什麼?

有些時候,現實是你需要為多種型別的使用者構建AI能力。在這種情況下,能力的分離就必須是明確的。

例如,Salesforce的Einstein人工智慧層有3個主要模組。首先是幾個獨立的和機器學習開發相關的服務。其中一個服務是用於執行資源密集型的任務,並負責為每個任務智慧地排程和管理分散式計算單元。另外一個服務則是進行任務排程,管理任務的依賴包和監控狀態。這些低層次的服務為資料科學家和軟體工程師提供了最大的靈活性,從而允許他們用自己喜歡的方式構建AI解決方案。

其次,需要有一個應用框架來標準化某些常用AI應用的設計模式——特別在Saleforce的場景裡,即多租戶的AI應用。使用者將依然需要寫程式碼,但是會寫的很少,因為很多常用的功能都被抽象出來了。通過放棄一些靈活性,平臺為基於其上的AI應用提供了彈性和可擴充套件性。

最後,API和使用者介面被提供用於讓使用者只寫很少量的程式碼,甚至是不用程式設計就能構建AI應用。

結論

一些沒有想清楚它們的AI策略的公司通常會在不同的方向間搖擺不定。它們是在追逐風口。在可見的未來,對能服務於多種開發型別的AI平臺的需求必將持續增加。正確的AI解決方案是既能匹配使用者的技能集而且能解決最高優先順序業務問題的方案。

This article originally appeared in English: "Key considerations for building an AI platform".

0?wx_fmt=jpeg

Simon Chan

Simon Chan是Salesforce的Einstein平臺的資深產品管理主管。他主管平臺的開發,交付產品來幫助任何希望使用Salesforce來開發智慧App的產品。Simon是一個產品創新者和持續創業者。他在全球多個地區(倫敦、香港、廣州、北京、矽谷)擁有超過14年的技術管理經驗。在Salesforce之前Simon是PredictionIO的CEO和聯合創始人。PredictionIO是一個領先的開源機器學習伺服器,後被Salesforce收購。Simon擁有密歇根大學安娜堡分校的電腦科學學士學位和倫敦大學學院的機器學習博士學位。

由O’Reilly和Intel共同舉辦的2018人工智慧北京大會售票系統已經上線,現在是最佳票價階段,點選下圖二維碼進入官網檢視已公佈的講師及議題詳情

講師及議題內容將持續更新,請大家關注O'Reilly官網及公眾號。

0?wx_fmt=png

0?wx_fmt=png