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

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

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

3天內不再提示

實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

Tensorflowers ? 來源:工程師李察 ? 2019-01-26 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TensorFlow 是為了大規(guī)模分布式訓練和推理而設計的,不過它在支持新機器學習模型和系統(tǒng)級優(yōu)化的實驗中的表現(xiàn)也足夠靈活。

本文對能夠同時兼具規(guī)模性和靈活性的系統(tǒng)架構進行了闡述。設定的人群是已基本熟悉 TensorFlow 編程概念,例如 computation graph, operations, and sessions。有關這些主題的介紹,請參閱

https://tensorflow.google.cn/guide/low_level_intro?hl=zh-CN。如已熟悉Distributed TensorFlow,本文對您也很有幫助。行至文尾,您應該能了解 TensorFlow 架構,足以閱讀和修改核心 TensorFlow 代碼了。

概覽

TensorFlow runtime 是一個跨平臺庫。圖 1 說明了它的一般架構。 C API layer 將不同語言的用戶級代碼與核心運行時分開。

實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

圖 1

本文重點介紹以下幾個方面:

客戶端:

將整個計算過程轉義成一個數(shù)據(jù)流圖

通過 session,啟動圖形執(zhí)行

分布式主節(jié)點

基于用戶傳遞給 Session.run() 中的參數(shù)對整個完整的圖形進行修剪,提取其中特定子圖

將上述子圖劃分成不同片段,并將其對應不同的進程和設備當中

將上述劃分的片段分布到 worker services 工作節(jié)點服務上

每個 worker services 工作節(jié)點服務上執(zhí)行其收到的圖形片段

工作節(jié)點服務 Worker Services(每一任務一個)

使用內核實現(xiàn)來計劃圖形表示的計算部分分配給正確的可用硬件(如 cpu,gpu 等)

與其他工作節(jié)點服務 work services 相互發(fā)送和接收計算結果

內核實現(xiàn)

執(zhí)行單個圖形操作的計算部分

圖2 說明了這些組件的相互作用?!? job:worker / task:0” 和 “/ job:ps / task:0” 都是工作節(jié)點服務 worker services 上執(zhí)行的任務?!癙S” 表示“參數(shù)服務器”:負責存儲和更新模型參數(shù)。其他任務在迭代優(yōu)化參數(shù)時會對這些參數(shù)發(fā)送更新。如果在單機環(huán)境下,上述 PS 和 worker 不是必須的,不需要在任務之間進行這種特定的分工,但是對于分布式訓練,這種模式就是很常見的。

實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

圖 2

請注意,分布式主節(jié)點 Distributed Master 和工作節(jié)點服務 Worker Service 僅存在于分布式 TensorFlow 中。TensorFlow 的單進程版本包含一個特殊的 Session 實現(xiàn),它可以執(zhí)行分布式主服務器執(zhí)行的所有操作,但只與本地進程中的設備進行通信

下面,通過逐步處理示例圖來詳細介紹一下 TensorFlow 核心模塊。

客戶端

用戶在客戶端編寫 TensorFlow 程序來構建計算圖。該程序可以直接組成單獨的操作,也可以使用 Estimators API 之類的便利庫來組合神經(jīng)網(wǎng)絡層和其他更高級別的抽象概念。TensorFlow 支持多種客戶端語言,我們優(yōu)先考慮 Python 和 C ++,因為我們的內部用戶最熟悉這些語言。隨著功能的日趨完善,我們一般會將它們移植到 C ++,以便用戶可以從所有客戶端語言優(yōu)化訪問。盡管大多數(shù)訓練庫仍然只支持 Python,但 C ++ 確實能夠支持有效的推理。

客戶端創(chuàng)建會話,該會話將圖形定義作為tf.GraphDef 協(xié)議緩沖區(qū)發(fā)送到分布式主節(jié)點。當客戶端評估圖中的一個或多個節(jié)點時,評估會觸發(fā)對分布式主節(jié)點的調用以啟動計算。

在圖 3 中,客戶端構建了一個圖表,將權重(w)應用于特征向量(x),添加偏差項(b)并將結果保存在變量中。

