chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

了解SOK的原理

星星科技指導員 ? 來源:NVIDIA ? 作者:Kunlun Lee ? 2022-08-15 15:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在上期文章中,我們對 HugeCTR Sparse Operation Kit (以下簡稱SOK) 的基本功能,性能,以及 API 用法做了初步的介紹,相信大家對如何使用 SOK 已經(jīng)有了基本的了解。在這期文章中,我們將從在 TensorFlow 上使用 SOK 時常見的“數(shù)據(jù)并行-模型并行-數(shù)據(jù)并行”流程入手,帶大家詳細了解 SOK 的原理。

poYBAGL59JiARZz4AACrm9j_bTw807.png

圖 1:SOK 訓練的數(shù)據(jù)并行-模型并行-數(shù)據(jù)并行流程

1. Input Dispatcher

Input Dispatcher 的職責是將數(shù)據(jù)以并行的形式的輸入,分配到各個 GPU 上。總共分為以下幾個步驟:

第一步:對每個 GPU 接收到的數(shù)據(jù)并行的 category key,按照 key 求余 GPU 的數(shù)量計算出其對應的 GPU ID,并分成和 GPU 數(shù)量相同的組;同時計算出每組內(nèi)有多少 key。例如圖 2 中,GPU 的總數(shù)為 2,GPU 0 獲取的輸入為[0, 1, 2, 3],根據(jù)前面所講的規(guī)則,它將會被分成[0, 2], [1, 3]兩組。注意,在這一步,我們還會為每個分組產(chǎn)生一個 order 信息,用于 output dispacher 的重排序。

第二步:通過 NCCL 交換各個 GPU 上每組 key 的數(shù)量。由于每個 GPU 獲取的輸入,按照 key 求余 GPU 數(shù)量不一定能夠均分,如圖 3 所示,提前在各個 GPU 上交換 key 的總數(shù),可以在后面交換 key 的時候減少通信量。

pYYBAGL59J-ANIPxAABP8FWKNo8475.png

第三步:使用 NCCL,在各個 GPU 間按照 GPU ID 交換前面分好的各組 key,如圖 4 所示。

poYBAGL59KWAChITAADEtKC5X1Q738.png

圖 4:GPU 間交換 Input key

Step4:對交換后的所有 key 除以 GPU 總數(shù),這一步是為了讓每個 GPU 上的 key的數(shù)值范圍都小于 embedding table size 整除 GPU 的數(shù)量,保證后續(xù)在每個 worker 上執(zhí)行 lookup 時不會越界,結果如圖 5 所示。

總而言之,經(jīng)過上面 4 個步驟,我們將數(shù)據(jù)并行地輸入,按照其求余 GPU 數(shù)量的結果,分配到了不同對應的 GPU 上,完成了 input key 從數(shù)據(jù)并行到模型并行的轉化。雖然用戶往每個 GPU 上輸入的都可以是 embedding table 里的任何一個 key,但是經(jīng)過上述的轉化過程后,每個 GPU 上則只需要處理 embedding table 里 1/GPU_NUMBER 的 lookup。

pYYBAGL59KyAZ2_9AABYzcg3JBk527.png

圖 5:整除 input key

2. Lookup

Lookup 的功能比較簡單,和單機的 lookup 的行為相同,就是用 input dispatcher 輸出的 key,在本地的 embedding table 里查詢出對應的 embedding vector,我們同樣用一個簡單的圖來舉例。注意下圖中 Global Index 代表每個 embedding vector 在實際的 embedding table 中對應的 key,而 Index 則是當前 GPU 的“部分”embedding table 中的 key。

poYBAGL59LKAPnZrAADtkpy9jkU142.png

圖 6:使用 Embedding Table 進行 Lookup

3. Output Dispatcher

和 input dispatcher 的功能對應,output dispatcher 是將 embedding vector 按照和 input dispatcher 相同的路徑、相反的方向?qū)?embedding vector 返回給各個 GPU,讓模型并行的 lookup 結果重新變成數(shù)據(jù)并行。

第一步:復用 input dispatcher 中的分組信息,將 embedding vector 進行分組,如圖 7 所示。

pYYBAGL59LuAWMvcAADkv5anG2M175.png

圖 7:Embedding vector 的分組

