當前位置:
首頁 > 最新 > 構建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".

Simon Chan

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


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 OReillyData 的精彩文章:

TAG:OReillyData |