實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

圖 3

代碼:

tf.Session

分布式主節(jié)點 Distributed master

分布式主節(jié)點:

基于客戶端指定的節(jié)點,從完整的圖形中截取所需的子圖

對圖表進一步進行劃分,使其可以將每個圖形片段映射到不同的執(zhí)行設備上

以及緩存這些劃分好的片段,以便在后續(xù)步驟中再次使用

由于主節(jié)點可以總攬步驟計算,因此它可以使用標準的優(yōu)化方法去做優(yōu)化,例如公共子表達式消除和常量的綁定。然后,對一組任務中優(yōu)化后的子圖或者片段執(zhí)行協(xié)調。

實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

圖4

圖 5 顯示了示例圖的可能分區(qū)。分布式主節(jié)點已對模型參數(shù)進行分組,以便將它們放在參數(shù)服務器上。

實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

圖5

在分區(qū)切割圖形邊緣的情況下,分布式主節(jié)點插入發(fā)送和接收節(jié)點以在分布式任務之間傳遞信息(圖 6)。

實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

圖 6

然后,分布式主節(jié)點將圖形片段傳送到分布式任務。

實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

圖 7

代碼:

MasterService API definition

Master interface

工作節(jié)點服務 Worker Service

在每個任務中,該部分負責:

處理來自 master 發(fā)來的請求

為包含本地子圖規(guī)劃所需要的內核執(zhí)行

協(xié)調與其他任務之間的直接信息交換

我們優(yōu)化了 Worker Service,以便其以較低的負載便能夠運行大型圖形。當前的版本可以執(zhí)行每秒上萬個子圖,這使得大量副本可以進行快速的,細粒度的訓練步驟。Worker service 將內核分派給本地設備并在可能的情況下并行執(zhí)行內核,例如通過使用多個 CPU 內核或者 GPU 流。

我們還特別針對每對源設備和目標設備類型的 Send 和 Recv 操作進行了專攻:

使用 cudaMemcpyAsync() 來進行本地 CPU 和 GPU 設備之間的重疊計算和數(shù)據(jù)傳輸

兩個本地 GPU 之間的傳輸使用對等 DMA,以避免通過主機 CPU 主內存進行高負載的復制

對于任務之間的傳輸,TensorFlow 使用多種協(xié)議,包括:

gRPC over TCP

融合以太網(wǎng)上的 RDMA

另外,我們還初步支持 NVIDIA 用于多 GPU 通信的 NCCL 庫

實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

圖8

代碼:

WorkerService API definition

Worker interface

Remote rendezvous (for Send and Recv implementations)

內核運行

該運行時包含了 200 多個標準操作,其中涉及了數(shù)學,數(shù)組,控制流和狀態(tài)管理等操作。每個操作都有對應各種設備優(yōu)化后的內核運行。其中許多操作內核都是通過使用 Eigen::Tensor 實現(xiàn)的,它使用 C ++ 模板為多核 CPU 和 GPU 生成高效的并行代碼;但是,我們可以自由地使用像 cuDNN 這樣的庫,就可以實現(xiàn)更高效的內核運行。我們還實現(xiàn)了 quantization 量化,可以在移動設備和高吞吐量數(shù)據(jù)中心應用等環(huán)境中實現(xiàn)更快的推理,并使用 gemmlowp 低精度矩陣庫來加速量化計算。

如果用戶發(fā)現(xiàn)很難去將子計算組合,或者說組合后發(fā)現(xiàn)效率很低,則用戶可以通過注冊額外的 C++ 編寫的內核來提供有效的運行。例如,我們建議為一些性能的關鍵操作注冊自己的融合內核,例如 ReLU 和 Sigmoid 激活函數(shù)及其對應的梯度等。XLA Compiler提供了一個實驗性質的自動內核融合實現(xiàn)。

代碼:

OpKernel?interface

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

    關注

    13

    文章

    4627

    瀏覽量

    89010
  • 架構
    +關注

    關注

    1

    文章

    531

    瀏覽量

    26381
  • tensorflow
    +關注

    關注

    13

    文章

    330

    瀏覽量

    61655