第二步:通過 NCCL 將 embedding vector 按 input dispatcher 的路徑返還,如圖 8 所示。

poYBAGL59NuAervyAADkv5anG2M680.png

圖 8:Embedding vector 的返還

第三步:復用 input dispatcher 第一步驟的結果,將 embedding vector 進行重排序,讓其和輸入的 key 順序保持一致,如圖 9 所示。

poYBAGL59NCAaZ8HAADMql64990015.png

圖 9:Embedding vector 的重排序

可以看到, GPU 0 上輸入的[0, 1, 3, 5],最終被轉化為了[0.0, …], [0.1, …], [0.3, …], [0.5, …] 四個 embedding vector,雖然其中有 3 個 embedding vector 被存儲在 GPU 1 上,但是以一種對用戶透明的方式,在 GPU 0 上拿到了對應的 vector。在用戶看來,就好像整個 embedding table 都存在 GPU 0 上一樣。

4. Backward

在 backward 中,每個 GPU 會得到和 input 的 key 所對應的梯度,也就是數(shù)據(jù)并行的梯度。此時的梯度對應的 embedding vector 可能并不在當前 GPU 上,所以還需要做一步梯度的交換。這個步驟和 output dispatcher 的第三步驟中的工作流程的路徑完全相同,只是方向相反。 仍然以前面的例子舉例,GPU 0 獲取了 key [0, 1, 3, 5]的梯度,我們把它們分別叫做 grad0, grad1, grad3, grad5;由于 grad1,grad3,grad5 對應的 embedding vector 在 GPU 1 上,所以我們把它們和 GPU 1 上的 grad4, grad6 進行交換,最終在得到了 GPU 0 上的梯度為[grad0, grad4, grad6],GPU 1 上的梯度為[grad1, grad3, grad5, grad5, gard7]。

結語

以上就是 SOK 將數(shù)據(jù)并行轉化為模型并行再轉回數(shù)據(jù)并行的過程,這整個流程都被封裝在了 SOK 的 Embedding Layer 中,用戶可以直接調(diào)用相關的 Python API 即可輕松完成訓練。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    5035

    瀏覽量

    133738
  • API
    API
    +關注

    關注

    2

    文章

    1932

    瀏覽量

    65542
  • python
    +關注

    關注

    56

    文章

    4848

    瀏覽量

    88953
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    峰均比:你了解多少?

    定義:峰均比是一種對波形的測量參數(shù),等于波形的振幅除以有效值(RMS)所得到的一個比值。對這個定義還有一種理解:峰值的功率和平均功率之比。這里先了解峰值功率:很多信號從
    的頭像 發(fā)表于 07-02 17:32 ?1498次閱讀
    峰均比:你<b class='flag-5'>了解</b>多少?

    【HZ-RK3568開發(fā)板免費體驗】--開發(fā)板了解與初探

    感謝合眾恒躍與發(fā)燒友論壇提供的開發(fā)板與平臺,收到實物如下 下面來了解下開發(fā)板 開發(fā)板由底板和核心板組成,核心板基于瑞芯微RK3568J處理器設計,支持圖像H.264編解碼處理,內(nèi)置3D GPU可圖像
    發(fā)表于 06-28 23:42

    一文了解電壓諧波

    我們經(jīng)常會聽到諧波,到底什么是諧波,怎么定義的?為什么要關注諧波?什么時候關注諧波?諧波如何計算或標準規(guī)定的諧波的算法是怎樣的?GB關于電壓諧波又是如何評估的?帶著諸多的問題,我們一起來了解。
    的頭像 發(fā)表于 06-28 17:23 ?3310次閱讀
    一文<b class='flag-5'>了解</b>電壓諧波

    科普|關于GPS和GNSS,你了解多少?

    定位(Positioning)為萬物互聯(lián)提供了最基礎信息;當今以GPS、GLONASS、Galileo和Beidou為代表的全球定位系統(tǒng)為人們帶來了極大便利;而對于它們你是不是真正的了解,回答完以下
    的頭像 發(fā)表于 06-28 07:06 ?1120次閱讀
    科普|關于GPS和GNSS,你<b class='flag-5'>了解</b>多少?

    充電接口你真的了解嗎?

    不同的類型嗎?今天,我們就來詳細了解一下USB接口的三大類型:Type-A、Type-B和Type-C。 Type-A:最常見的“USB口” 外觀特征:扁平的矩形接口,通常用于電腦、電視等設備。 常見
    的頭像 發(fā)表于 05-18 17:39 ?2362次閱讀

    簡單了解I2C接口

    在電子電路的復雜世界里,各種電路模塊設備需要相互通信才能協(xié)同工作 ,I2C接口就像是電路模塊設備間的溝通橋梁,今天就帶大家深入了解它。
    的頭像 發(fā)表于 05-08 14:15 ?1611次閱讀
    簡單<b class='flag-5'>了解</b>I2C接口

    采購GUTOR UPS備品備件,隱藏的“雷區(qū)” 你了解嗎?

    在GUTOR UPS備品備件采購之路上,困難重重,選型、渠道甄別、成本把控、安裝部署、售后保障,樁樁件件都是棘手難題。隱藏的“雷區(qū)” 你了解嗎?
    發(fā)表于 03-21 16:08

    了解無功補償?shù)母拍?/a>

    關注“acrelzx”微信號,了解更多產(chǎn)品資訊,可咨詢相關案例 (具體咨詢安科瑞187021張欣11310) 無功補償,是一種在電力供電系統(tǒng)中起提高電網(wǎng)的功率因數(shù)的作用,降低供電變壓器及輸送線
    的頭像 發(fā)表于 11-15 09:08 ?971次閱讀
    <b class='flag-5'>了解</b>無功補償?shù)母拍? />    </a>
