11.27 最新技術雷達:BERT 尚需評估,10 倍工程師暫緩

近日,ThoughtWorks 發佈了最新一期技術雷達,這是其每半年發佈一期的技術趨勢報告,本文摘取了其中與人工智能相關的部分。值得注意的是,沒有與 AI 相關的可採納技術,Tensorflow 2.0 被認為是可以試驗的,目前比較熱門的 BERT 和聯邦學習則被認為尚處評估階段,10 倍工程師被認為可暫緩。

最新技術雷達:BERT 尚需評估,10 倍工程師暫緩

可採納技術清單

暫無

ThoughtWorks 對可採納的定義是強烈主張業界採用的技術,可以在適當的時候用於項目。在最新一期榜單中,所有技術領域可採納的技術、工具、平臺和語言加起來一共 9 個,不涉及人工智能領域。

可試驗技術清單

這指的是值得使用的技術列表,重要的是理解如何建立這種能力,ThoughtWorks 建議企業在風險可控的項目中嘗試如下技術。

Tensorflow 2.0

TensorFlow 的 2.0 版本保持了其作為機器學習框架的突出地位,現在已經擴展為可支持各種機器學習方法和執行環境(從移動 CPU 到大型 GPU 集群)的庫。在此過程中,業內也出現了許多框架,以簡化網絡創建和訓練任務。同時,其他框架(尤其是 PyTorch)提供了一種命令式編程模型, 該模型使調試和執行變得越來越容易。 TensorFlow 2.0 現在默認為命令流(立即執行),並採用 Keras 作為單個高階 API。 儘管這些更改提高了 TensorFlow 的可用性並使其較 PyTorch 更具競爭力,但這是一次重大的重寫,可能會破壞向後兼容性。TensorFlow 生態系統中的許多工具和服務框架都無法立即適配新版本。目前,請考慮是否要在 TensorFlow 2.0 中進行設計和試驗,或恢復到版本 1 以在生產環境中服務和運行模型。

Automated machine learning (AutoML)

機器學習的強大能力和遠大前途使得對專業人才的需求遠超出專門從事該領域的數據科學家的數目。針對這種技能上的差距,我們看到了自動化機器學習(AutoML)工具的出現,這類工具旨在幫助非專業人士更容易地自動化完成從模型選擇到模型訓練的端到端過程,比如 Google 的 AutoML、DataRobot 和 H2O AutoML Interface。儘管我們已經從這些工具中看到了可喜的成果,但還是要提醒企業不要將其視為機器學習的全部。

正如 H2O 網站所述:在數據科學領域,仍需要相當深厚的知識和經驗才能產出高性能的機器學習模型。對自動化技術的盲目信任,還會增加引入道德偏見或做出不利於少數群體的決策風險。 雖然企業可以使用這些工具作為起點,生成基本有用的經過訓練的模型,但我們還是鼓 勵他們尋找經驗豐富的數據科學家來驗證和完善最終模型。

Apache Flink

自從 Apache Flink 在 2016 年首次進入技術 雷達評估環以來,越來越多的開發者開始採用該技術。Flink 被視為領先的流處理引擎,在批處理與機器學習領域也逐漸成熟。與其他流處理引擎相比,Flink 的獨特之處在於使用了一致的應用狀態檢查點。當發生錯誤時,應用可以重啟,並從最近的檢查點載入狀態繼續處理,就好像錯誤從未發生一樣, 這讓我們不必為了容錯而不得不構建和操作複雜的外部系統。我們看到越來越多的公司在使用 Flink 構建數據處理平臺。

Apollo Auto

Apollo Auto 讓自動駕駛技術不再是科技巨頭獨享的”火箭科技”。百度旗下的 Apollo 項目的目標,是成為自動駕駛產業裡的安卓操作系統。Apollo 平臺擁有諸如感知、模擬、 規劃以及智能控制相關的一系列組件,能夠讓汽車公司將自動駕駛系統集成到汽車硬件中。雖然開發者社區剛剛起步, 但是許多第三方廠商陸續加入並貢獻良多。我們的一個項目就是幫助客戶,使用基於 Apollo 的自動駕駛系統,完成自動駕駛執照的考試。Apollo 同時也提供演進式架構的方法,以逐步引入先進功能,以敏捷和迭代的方式集成更多傳感器和功能。

ROS

