推特和臉書可以教會我們很多和高效的人工智能有關的東西。
Gartner最近的一項調查顯示,很多公司才剛剛開始機器學習之旅,而37%的組織已經實施了人工智能。如果你已經準備好接受機器學習,你可能先要評估十個問題或評估人工智能、機器學習和深度學習的完整指南,然后才能對機器學習進行概念驗證。
機器學習正在不斷發展,新的商業突破、科學進步、框架改進和最佳實踐常常見諸各大媒體。
我們可以從實施了大規模機器學習計劃并將人工智能視為業務核心的組織中學到很多東西。在紐約召開的O'Reilly人工智能會議上,我看到了臉書和推特的機器學習計劃之間的幾股常見趨勢。
了解業務需求和競爭因素
臉書將機器學習用于很多領域。在臉書主頁上,機器學習可以搜索內容,翻譯語言,掃描動態消息并識別用戶上傳的照片中的面孔,以及查廣告展示的內容。在幕后,機器學習則用于內容理解、語音識別、內容完整性、情感分析、檢測令人反感的內容和欺詐性賬戶。
同樣,推文排名、廣告選擇、搜索功能和用戶推薦等一系列活動證實推特的機器學習正在發揮作用。機器學習還用來標記有污言穢語的推文、垃圾郵件和不適合在工作中使用的圖片。
每次機器學習操作的規模有多大,這兩家公司以什么方式投資于差異化能力,這不太明顯。
臉書每天為26億用戶執行200多萬億次預測。它的用戶遍布全球(這些用戶在帶寬上受到一定的限制),而且大量的互動是由手機完成的。
這帶來了一些難題,因為全球有61%的用戶還在用六年前的手機,甚至更老;只有不到10%的用戶使用最先進的智能手機。臉書的戰略的一部分是將更多的神經網絡計算轉移到邊緣設備,以擴大規模,降低延遲并提供更個性化的機器學習模型。臉書的機器學習技術棧體現了這樣的目標,即可以輕松地研究新模型,同時大規模提供推理結果并將一些計算轉移到邊緣設備。
推特根據規模和延遲方面的要求對模型進行優化。它每秒執行數千萬次預測,每天以數十太字節的數據來訓練模型。它專注于優化延遲(模型做出響應所需的時間)并明確了預測延遲方面的預算,即預測延遲數十毫秒所需要的預算。
為了擴大規模而將平臺標準化
臉書和推特很早就開展了機器學習計劃。它們從非結構化方法開始,但它們現在正在采取措施將平臺,框架和管道標準化。推特旨在更輕松地共享模型并希望減少重復勞動。臉書正在解決各種痛點,即可靠性、可擴展性、運行模型的效率以及科學家和工程師的開發體驗方面的痛點。
這兩家公司的平臺都根據類似的數據管道處理原則得到了優化,它們都有處理數據,提取特征,訓練模型以及將模型部署到生產環境的平臺。
兩大社交媒體巨頭正在采取措施對選定的機器學習框架進行標準化。臉書正在使用PyTorch使研究變得更輕松,使用Caffe2大規模運行生產推理模型。它已將Caffe2整合到PyTorch 1.0中,PyTorch 1.0結合了這兩種功能,并使用Caffe2Go來運行移動神經網絡。推特使用的是Lua Torch、TensorFlow、Scikit、PyTorch和其它平臺。它現在正在將Scalding、PySpark、Tensorflow和Apache Airflow標準化。
使科學家、開發人員和工程師能夠進行協作
推特和臉書勾勒了各種不同的工作,以實現生產力,知識共享,以及數據科學家、開發人員和工程師之間的代碼可重用性。
許多數據團隊將數據目錄和詞典作為其數據治理計劃的一部分。這些工具使每個人在使用數據進行分析或機器學習實驗時更容易理解基礎數據模型,字段定義和質量約束。
推特則更進一步,它通過將機器學習實驗中使用的功能標準化并在功能目錄中獲取這些功能。這大大減少了重復并幫助科學家訓練新模型,而不必花大量精力將數據處理成功能。
臉書還對自身的功能進行編目和標準化,將訓練自動化并開發用于管理和部署模型的工具。FBLearner是支持這些功能的標準平臺。
此外,臉書正在對自身所使用的機器學習類型進行標準化。例如,動態消息、廣告、搜索和異常檢測的排名使用了多層感知器。臉書還利用卷積神經網絡和支持向量機(support vector machine)進行面部識別,并利用循環神經網絡進行語言翻譯。
將機器學習模型的持續訓練自動化
和軟件應用程序一樣,機器學習模型必須持續得到培訓和修改。臉書和推特都對這種培訓進行了自動化,以便模型根據新數據進行重新調整。
推特認識到,將模型推向生產將產生新的要求,即不斷用最新數據來訓練模型,并在數據科學家進行模型改進時對其進行更新。Apache Airflow能將訓練和部署管道自動化。
臉書專注于其戰略。經常改變的模型(例如新聞源)每小時或更少地重新訓練,而語言翻譯和面部識別模型在數周至數月的循環中訓練。
計算成本的高低和計算資源的多少也決定了模型重新接受訓練的頻率。臉書也許具備戰略計算優勢,因為它開發了各種硬件棧,這些硬件棧對不同的機器學習工作負載進行優化。因為全球的計算資源并未得到充分利用,所以推特專注于優化算法性能并在非高峰時段安排訓練。
制定長期規劃
與大多數組織相比,推特和臉書在應用和擴展機器學習方面遙遙領先。你能從他們的成功中學到什么?
從小事做起,對模型進行培訓并在使其在生產中運行,從而證明其商業價值,然后努力擴大實踐規模并使其更成熟。要使實踐成熟,與應用程序開發類似的規則是必不可少的,包括將框架標準化、定義體系結構、選擇維護周期、優化性能以及將部署管道自動化。
你會發現,機器學習帶來了重要價值,但它也需要根據性能和投資展開持續研究,以進行改進。各種模型經過培訓、部署、優化,然后被更好的模型替代。機器學習是一種新的工具和技能,但對于必須改善用戶體驗或必須通過數據提高競爭價值的組織來說,它們將變得越來越重要。