CUDA入門教程;Transformer太火不是好事?;探求GPU極限效能的利器|AI系統前沿動態

語言: CN / TW / HK

1. PyTorch 創始人:Transformer 的流行可能是一把雙刃劍

要說 Transformer 有多厲害,比如 OpenAI 重磅推出的 GPT-3,就是基於 Transformer 實現的。至於傳播速度方面,短短 5 年,Transformer 便在 TensorFlow 、PyTorch 等主流深度學習框架支援的 AI 程式中佔據一席之地。

不過與高調宣傳 Transformer 的學者不同,這次 PyTorch 創始人、Meta 傑出工程師 Soumith Chintala 卻唱起了反調,並警告說,Transformer 如此流行,可能是一把雙刃劍。

連結: http://mp.weixin.qq.com/s/ZgdP3HFM4jZsWZfJvciQ3A

2. MAIProf:Meta 生產 PyTorch 模型的效能除錯工具

PyTorch 在生產環境中的效能調優越來越重要。一個功能強大的效能除錯工具是這個過程的關鍵。通過一個關於生產模型的案例研究,PyTorch 證明 MAIProf 是一個用於識別優化機會的強大 AI 效能除錯基礎架構。

在 Meta,從效能除錯新手到專家的 100 多名工程師使用 MAIProf 來識別更多型別的瓶頸。其中包括緩慢的資料載入、分散式訓練問題(例如負載不平衡和過度通訊)。MAIPprof 涵蓋了包括推薦、視覺和自然語言處理等主要類別模型。總之,它現在是生產 PyTorch 工作負載時除錯效能的不可或缺的工具。

連結: http://pytorch.org/blog/performance-debugging-of-production-pytorch-models-at-meta/?utm_source=organic_social&utm_medium=linkedin&utm_campaign=performance_debugging

3. 精度、耗時、視訊記憶體消耗、網路結構...一行程式碼深度解析訓練效能指標

正所謂“工欲善其事,必先利其器”, 一個能實時監控模型訓練指標、硬體效能消耗情況、視覺化網路結構和每層網路引數變化的工具可大幅縮減模型開發時間,推動人工智慧技術快速應用落地。

飛槳視覺化分析工具 VisualDL 以豐富的圖表及清晰的視覺化解析功能幫助開發者直觀地理解深度學習模型訓練過程中的各項資訊。

連結: http://mp.weixin.qq.com/s/Vi6erY48x8IUU1rQNw95Uw

4. 視訊教程|OneFlow 原始碼解析(2):OneFlow 的 4 種執行模式

OneFlow 的執行模式有 2 個維度,其一可從計算圖執行方式劃分,可分為靜態圖模式、動態圖模式;其二可從張量型別劃分,即單機單卡的 local tensor 模式,以及分散式訓練下的 global tensor 模式。這兩個維度可以組合得到 4 種執行實際情況。OneFlow 提供給使用者的介面又是儘量統一的。

本視訊將介紹 OneFlow 如何在執行時判斷應該使用哪種模式。如何做到使用者儘可能易用、無感於多種模式的差別,同時又能儘量發揮每種模式的特點。

連結: http://www.bilibili.com/video/BV17P411G76y/?spm_id_from=333.999.0.0&vd_source=25c3e9bdd8a5701b69d322f471c11c38

5. SIMT、SIMD 和 DSA(2)

SIMD 和 DSA 以及 SIMT 這些詞雖然經常放到一起說,但三者的指代比較混亂,很容易產生文字遊戲。有時指的是指令、有時候指的是體系結構、有時候又是指程式設計模型。同時在每個層面的 scope 也不是很清晰,於是就有了一定偷換概念的空間。SIMT 通常指代一種程式設計模型,而 SIMD 通常指代的指令,DSA 在某些場合指代指令,某些場合又指代架構。

連結: http://zhuanlan.zhihu.com/p/564623647

6. CuAssembler 開源 | 探求 NVIDIA GPU 極限效能的利器

CuAssembler 是個 CUDA SASS 彙編器,主要是把 nvdisasm 生成的反彙編輸出彙編成可載入執行的 cubin 檔案,實現對最終彙編機器碼的絕對控制,彌補當前 NV 沒有官方彙編器支援的不足。

連結: http://mp.weixin.qq.com/s/ousE3sYtDd7zhV-_AtvA7w

7. 用於大規模深度推薦模型的專用 GPU 推理引數伺服器

在大規模推薦系統中,Embedding 通常在資料中心消耗大量記憶體進行儲存。並且整個模型運算過程中,有大量時間花費在引數伺服器上搜索對應 Embedding 向量,這個步驟增加了整體 latency,拖慢了下游的計算。

基於在真實資料集中觀察到的方法,本文提出 Embedding 的 Key 往往具有很強區域性性,並且遵循冪律分佈。基於上述觀察作者提出了 HugeCTR 分層引數伺服器,他們將熱資料儲存在 GPU 視訊記憶體中,而其他部分則有引數伺服器進行補充,其儲存了完整的 Embedding 副本。

連結: http://zhuanlan.zhihu.com/p/568639935

8. CUDA 程式設計入門極簡教程

2006 年,NVIDIA 公司釋出了 CUDA,CUDA 是建立在 NVIDIA 的 CPUs 上的一個通用平行計算平臺和程式設計模型,基於 CUDA 程式設計可以利用 GPUs 的平行計算引擎來更加高效地解決比較複雜的計算難題。近年來,GPU 最成功的一個應用就是深度學習領域,基於 GPU 的平行計算已經成為訓練深度學習模型的標配。

連結: http://zhuanlan.zhihu.com/p/34587739

9. Jeff Dean:機器學習在硬體設計中的潛力

為什麼晶片設計需要很長時間?能不能加速晶片設計週期?能否在幾天或幾周之內完成晶片的設計?這是一個非常有野心的目標。

Google 在這個領域已率先出發。Google AI 負責人 Jeff Dean 分享了《機器學習在硬體設計中的潛力》,他介紹了神經網路發展的黃金十年,機器學習如何影響計算機硬體設計以及如何通過機器學習解決硬體設計中的難題,並展望了硬體設計的發展方向。

連結: http://mp.weixin.qq.com/s/_JmINzustpH1bEDMjz9WaA

10. AI 加速器與機器學習演算法:協同設計與進化

關注 AI 和半導體行業的朋友近來可能聽說過“機器學習(ML)專用處理器”(即 AI 加速器)。最常見的 AI 加速器莫過於 NVIDIA GPU,此外還有 Intel 的 Habana Gaudi 處理器、Graphcore 的 Bow IPU、Google 的 TPU、AWS 的 Trainium 和 Inferentia 晶片等。

為什麼如今有這麼多 AI 加速器可供選擇?它們和 CPU 有什麼不同?演算法如何改變才能適應這些硬體?硬體又該如何發展才能支援最新的演算法?本文將一一解答。

連結: http://mp.weixin.qq.com/s/8ObtUlKqfDfCbE__bWE1hQ

11. 免費用 Stable Diffusion“腦補”世界名畫畫框外世界

Stable Diffusion Infinity,是大火的 AI 繪圖新星 Stable Diffusion 的一項子功能。只需要一兩句話提示,Stable Diffusion 就可以畫出你想要的東西,而且和已有部分銜接自然,沒什麼違和感。

連結: http://mp.weixin.qq.com/s/rX5I6iJFgHeGShR2w5wxkw

12. 逆向工程:揭示 Google Colab 未公開的祕密

對於負責在 Jupyter Notebook 程式設計的資料科學家來說,Colab 早已成為了預設的執行環境。然而,將 Colab 的算力運用到除 Jupter Notebooks 以外的其他應用,則是一件極其困難的事。

出於這個原因,作者將探究 Google Colab 的內部結構,並嘗試稍微改變 Colab 的內建規則。需要提前宣告的是,作者只是想探究 Colab,不會對 Colab 本身或者它的使用者造成任何影響。

連結: http://mp.weixin.qq.com/s/OQOQ4Z0DVv_C0tsrRDJ7TQ

歡迎下載體驗 OneFlow v0.8.0 最新版本: http://github.com/Oneflow-Inc/oneflow/