ROS(Robot Operating System,機器人操作系統)這套程序庫和工具集,能幫助軟件開發人員創建機器人應用程序。這也是一個開發框架,提供硬件抽象、設備驅動、程序庫、可視化程 序、消息傳遞、包管理等功能。開放自動駕駛平臺 Apollo Auto 正是基於 ROS 的。在另一個 ADAS(高級駕駛輔助系統)模擬項目中,我們還使用了 ROS 的消息傳遞系統(使用 bag 文件格式)。隨著 ADAS 的發展,ROS 這項不算新的技術,又重新引發開發人員的關注。

Continuous delivery for machine learning(CD4ML)

隨著基於 ML 的應用程序的日益普及以及構建它們所涉及的技術複雜性,我們團隊嚴重依賴於機器學習的持續交付(CD4ML), 以安全快速且可持續的方式交付此類應用程序。CD4ML 是將 CD 原理和實踐引入 ML 應用程序的學科,消除了從訓練模型到部署生產環境的長週期。在構建和部署模型的端到端過程中,CD4ML 消除了不同團隊、數據工程師、數據科學家和 ML 工程師之間的手動傳遞。使用 CD4ML,我們團隊成功實現了基於 ML 的應用程序所有組件的自動化版本管理、測試和部署,包括數據、模型和代碼。

Data discoverability

數據科學家和分析師在工作流程中遇到的主要問題之一是找到所需的數據,弄清楚數據義並評估其是否值得使用。由於缺少可用數據源的元數據,並且缺少搜索和定位數據所需的適當功能,因此這仍然是一個挑戰。我們鼓勵提供分析數據集或構建數據平臺的團隊以數據的可發現性為其生態圈的首要功能,提供輕鬆定位可用數據,檢測其質量,瞭解結構和源頭,並獲得訪問權的能力。

傳統上,此功能是由龐大的數據分類解決方案提供的。近年來,我們已經看到相關開源項目的增長,這些項目正在改善數據提供者和數據消費者的開發體驗,從而使他們真正做好一件事: 使數據易於發現。這些工具包括 Lyft 的 Amundsen 和 LinkedIn 的 WhereHows。我們希望看到的改變是提供者有意識地分享利於可發現性的元數據,從而幫助發現性工具從應用程序數據庫中推斷出部分元數據信息。

Experiment tracking tools for machine learning

機器學習的日常工作通常可歸結為一系列實驗,包括選擇建模方法、網絡拓撲、訓練數據集以及對模型的各種優化或調整。由於其中許多模型仍然難以解析或解釋,因此數據科學家必須使用經驗和直覺來假設一些改變,然後測量這些變化對模型整體性能的影響。隨著這些模型在業務系統中使用得越來越普遍,出現了幾種不同的“用於機器學習的實驗跟蹤工具”,以幫助研究人員有條理地進行實驗,並跟蹤實驗結果。

儘管該領域還沒有明確的贏家出現,但是諸如 MLflow 和 Weights&Biases 之類的工具,Comet 和 Neptune 之類的平臺,已經在整個機器學習工作流程中引入了嚴謹性和可重複性。除此之外,它們還促進了相互協作,將數據科學從一項單獨的工作轉變為一項團隊協作的運動。

Explainability as a first-class model selection criterion

深度神經網絡在很多問題上都表現出了驚人的記憶力和準確性。只要有足夠的訓練數據和適當拓撲選擇,這些模型就能滿足並超越某些特定問題域中的人類能力。然而,它們天生是不透明的。雖然模型的某些部分可以通過遷移學習進行重用,但是我們很少能夠賦予這些元素人類可理解的意義。

相比之下,可解釋模型是一個允許說明決策是如何做出的模型。例如,一個決策樹產生描述分類過程的推理鏈。可解釋性在某些受監管的行業,或當我們關注決策的道德影響時變得至關重要。由於這些模型被更廣泛地合併到關鍵業務系統中,因此將可解釋性作為模型選擇的頭等標準非常重要。儘管功能強大,神經網絡在可解釋性要求嚴格的情況下,也可能不是一個合適的選項。

待評估技術清單

BERT

