作者 | 彎月
受 COVID-19 的影響,今年的 TensorFlow 開發者大會於2020年3月12日(北京時間)凌晨以線上直播的方式與全球開發者見面。
Google決定開源TensorFlow是為了讓每個開發人員和研究人員都能方便地使用人工智慧來解決多樣化的現實問題。自開源以來,TensorFlow的下載次數超過了760萬次,提交次數高達8萬次,拉取請求13萬餘次,貢獻者2400多名。
對 TensorFlow 來說,2019年是激動人心的一年。去年,Google先後推出了TensorFlow 2.2 和數個產品更新,在11個不同國家/地區舉辦全球路演,並召開了首屆TensorFlow開發者大會和TensorFlow World。
TensorFlow 2.2 發布
2019年,Google推出了TensorFlow 2.0,這是該平臺發展的一個重要的裡程碑。TensorFlow 2.0的幾大亮點包括:
專注於簡單性和易用性,大大簡化API方便開發人員使用Keras 和 eager execution 輕鬆構建模型提高TensorFlow Lite 和 TensorFlow.js 部署模型的能力隨後,Google根據社區的反饋:性能有待提升;從1.0移植2.0的難度過高,推出了TensorFlow 2.2。該版本強調性能,與生態系統的兼容性,以及核心庫的穩定性。
TensorFlow生態系統
TensorFlow 建立了強大的生態系統,包含各類庫、擴展以及工具,能夠滿足研究人員和開發人員實現端到端機器學習模型的各種需求。
對於研究人員,TensorFlow提供了最尖端的機器學習研究模型,例如T5模型可實現語音到文本的轉換。
產品開發人員可結合使用TensorFlow與Keras等工具構建各種應用產品。TensorFlow Hub提供大量預訓練模型。Google還推出端到端的AI雲平臺,從創意到發布,只需輕輕單擊滑鼠即可完成所有部署。
此外,開發人員可以利用TensorFlow Lite等工具輕鬆將機器學習模型部署到各種設備上。
NLP
隨著圖像識別領域的爆發式增長,近年來NLP領域的進展也是有目共睹,在大量的工具和模型的推動下,NLP的能力已超越了人類。
TensorFlow 2.x為生成文本引入了許多預處理層,這樣數據的預處理就可以直接在TensorFlow中進行,而無需藉助Keras等其他工具了:
TensorFlow 2.x提供了新的訓練循環,允許開發者自定義每一步需要進行的操作,因此能解決以前Keras的fit函數無法解決的問題。
此外,NLP的調參過程一直是個難題,而現在我們可以使用 KerasTuner工具幫我們輕鬆地實現這一過程:
TensorFlow Hub
TensorFlow Hub提供了圖像、文本、視頻以及語音等全方面的預訓練模型。
圖像模型:圖像分類、目標檢測、圖像增強、圖像生成(如風格轉換等)文本模型:問答、文本分類、語法分析等視頻模型:視頻動作識別、視頻生成等語音模型:音高識別等
TensorFlow 性能分析
TensorFlow性能分析提供了一系列工具集合:
Overview Page:性能概覽頁面Input Pipleline Analyzer:輸入管道分析TensorFlow Stats:TensorFlow統計圖表Trace Viewer:追蹤查看4個GPU/TPU專業工具
Colab
Colab可以支持開發人員通過瀏覽器編寫和執行Python代碼。
MLIR:加速TensorFlow編譯
現在機器學習模型已經深入到日常生活的方方面面,處理的任務也越來越複雜。那麼隨之而來的一個難題就是,怎樣才能讓機器學習模型的構建和訓練過程變得更快?我們可以從這幾個方面入手:
用標準化的方式表示基本概念,如運算、類型等創建一個通用的基礎設施,構建可以重用的組件支持自定義和可擴展性這個新的框架名為MLIR,全稱是Multi-Level Intermediate Representation,是面向機器學習的編譯架構,具有模塊化、可擴展、可定製的特點。
對於用戶而言,MLIR意味著可以調試模型更容易,還能獲得更高的性能;而對於硬體供應商而言,MLIR意味著功能集成和優化更容易;對於研究人員而言,MLIR意味著基礎架構的標準化。如今MLIR已經被許多大公司接受,全世界95%的數據中心的硬體也都支持MLIR,還有活躍的開源社區。
下圖是TensorFlow的架構,藍色部分為可以使用MLIR的部分。
簡單來說,MLIR是一個通用的圖表示框架,一組通用的優化和轉換過程,以及一個完整的代碼生成流水線。
TFRT:TensorFlow Runtime
TFRT是一個新的TensorFlow運行時。為什麼要構建一個新的運行時呢?主要的動機是由於現在的模型越來越複雜、越來越大,而研究也需要更有創新性的運算、核和建模等。因此TensorFlow構建了TFRT這個新的運行時來滿足不斷增大的性能需求和對於模塊化、可擴展性的要求。
TFRT是一個統一的、可擴展的運行時,在許多專用硬體上能夠提供最好的性能。
TFRT的幾個設計上的亮點包括:
異步、低消耗的方式分發運算和圖:TFRT構建了一個不依賴鎖的並行圖執行器,因此同步所需的額外開銷很小。而且,eager op棧非常薄,因此每個eager API調用的額外開銷也很小。可擴展性和模塊化:運算、核和設備運行時與宿主運行時解耦合。eager模式和圖執行模式採用統一的構建組件,包括內存分配器、形狀函數和核等。
TFX:TensorFlow Extended
TFX是一個端到端平臺,用於部署生產型機器學習流水線。
2019年的最新發展:
建立機器學習元數據的基礎支持TensorFlow 2.x建立公平的指標2020年的發展計劃:
支持 Native Keras + TensorFlow 2.xTFLite inTFX提高模型訓練的速度Google Cloud AI Platform + TFX = Google Clound AI Pipelines
TensorFlow.js
TensorFlow.js是面向Web的機器學習框架。
2019年,TF.js 1.0正式發布:
新增四個模型:BodyPix、Toxicity、USE、Speech commands平臺:AutoML,SavedModels,以及在Node.js中直接執行SavedModel被許多大型應用程式採用,如Uber、Airbnb、微信、抖音等2020年的新增目標:
新增模型:Facemesh、Handtrack、Mobile BERT平臺增強:Web Assembly後端、React Native支持應用程式:平臺用戶:Glitch/Codepen
TensorFlow Lite
TensorFlow Lite是TensorFlow針對移動和嵌入式設備的輕量級解決方案。
全球40億行動裝置的各種應用都使用了TensorFlow Lite。超過1千應用產品採用了TensorFlow Lite,其中包括Google自己的產品YouTube、Google Cloud、Google Assistant,以及Uber、Hike、Airbnb、Viber等其他公司的產品。
公平
機器學習模型的偏見問題一直是模型訓練中的一個難題。在機器學習模型的構建流程中,從問題定義、數據準備一直到模型訓練、部署,每個階段都不可避免地會引入人類的偏見。例如,如果一個模型根據人們畫出的鞋子簡筆畫來學習怎樣識別鞋子,而絕大部分人畫出的鞋子都是運動鞋,那麼訓練出的模型就很難識別高跟鞋。在實際應用中,類似的偏見可能會導致嚴重的後果。
2017年發布的Toxicity v1模型的目的是識別網絡語言中的有害信息從而幫助淨化網絡內容。但是,由於訓練數據缺乏多樣性,導致模型對於同性戀相關話題會給出很高的有害分數。如果利用這個模型來過濾有害信息,那就會導致同性戀人群在網絡上無法發聲,導致嚴重的歧視問題。
解決公平性的兩個問題是:
如何衡量公平性?應當採用怎樣的訓練數據?Tensorflow提供了Faireness Indicators工具集,讓開發者可以更容易地對模型的公平性進行測量。
根據實驗,一個沒有公平性約束的tf.keras.Sequential模型在Smile Detection on CelebA數集上的訓練結果,會對Not Young的人群給出很高的假陽性率。
在使用了TFCO給模型加入約束後,訓練結果明顯好了很多。
TFQ:TensorFlow Quantum
不久前, TensorFlow Quantum(TFQ),一個可快速建立量子機器學習模型原型的開源庫。TFQ 通過提供與現有 TensorFlow API 兼容的量子計算基本要素以及高性能量子電路模擬器,將量子計算開源框架 Cirq 與 TensorFlow 集成在一起,為傳統的判別和生成量子模型的設計和實現提供了高層的抽象。
TensorFlow社區用戶群
TensorFlow 在全球共有73個用戶群,最初的兩個始自北美,最大的用戶群在韓國有4.6萬名成員,中國的用戶群遍及16個城市。
教育課程與證書
TensorFlow不僅與Coursera等網站合作推出了一系列在線教育課程,還推出了TF開發證書,涉及主題包括:機器學習編程的基本概念、文本分類、計算機視覺以及序列和預測等。
【end】
原力計劃
《原力計劃【第二季】- 學習力挑戰》正式開始!即日起至 3月21日,千萬流量支持原創作者!更有專屬【勳章】等你來挑戰
如何用CNN玩轉AlphaGo版的五子棋?訓練數據也外包?這家公司「承包」了不少注釋訓練數據,原來是這樣做的……微信iOS版內測暗黑模式;涉嫌惡意舉報,社交平臺Soul運營合伙人被批捕;AWS推出基於Linux開源作業系統區塊鏈和大數據一起能否開啟數據完整性的新紀元?Soul App 高管被捕,惡意舉報導致競品被下架以太坊2.0、分片、DAG、鏈下狀態通道……概述區塊鏈可擴展性的解決方案!