衡量機器學(xué)習(xí)性能的業(yè)界標(biāo)準(zhǔn) MLPerf(https://mlperf.org) 發(fā)布了 MLPerf Training v0.7 輪的最新基準(zhǔn)測試結(jié)果。我們開心地與大家分享,Google 的提交結(jié)果展現(xiàn)出一流的性能(達到目標(biāo)質(zhì)量用時最短),能夠擴展至 4,000 多個加速器,并且在 Google Cloud 上為 TensorFlow 2 開發(fā)者提供了靈活的開發(fā)體驗。
在本文中,我們將探討 TensorFlow 2 MLPerf 提交結(jié)果,以及這些結(jié)果展示了企業(yè)如何在 Google Cloud 中尖端的 ML 加速器上運行 MLPerf 所代表的有價值的工作任務(wù),如廣泛部署的幾代 GPU 和 Cloud TPU(
TensorFlow 2:專為性能和易用性而設(shè)計
在今年早些時候舉行的 TensorFlow 開發(fā)者峰會上,我們著重介紹了 TensorFlow 2 將注重易用性和實際性能。為爭取贏得基準(zhǔn)測試,工程師們往往依賴于低階 API 調(diào)用和硬件專用的代碼,而這些在日常企業(yè)環(huán)境中可能很少見或不實用。借助 TensorFlow 2,我們的目標(biāo)是通過更直接的代碼提供開箱即用的高性能,避免低級優(yōu)化在代碼重用性、代碼運行狀況和工程效率方面帶來的重大問題。
MLPerf Training v0.7 中 Google 使用帶 8 個 NVIDIA V100 GPU 的 Google Cloud VM 的收斂時間(分鐘)。提交結(jié)果在“可用”類別中
TensorFlow 的 Keras API(請參閱相關(guān)的一系列指南)支持多種硬件架構(gòu),提供了易用性和可移植性。例如,模型開發(fā)者可以使用 Keras 混合精度 API 和 Distribution Strategy API 來使同一代碼庫盡可能在多個硬件平臺上流暢運行。Google 的“云端可用”類別中的 MLPerf 提交結(jié)果是由這些 API 實現(xiàn)的。這些提交結(jié)果證明了使用高階 Keras API 編寫的幾乎相同的 TensorFlow 代碼可以在業(yè)界兩個領(lǐng)先的廣泛可用的 ML 加速器平臺上提供高性能使用體驗:NVIDIA 的 V100 GPU 和 Google 的 Cloud TPU v3 Pod。
指南
https://tensorflow.google.cn/guide/keras/sequential_model
Keras混合精度 API
https://tensorflow.google.cn/guide/keras/mixed_precision
Distribution Strategy API
https://tensorflow.google.cn/guide/distributed_training
注:圖表中顯示的所有結(jié)果均于 2020 年 7 月 29 日從 www.mlperf.org 中獲取。MLPerf 名稱和徽標(biāo)為商標(biāo)。有關(guān)詳細信息,請訪問 www.mlperf.org。顯示的結(jié)果:0.7-1 和 0.7-2。
MLPerf Training v0.7 中使用含 16 個 TPU 芯片的 Google Cloud TPU v3 Pod 切片的收斂時間(分鐘)。提交結(jié)果在“可用”類別中
深入了解:借助 XLA 提升性能
Google 提交的在 GPU 和 Cloud TPU Pod 上的測試結(jié)果使用了 XLA 編譯器來優(yōu)化 TensorFlow 性能。XLA 是 TPU 編譯器技術(shù)棧的核心部分,可以選擇性地為 GPU 啟用。XLA 是一個基于圖模型的即時編譯器,用于執(zhí)行各種不同類型的全程序優(yōu)化,包括 ML 運算的廣泛 融合 。
XLA 編譯器
https://tensorflow.google.cn/xla
算子融合降低了 ML 模型對存儲容量和帶寬的要求。此外,融合減少了運算的啟動開銷,尤其是在 GPU 上。總體而言,XLA 優(yōu)化具有通用性和可移植性,與 cuDNN 和 cuBLAS 庫的互操作性十分出色,并且通常可以作為手動編寫低級內(nèi)核的有力替代方案。
Google 的“云端可用”類別中的 TensorFlow 2 提交結(jié)果使用了 TensorFlow 2.0 中引入的 @tf.function API。@tf.function API 提供了一種簡單的方法來有選擇地啟用 XLA,從而可以精確控制將要編譯的函數(shù)。
啟用 XLA
https://www.tensorflow.org/xla/tutorials/compile
XLA 帶來的性能提升令人贊嘆:在連接 8 個 Volta V100 GPU(每個具有 16 GB GPU 內(nèi)存)的 Google Cloud VM 上,XLA 將 BERT訓(xùn)練吞吐量從每秒 23.1 個序列提高到每秒 168 個序列,提升了約 7 倍。XLA 還使每個 GPU 的可運行批次大小增加了 5 倍。XLA 減少了內(nèi)存使用量,因此使得高級訓(xùn)練技術(shù)(如梯度積累)的使用成為可能。
在 Google Cloud 上使用 8 個 V100 GPU 的 BERT 模型中啟用 XLA 的影響(分鐘)(Google 在 MLPerf Training 0.7 中提交的測試結(jié)果)與停用優(yōu)化條件下同一系統(tǒng)中未經(jīng)驗證的 MLPerf 結(jié)果
Google Cloud 上最先進的加速器
Google Cloud 是唯一支持訪問最新 GPU 和 Cloud TPU 的公共云平臺,使 AI 研究人員和數(shù)據(jù)科學(xué)家可以自由地為每個任務(wù)選擇合適的硬件。
GPU
https://cloud.google.com/blog/products/compute/announcing-google-cloud-a2-vm-family-based-on-nvidia-a100-gpu
Cloud TPU
https://cloud.google.com/tpu/
BERT 等前沿模型已在 Google 內(nèi)廣泛使用,并在整個行業(yè)范圍內(nèi)用于各種自然語言處理任務(wù),現(xiàn)在可以使用訓(xùn)練 Google 內(nèi)部工作任務(wù)所用的基礎(chǔ)架構(gòu)在 Google Cloud 上進行訓(xùn)練。借助 Google Cloud,您可以在一個小時內(nèi)在具有 16 個 TPU 芯片的 Cloud TPU v3 Pod 切片上將 BERT 訓(xùn)練 300 萬個序列,總成本不到 32 美元。
BERT
https://github.com/tensorflow/models/blob/master/official/benchmark/bert_benchmark.py
結(jié)論
Google 的 MLPerf 0.7 訓(xùn)練提交結(jié)果展示了 TensorFlow 2 在最新的 ML 加速器硬件上的性能、易用性和可移植性。立即開始,體驗 TensorFlow 2 在 Google Cloud GPU、Google Cloud TPU 和具有 Google Cloud Deep Learning VM 的 TensorFlow Enterprise 上的易用性和功能。
致謝
GPU 的 MLPerf 提交結(jié)果離不開與 NVIDIA 的密切協(xié)作。NVIDIA 的所有工程師都為提交測試結(jié)果提供了幫助,在此一并表示感謝。
-
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8353瀏覽量
132315 -
tensorflow
+關(guān)注
關(guān)注
13文章
328瀏覽量
60474
原文標(biāo)題:TensorFlow 2 MLPerf 提交結(jié)果在 Google Cloud 上展現(xiàn)出同類最佳性能
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論