BERT 代表來自變換器的雙向編碼器表徵量。它是 Google 在 2018 年十月份提出的一 種新的預訓練表示方法。BERT 通過獲得各種自然語言處理(NLP)任務的最高水平結果,極大改變了自然語言處理(NLP)的格局。基於轉換器架構,它在訓練期間從令牌的左右預警中學習。Google 還發布了經過預訓練的通用 BERT 模型,該模型已針對包括 Wikipedia 在內的大量未標記文本進行了訓練。開發人員可以在其特定於任務的數據上,使用和微調這些經過預訓練的模型,並獲得出色的結果。我們已經在 2019 年四月份的技術雷達上討論過 NLP 的遷移學習、BERT 以及後繼者會繼續使 NLP 的遷移學習成為一個令人興奮的領域,NLP 的遷移學習可以大大減少處理文本分類的用戶工作量。

Federated learning (聯邦學習)

模型訓練通常需要從數據源收集大量數據,並將這些數據傳輸到集中運行模型訓練算法的服務器上。但是,如果訓練數據集中包括個人身份信息,這就會成為問題。而聯邦學習這項技術的出現讓我們備受鼓舞,聯邦學習是一種隱私保護方法,用於訓練大量與個人信息相關的各種數據集。聯邦學習技術可以讓數據保留在用戶的設備上,並完全控制在用戶的手中,但最終仍然可組成一個整體的訓練數據集。

在聯邦學習中,每個用戶設備獨立更新模型。然後將模型的參數(而不是數據本身)組合成一個 集中式的視圖。儘管網絡帶寬和設備算力限制會給這項技術帶來一些重大的技術挑戰, 但是我們喜歡聯邦學習的思路,讓用戶可以完全控制自己的個人信息。

Flair

Flair 是一個簡單的基於 Python 的 NLP 框架。它讓用戶可以執行標準的 NLP 任務,例 如命名實體識別(NER),詞性標記(PoS), 詞義消歧和分類,並且在一系列 NLP 任務中都表現良好。Flair 為各種文字和文檔嵌入提供了一個簡單且統一的界面,包括 BERT、Elmo 及其自己的 Flair 嵌入。同時,它還提供多語言支持。這個框架本身是建立在 PyTorch 之上的。我們在某些項目中正在使用它,並且喜歡它的易用性和強大的抽象。

Facets

不論是直接使用還是作為機器學習模型的訓練輸入,越來越多的重要決策源自於大數據集。因此,瞭解數據中的差距、缺陷和潛在偏見十分重要。Google 的 Facets 項目在此領域提供了兩個有力工具:Facets Overview 和 Facets Dive。Facets Overview 對數據集中的特徵分佈進行可視化,可以展現訓練和驗證集的偏斜,並且可以用於比較多個數據集。Facets Dive 用於在大數據集中挖掘和可視化單個數據點,並使用不同的可視維度來探究屬性之間的關係,都是進行道德偏差測試的有力工具。

What-If Tool

機器學習世界的研究重點稍微從探索“模型能夠理解什麼”,轉向了研究“模型是如何理解的 ”。由於擔心引入偏差,或者過度泛化模型的適用性,因此開發出了 What-If Tool (WIT)這樣的工具。這個工具可幫助數據科學家深入研究模型的行為,並將各種功能和數據集對輸出的影響進行可視化。WIT 由 Google 引入,簡化了比較模型、切片數據集、可視化構面和編輯單個數據點等任務,並可以在 Tensorboard 或 Jupyter notebooks 中使用。

儘管 WIT 可以幫助執行分析,但研究者仍然需要對模型背後的數學和理論有深刻的理解。WIT 只是數據科學家用來深入瞭解模型行為的工具,對於使用不當或缺乏訓練不佳的算法,初級用戶不應奢望有任何工具可以消除或減輕其風險或造成的損害。

Fairseq

Fairseq 是 Facebook AI Research 的序列到序列建模工具套件,允許研究人員和開發人員訓練定製模型以進行翻譯、摘要、語言建模和其他 NLP 任務。對於 PyTorch 的用戶來說,這是一個不錯的選擇。它提供了各種序列到序列模型的參考實現,支持跨多個 GPU 和機器的分佈式訓練,可擴展性強,並具有許多預訓練的模型,其中包括 RoBERTa,它是對 BERT 的優化。

ONNX