原文標題:實現(xiàn) TensorFlow 架構的規(guī)模性和靈活性

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    EtherCAT熱插拔技術:提升工業(yè)自動化系統(tǒng)靈活性的關鍵

    在工業(yè)自動化領域,系統(tǒng)靈活性和維護至關重要。本文將探討EtherCAT從站熱插拔技術,介紹其如何通過動態(tài)管理從站設備,提高系統(tǒng)的靈活性和維護。EtherCAT熱插拔技術EtherC
    的頭像 發(fā)表于 10-16 11:36 ?84次閱讀
    EtherCAT熱插拔技術:提升工業(yè)自動化系統(tǒng)<b class='flag-5'>靈活性</b>的關鍵

    AVR64EA微控制器:高性能與靈活性的完美結合

    Microchip Technology AVR64EA28/32/48 AVR? EA微控制器為AVR CPU配備了以高達20MHz的時鐘速度運行的硬件乘法器。AVR EA系列具有靈活且低功耗
    的頭像 發(fā)表于 10-10 11:32 ?175次閱讀
    AVR64EA微控制器:高性能與<b class='flag-5'>靈活性</b>的完美結合

    TensorRT-LLM的大規(guī)模專家并行架構設計

    之前文章已介紹引入大規(guī)模 EP 的初衷,本篇將繼續(xù)深入介紹 TensorRT-LLM 的大規(guī)模專家并行架構設計與創(chuàng)新實現(xiàn)。
    的頭像 發(fā)表于 09-23 14:42 ?370次閱讀
    TensorRT-LLM的大<b class='flag-5'>規(guī)模</b>專家并行<b class='flag-5'>架構</b>設計

    利用事務級加速實現(xiàn)高速、高質量的RISC-V驗證

    引言RISC-V架構以其開放和高度可定制的特性,正在重塑處理器設計格局。然而,這種靈活性也帶來了顯著的驗證挑戰(zhàn),使其驗證復雜度遠超傳統(tǒng)固定架構處理器。RISC-V的驗證難點主要體現(xiàn)在
    的頭像 發(fā)表于 09-18 10:08 ?1505次閱讀
    利用事務級加速<b class='flag-5'>實現(xiàn)</b>高速、高質量的RISC-V驗證

    動力電池組半自動生產(chǎn)線:效率與靈活性的平衡之道

    、一致差,而全自動化生產(chǎn)線雖能提升產(chǎn)能,卻面臨設備成本高、柔性不足的難題。在此背景下,半自動生產(chǎn)線憑借其“人機協(xié)同”的獨特優(yōu)勢,成為行業(yè)兼顧效率與靈活性的重要選擇。 半自動生產(chǎn)線的核心邏輯:以人補機,以機
    的頭像 發(fā)表于 09-16 10:05 ?257次閱讀

    恩智浦區(qū)域控制開發(fā)驗證平臺的功能

    隨著整車電子電氣架構的升級,Zonal區(qū)域控制架構已經(jīng)成為新的“風口”。區(qū)域控制架構采用集中控制和計算的方式,按照邊緣功能節(jié)點在車輛中的區(qū)域位置進行分區(qū)管理,能夠大大簡化車輛內部布線的復雜
    的頭像 發(fā)表于 08-26 16:39 ?910次閱讀

    將M.2 SSD轉為可插拔設計:提升工作站靈活性與維護效率的解決方案

    在日常工作站PC電腦使用中,內置的M.2SSD雖然具備高速傳輸和節(jié)省空間的優(yōu)勢,但在頻繁維護、更換或數(shù)據(jù)交換時,拆裝過程較為繁瑣。將M.2SSD轉換為外置可插拔的形式,不僅大幅提升了操作靈活性,也有
    的頭像 發(fā)表于 05-09 17:10 ?982次閱讀
    將M.2 SSD轉為可插拔設計:提升工作站<b class='flag-5'>靈活性</b>與維護效率的解決方案

    磁性近程傳感器保證非接觸式定位和近程檢測的靈活性和可靠

    保證非接觸式定位? 和近程檢測的 靈活性和可靠 ? 磁性近程傳感器為多種應用中的非接觸式定位和近程檢測提供了可靠而靈活的可選方案。這類傳感器能夠通過多種非磁性表面可靠地檢測磁場。磁性近程傳感器
    的頭像 發(fā)表于 03-17 11:53 ?899次閱讀
    磁性近程傳感器保證非接觸式定位和近程檢測的<b class='flag-5'>靈活性</b>和可靠<b class='flag-5'>性</b>

    FPGA+AI王炸組合如何重塑未來世界:看看DeepSeek東方神秘力量如何預測......

    功能模塊,如AI引擎、可變精度DSP。 ? 靈活性:FPGA可以在系統(tǒng)運行中重新編程,實現(xiàn)功能的動態(tài)重構。 ? 低功耗:與ASIC相比,F(xiàn)PGA在功耗方面具有優(yōu)勢,尤其是在處理低延遲任務時。 二
    發(fā)表于 03-03 11:21

    Arm發(fā)布基于Armv9架構的Cortex-A320處理器

    邊緣 AI 需要更卓越的計算性能、更強大的安全,以及更出色的軟件靈活性。隨著軟件愈發(fā)復雜化,Armv9 架構應運而生,以提供先進的機器學習 (ML) 和 AI 功能,并具備增強的安全特性。該
    的頭像 發(fā)表于 02-27 17:10 ?1004次閱讀

    使用額定電流為 75 A 的 D-sub 連接器可保持電源的完整靈活性

    方面尤其如此。設計人員需要的大功率連接器不僅能保持大功率完整,還能在位置數(shù)量、觸點配置和端接方面具有靈活性。 D-sub 連接器可能是電子產(chǎn)品中最常用的多針連接器,可滿足電源系統(tǒng)的許多要求。這種連接器具有各種配置,可適合數(shù)以千計的應用。隨著功率
    的頭像 發(fā)表于 01-25 15:41 ?772次閱讀
    使用額定電流為 75 A 的 D-sub 連接器可保持電源的完整<b class='flag-5'>性</b>和<b class='flag-5'>靈活性</b>

    一文詳解Arm架構Armv9.6-A中的最新功能

    計算的需求,包括 AI 的興起、機器學習 (ML) 和芯粒 (chiplet) 技術的使用,以及應對高級安全威脅。持續(xù)創(chuàng)新確保了 Arm 架構的普及、普適性能、出色能效、安全和開發(fā)者靈活性
    的頭像 發(fā)表于 12-17 10:22 ?4244次閱讀
    一文詳解Arm<b class='flag-5'>架構</b>Armv9.6-A中的最新功能

    基于risc-v架構的芯片與linux系統(tǒng)兼容討論

    Linux作為世界上最廣泛使用的一個操作系統(tǒng)之一,以其靈活性高、社區(qū)支持龐大以及安全和穩(wěn)定性著稱。Linux能夠完美地運行幾乎所有現(xiàn)有的軟件包,同時也能夠被高度定制以適應特殊需求。此外,Linux擁有
    發(fā)表于 11-30 17:20

    卷積神經(jīng)網(wǎng)絡的實現(xiàn)工具與框架

    TensorFlow是由Google Brain團隊開發(fā)的開源機器學習框架,它支持多種深度學習模型的構建和訓練,包括卷積神經(jīng)網(wǎng)絡。TensorFlow以其靈活性和可擴展性而聞名,適用于研究和生產(chǎn)環(huán)境。 特點:
    的頭像 發(fā)表于 11-15 15:20 ?933次閱讀

    面對快速迭代的技術,怎能忽視設備升級的高效與靈活性?

    競爭的商業(yè)環(huán)境中,技術的飛速迭代和業(yè)務需求的持續(xù)變化,現(xiàn)場部署的效率與靈活性已成為衡量項目成功與否的關鍵因素之一。企業(yè)為了搶占市場先機,必須迅速完成新設備的部署與舊
    的頭像 發(fā)表于 11-05 08:03 ?803次閱讀
    面對快速迭代的技術,怎能忽視設備升級的高效與<b class='flag-5'>靈活性</b>?