</div>                              <div   id=

    深度了解SiC的晶體結構

    SiC是由硅(Si)和碳(C)按1:1的化學計量比組成的晶體,因其內(nèi)部結構堆積順序的不同,形成不同的SiC多型體,本篇章帶你了解SiC的晶體結構及其可能存在的晶體缺陷。
    的頭像 發(fā)表于 11-14 14:57 ?4953次閱讀
    深度<b class='flag-5'>了解</b>SiC的晶體結構

    深度了解SiC材料的物理特性

    與Si材料相比,SiC半導體材料在物理特性上優(yōu)勢明顯,比如擊穿電場強度高、耐高溫、熱傳導性好等,使其適合于制造高耐壓、低損耗功率器件。本篇章帶你詳細了解SiC材料的物理特性。
    的頭像 發(fā)表于 11-14 14:55 ?2911次閱讀
    深度<b class='flag-5'>了解</b>SiC材料的物理特性

    閱讀并了解ESD保護數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《閱讀并了解ESD保護數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 11-08 16:28 ?0次下載
    閱讀并<b class='flag-5'>了解</b>ESD保護數(shù)據(jù)表

    簡單了解華盛昌氣體檢測儀

    氣體檢測儀可以實時監(jiān)測空氣中的有害氣體,以便及時發(fā)現(xiàn)泄漏的氣體,不僅能幫人們了解空氣污染、火災隱患等問題,采取相應措施來避免這些問題發(fā)生,還在工業(yè)生產(chǎn)中得到了廣泛應用。因為這種設備可以準確地測定出氣
    的頭像 發(fā)表于 11-04 13:59 ?815次閱讀
    簡單<b class='flag-5'>了解</b>華盛昌氣體檢測儀

    了解超聲AFE設備的CW模式

    電子發(fā)燒友網(wǎng)站提供《了解超聲AFE設備的CW模式.pdf》資料免費下載
    發(fā)表于 10-25 09:23 ?0次下載
    <b class='flag-5'>了解</b>超聲AFE設備的CW模式

    了解MSP430閃存數(shù)據(jù)保留

    電子發(fā)燒友網(wǎng)站提供《了解MSP430閃存數(shù)據(jù)保留.pdf》資料免費下載
    發(fā)表于 10-21 09:34 ?0次下載
    <b class='flag-5'>了解</b>MSP430閃存數(shù)據(jù)保留

    使用UCC2897A了解和設計有源箝位電流模式控制轉換器

    電子發(fā)燒友網(wǎng)站提供《使用UCC2897A了解和設計有源箝位電流模式控制轉換器.pdf》資料免費下載
    發(fā)表于 10-17 11:20 ?5次下載
    使用UCC2897A<b class='flag-5'>了解</b>和設計有源箝位電流模式控制轉換器