目前,圍繞神經網絡的相關工具和框架的生態系統正在迅速地發展。但是,這些框架和工具之間的互通性也成為一個挑戰。在機器學習領域,通常需要在一種工具中快速進行原型設計和訓練,然後將其部署到其他工具中進行推理。因為這些工具的內部格式並不兼容,為了使他們兼容,我們需要實現並維護很多麻煩的轉換器。開放神經網絡交換格式 ONNX 的出現,就是為解決這一問題。在 ONNX 中,表示神經網絡的圖形由標準規格的操作符和一系列表示訓練權重和神經網絡模型的格式所組成,這些圖形可以在不同的工具間傳遞。這種一致的格式帶來了很多的可能性,其中之一就是 Model Zoo,它是一系列基於 ONNX 格式的預訓練模型的集合。

Data mesh

數據網格是一種可以解鎖大規模數據分析的架構範式,快速解鎖對越來越多的分佈領域數據集的訪問,從而支撐跨組織的大量數據的使用場景,如機器學習、分析或數據密集型應用程序。數據網格解決了傳統集中式數據湖或數據平臺體系結構的常見故障模式,它改變了數據湖及其前身數據倉庫的集中式範式。數據網格的範式借鑑了現代分佈式體系結構:將領域作為首要關注點,應用平臺思維來創建自服務的數據基礎設施,將數據視為產品,並應用開放標準化,從而實現可交互的分佈式數據產品生態系統。

Ethical bias testing

過去一年,我們已經看到人們對機器學習,尤其是深度神經網絡的興趣正在發生變化。到目前為止,這些模型的卓越功能推動了工具和技術上令人興奮的發展。雖然目前,人們越來越擔心這些模型可能會造成意外傷害。例如,一個模型可以經過訓練,通過簡單排除弱勢申請人而做出有利可圖的信用決策。幸運的是,我們看到人們對道德偏見測試的興趣與日俱增,這將有助於發現潛在的有害決策。一些工具,例如 lime,AI Fairness 360 或者 What-If,可以幫助我們發 現一些訓練數據和可視化工具中未被充分代表的群體而導致的不準確性。可視化工具中,Google Facets 和 Facets Dive 可以用來發現大量訓練數據中的子組。但是,這是一個正在發展的領域,我們期待隨著時間的推移,出現針對道德偏見測試的標準和實踐。

Semi-supervised learning loops

半監督學習循環是一類迭代式的機器學習工作流,它們利用未標記數據中尚待發現的關係,來提升學習性能。這些技術通過不同方式組合標記和未標記的數據集,從而改進模型。此外,它們還對在不同數據子集上訓練出來的的模型進行對比。與機器從未標記數據中推斷分類的無監督學習,以及訓練集完全標記的有監督技術不同,半監督技術利用的是一小部分被標記數據和大部分未標記數據。半監督學習還與主動學習技術密切相關,在主動學習技術中,人們被引導至選擇性標記的模糊數據點。因為能夠精確標記數據的專家是稀缺資源,並且標記通常是機器學習中最耗時的活動,所以半監督技術不僅降低了訓練成本,還使機器學習對於新型用戶而言是可行的。

需暫緩處理清單

10 倍工程師

在過去幾個月,10 倍工程師一詞受到密切關注。一個廣泛傳播的推文討論在實質上建議公司應原諒反社會和破壞性的行為,以留住被認為個人產出巨大的工程師。 幸運的是,許多人在社交媒體上都嘲笑了這個概念,但是“明星開發者”的刻板印象仍然普遍存在。根據我們的經驗,偉大的工程師不是因為個人產出而是因為能在優秀的團隊中合作而誕生。打造一支混合不同經驗和背景,但成員才華橫溢的團隊,併為團隊合作、學習和持續改進提供良好的助力,這會是更行之有效的方式。這些10 倍團隊行動起來更快,彈性也更強而無需屈從錯誤的行為。

機器學習的未來:可解釋性

在本期的四大主題中,有一個與人工智能相關的話題:打開機器學習的黑匣子。報告認為,儘管機器學習的功能非常強大,但許多模型本質上並不是很好理解。當通過這些模型推算出的結果存在偏差,大部分開發者也很難找到問題所在。如今,越來越多的輔助工作可以彌補不同模型的侷限性,並在可解釋性方面做了很多改進。ThoughtWorks 認為,理解深度神經網絡仍然是一個遙不可及的目標。因此,在選擇機器學習模型時,數據科學家開始將可解釋性視為第一要務,這將是未來機器學習發展的重要方向。


分享到:


相關文章: