99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

DeepMind又放福利:開源了一個(gè)內(nèi)部的分布式機(jī)器學(xué)習(xí)庫TF-Replicator

DPVg_AI_era ? 來源:lp ? 2019-03-10 09:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天,DeepMind又放福利:開源了一個(gè)內(nèi)部的分布式機(jī)器學(xué)習(xí)TF-Replicator,可以幫助研究人員將TensorFlow模型輕松部署到GPU、TPU,并實(shí)現(xiàn)不同類型加速器之間的無縫切換。

最近AI領(lǐng)域的突破,從AlphaFold到BigGAN再到AlphaStar,一個(gè)反復(fù)出現(xiàn)的主題是,對方便、可靠的可擴(kuò)展性的需求。

研究人員已經(jīng)能夠獲取越來越多計(jì)算能力,得以訓(xùn)練更大的神經(jīng)網(wǎng)絡(luò),然而,將模型擴(kuò)展到多個(gè)設(shè)備并不是一件容易的事情。

今天,DeepMind又將其內(nèi)部一個(gè)秘密武器公之于眾——TF-Replicator,一個(gè)可以幫助研究人員將他們的TensorFlow模型輕松部署到GPU、Cloud TPU的分布式機(jī)器學(xué)習(xí)框架,即使他們之前完全沒有使用分布式系統(tǒng)的經(jīng)驗(yàn)。

TF-Replicator由DeepMind的研究平臺團(tuán)隊(duì)開發(fā),初衷是為DeepMind的研究人員提供一個(gè)簡單的接入TPU的API,現(xiàn)在,TF-Replicator已經(jīng)是DeepMind內(nèi)部最廣泛使用的TPU編程接口

TF-Replicator允許研究人員針對機(jī)器學(xué)習(xí)定位不同的硬件加速器進(jìn)行,將工作負(fù)載擴(kuò)展到許多設(shè)備,并在不同類型的加速器之間無縫切換。

雖然它最初是作為TensorFlow上面的一個(gè)庫開發(fā)的,但目前TF-Replicator的API已經(jīng)集成到TensorFlow 2.0新的tf.distribute.Strategy中,作為 tf.distribute.Strategy的一部分開源:

https://www.tensorflow.org/alpha/guide/distribute_strategy

團(tuán)隊(duì)還公開了相關(guān)論文:TF-Replicator: Distributed Machine Learning for Researchers,全面描述了這個(gè)新框架的技術(shù)細(xì)節(jié)。

https://arxiv.org/abs/1902.00465

接下來,我們將介紹TF-Replicator背后的想法和技術(shù)挑戰(zhàn)。

構(gòu)建一個(gè)分布式機(jī)器學(xué)習(xí)庫

雖然TensorFlow為CPU、GPU和TPU設(shè)備都提供了直接支持,但是在目標(biāo)之間切換需要用戶付出大量的努力。這通常涉及為特定的硬件目標(biāo)專門編寫代碼,將研究想法限制在該平臺的功能上。

一些構(gòu)建在TensorFlow之上的現(xiàn)有框架,例如Estimators,已經(jīng)試圖解決這個(gè)問題。然而,它們通常針對生產(chǎn)用例,缺乏快速迭代研究思路所需的表達(dá)性和靈活性。

我們開發(fā)TF-Replicator的初衷是為DeepMind的研究人員提供一個(gè)使用TPU的簡單API。TPU為機(jī)器學(xué)習(xí)工作負(fù)載提供了可擴(kuò)展性,實(shí)現(xiàn)了許多研究突破,例如使用我們的BigGAN模型實(shí)現(xiàn)了最先進(jìn)的圖像合成。

TensorFlow針對TPU的原生API與針對GPU的方式不同,這造成了使用TPU的障礙。TF-Replicator提供了一個(gè)更簡單、更用戶友好的API,隱藏了TensorFlow的TPU API的復(fù)雜性。此外,研究平臺團(tuán)隊(duì)與不同機(jī)器學(xué)習(xí)領(lǐng)域的研究人員密切合作,開發(fā)了TF-Replicator API,以確保必要的靈活性和易用性。

TF-Replicator API

使用TF-Replicator編寫的代碼與使用TensorFlow中為單個(gè)設(shè)備編寫的代碼類似,允許用戶自由定義自己的模型運(yùn)行循環(huán)。用戶只需要定義(1)一個(gè)公開數(shù)據(jù)集的輸入函數(shù),以及(2)一個(gè)定義其模型邏輯的step函數(shù)(例如,梯度下降的單個(gè)step):

# Deploying a model with TpuReplicator.repl = tf_replicator.TpuReplicator( num_workers=1, num_tpu_cores_per_worker=8)with repl.context(): model = resnet_model() base_optimizer = tf.train.AdamOptimizer() optimizer = repl.wrap_optimizer(base_optimizer)# ... code to define replica input_fn and step_fn.per_replica_loss = repl.run(step_fn, input_fn)train_op = tf.reduce_mean(per_replica_loss)with tf.train.MonitoredSession() as session: repl.init(session) for i in xrange(num_train_steps): session.run(train_op) repl.shutdown(session)

將計(jì)算擴(kuò)展到多個(gè)設(shè)備需要設(shè)備之間進(jìn)行通信。在訓(xùn)練機(jī)器學(xué)習(xí)模型的背景下,最常見的通信形式是累積梯度(accumulate gradients)以用于優(yōu)化算法,如隨機(jī)梯度下降。

因此,我們提供了一種方便的方法來封裝TensorFlow Optimizers,以便在更新模型參數(shù)之前在設(shè)備之間累積梯度。對于更一般的通信模式,我們提供了類似于MPI的原語,如“all_reduce”和“broadcast”。這些使得實(shí)現(xiàn)諸如全局批標(biāo)準(zhǔn)化之類的操作變得非常簡單,這是擴(kuò)展BigGAN模型訓(xùn)練的關(guān)鍵技術(shù)。

輸入數(shù)據(jù)從主機(jī)發(fā)送到各個(gè)GPU, GPU立即開始處理。當(dāng)需要在GPU之間交換信息時(shí),它們會(huì)在發(fā)送數(shù)據(jù)之前進(jìn)行同步。

實(shí)現(xiàn)

對于多GPU計(jì)算,TF-Replicator依賴于“圖內(nèi)復(fù)制”(“in-graph replication)模式,其中每個(gè)設(shè)備的計(jì)算在同一個(gè)TensorFlow graph中復(fù)制。設(shè)備之間的通信是通過連接設(shè)備對應(yīng)子圖中的節(jié)點(diǎn)來實(shí)現(xiàn)的。在TF-Replicator中實(shí)現(xiàn)這一點(diǎn)很具挑戰(zhàn)性,因?yàn)樵赥ensorFlow graph中的任何位置都可能發(fā)生通信。因此,構(gòu)造計(jì)算的順序至關(guān)重要。

我們的第一個(gè)想法是在一個(gè)單獨(dú)的Python線程中同時(shí)構(gòu)建每個(gè)設(shè)備的子圖。當(dāng)遇到通信原語時(shí),線程同步,主線程插入所需的跨設(shè)備計(jì)算。之后,每個(gè)線程將繼續(xù)構(gòu)建其設(shè)備的計(jì)算。

然而,在我們考慮這種方法時(shí),TensorFlow的圖形構(gòu)建API不是線程安全的,這使得在不同線程中同時(shí)構(gòu)建子圖非常困難。相反,我們使用圖形重寫(graph rewriting)在所有設(shè)備的子圖構(gòu)建完成后插入通信。在構(gòu)造子圖時(shí),占位符被插入到需要通信的位置。然后,我們跨設(shè)備收集所有匹配占位符,并用適當(dāng)?shù)目缭O(shè)備計(jì)算替換它們。

當(dāng)TF-Replicator構(gòu)建一個(gè)in-graph replicated計(jì)算時(shí),它首先獨(dú)立地為每個(gè)設(shè)備構(gòu)建計(jì)算,并將占位符留給用戶指定的跨設(shè)備計(jì)算。構(gòu)建好所有設(shè)備的子圖之后,TF-Replicator通過用實(shí)際的跨設(shè)備計(jì)算替換占位符來連接它們。

為AI研究構(gòu)建一個(gè)平臺

通過在TF-Replicator的設(shè)計(jì)和實(shí)現(xiàn)過程中與研究人員密切合作,我們最終構(gòu)建一個(gè)庫,讓用戶能夠輕松地跨多個(gè)硬件加速器進(jìn)行大規(guī)模計(jì)算,同時(shí)讓他們擁有進(jìn)行前沿AI研究所需的控制和靈活性。

例如,在與研究人員討論之后,我們添加了MPI風(fēng)格的通信原語,如all-reduce。TF-Replicator和其他共享基礎(chǔ)架構(gòu)使我們能夠在穩(wěn)健的基礎(chǔ)上構(gòu)建越來越復(fù)雜的實(shí)驗(yàn),并在整個(gè)DeepMind快速傳播最佳實(shí)踐。

在撰寫本文時(shí),TF-Replicator已經(jīng)成為DeepMind應(yīng)用最廣泛的TPU編程接口。雖然這個(gè)庫本身并不局限于訓(xùn)練神經(jīng)網(wǎng)絡(luò),但它最常用來訓(xùn)練大量數(shù)據(jù)。例如,BigGAN模型是在一個(gè)512核的TPUv3 pod訓(xùn)練的,batch size為2048。

在采用分布式actor-learner設(shè)置的增強(qiáng)學(xué)習(xí)智能體中,例如我們的重要性加權(quán)actor-learner架構(gòu),可擴(kuò)展性是通過讓許多actor通過與環(huán)境的交互生成新的體驗(yàn)來實(shí)現(xiàn)的。然后,learner對這些數(shù)據(jù)進(jìn)行處理,以改進(jìn)agent的策略,表示為一個(gè)神經(jīng)網(wǎng)絡(luò)。為了應(yīng)對越來越多的actor,TF-Replicator可以很輕松地將learner分布在多個(gè)硬件加速器上。

這些以及更多例子在我們的arXiv論文中有更詳細(xì)的描述。

Blog:

https://deepmind.com/blog/tf-replicator-distributed-machine-learning/

Paper:

https://arxiv.org/abs/1902.00465

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

原文標(biāo)題:你的模型可以輕松使用TPU了!DeepMind 開源分布式機(jī)器學(xué)習(xí)庫TF-Replicator

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Ceph分布式存儲(chǔ)系統(tǒng)解析

    在當(dāng)今數(shù)據(jù)爆炸的時(shí)代,企業(yè)對存儲(chǔ)系統(tǒng)的需求日益增長,傳統(tǒng)的集中式存儲(chǔ)已經(jīng)無法滿足大規(guī)模數(shù)據(jù)處理的要求。分布式存儲(chǔ)系統(tǒng)應(yīng)運(yùn)而生,而Ceph作為開源分布式存儲(chǔ)系統(tǒng)的佼佼者,以其高可用性、高擴(kuò)展性和統(tǒng)
    的頭像 發(fā)表于 07-14 11:15 ?178次閱讀

    分布式存儲(chǔ)數(shù)據(jù)恢復(fù)—虛擬機(jī)上hbase和hive數(shù)據(jù)數(shù)據(jù)恢復(fù)案例

    分布式存儲(chǔ)數(shù)據(jù)恢復(fù)環(huán)境: 16臺某品牌R730xd服務(wù)器節(jié)點(diǎn),每臺服務(wù)器節(jié)點(diǎn)上有數(shù)臺虛擬機(jī)。 虛擬機(jī)上部署Hbase和Hive數(shù)據(jù)。 分布式存儲(chǔ)故障: 數(shù)據(jù)底層文件被誤
    的頭像 發(fā)表于 04-17 11:05 ?223次閱讀

    使用VirtualLab Fusion中分布式計(jì)算的AR波導(dǎo)測試圖像模擬

    總計(jì)算時(shí)間超過31小時(shí)。通過使用個(gè)由8個(gè)多核PC組成的網(wǎng)絡(luò),提供35個(gè)客戶端分布式計(jì)算,將模擬時(shí)間減少到1小時(shí)5分鐘。基本模擬任務(wù)基本任務(wù)
    發(fā)表于 04-10 08:48

    鐵塔基站分布式儲(chǔ)能揭秘!

    的正常運(yùn)轉(zhuǎn)。為了解決這些問題,安科瑞推出了基站鐵塔分布式儲(chǔ)能解決方案,為基站的穩(wěn)定供電提供可靠的保障。 、什么是基站鐵塔分布式儲(chǔ)能? 基站鐵塔
    的頭像 發(fā)表于 02-12 16:42 ?764次閱讀
    鐵塔基站<b class='flag-5'>分布式</b>儲(chǔ)能揭秘!

    分布式云化數(shù)據(jù)有哪些類型

    分布式云化數(shù)據(jù)有哪些類型?分布式云化數(shù)據(jù)主要類型包括:關(guān)系型分布式數(shù)據(jù)庫、非關(guān)系型分布式數(shù)據(jù)庫
    的頭像 發(fā)表于 01-15 09:43 ?487次閱讀

    基于ptp的分布式系統(tǒng)設(shè)計(jì)

    在現(xiàn)代分布式系統(tǒng)中,精確的時(shí)間同步對于確保數(shù)據(jù)致性、系統(tǒng)穩(wěn)定性和性能至關(guān)重要。PTP(Precision Time Protocol)是種網(wǎng)絡(luò)協(xié)議,用于在分布式系統(tǒng)中實(shí)現(xiàn)高精度的時(shí)
    的頭像 發(fā)表于 12-29 10:09 ?569次閱讀

    HarmonyOS Next 應(yīng)用元服務(wù)開發(fā)-分布式數(shù)據(jù)對象遷移數(shù)據(jù)權(quán)限與基礎(chǔ)數(shù)據(jù)

    提供async版本供該場景使用。 當(dāng)前,wantParams中“sessionId”字段在遷移流程中被系統(tǒng)占用,建議開發(fā)者在wantParams中定義其他key值存儲(chǔ)該分布式數(shù)據(jù)對象生成的id,避免
    發(fā)表于 12-24 09:40

    PingCAP推出TiDB開源分布式數(shù)據(jù)庫

    的性能表現(xiàn)。我們將繼續(xù)堅(jiān)持開源的創(chuàng)新理念,將TiDB打造成個(gè)領(lǐng)先的數(shù)據(jù)產(chǎn)品?!?部署新分布式數(shù)據(jù)
    的頭像 發(fā)表于 11-24 11:26 ?977次閱讀
    PingCAP推出TiDB<b class='flag-5'>開源</b><b class='flag-5'>分布式數(shù)據(jù)庫</b>

    分布式通信的原理和實(shí)現(xiàn)高效分布式通信背后的技術(shù)NVLink的演進(jìn)

    大型模型的大小已經(jīng)超出了單個(gè) GPU 的范圍。所以就需要實(shí)現(xiàn)跨多個(gè) GPU 的模型訓(xùn)練,這種訓(xùn)練方式就涉及到了分布式通信和 NVLink。 當(dāng)談及分布式通信和 NVLink 時(shí),我們進(jìn)入了個(gè)
    的頭像 發(fā)表于 11-18 09:39 ?1301次閱讀
    <b class='flag-5'>分布式</b>通信的原理和實(shí)現(xiàn)高效<b class='flag-5'>分布式</b>通信背后的技術(shù)NVLink的演進(jìn)

    分布式光纖測溫解決方案

    分布式光纖測溫解決方案
    的頭像 發(fā)表于 11-12 01:02 ?568次閱讀
    <b class='flag-5'>分布式</b>光纖測溫解決方案

    分布式光纖測溫是什么?應(yīng)用領(lǐng)域是?

    分布式光纖測溫是種先進(jìn)的溫度測量技術(shù),它利用光纖的拉曼散射原理進(jìn)行溫度監(jiān)測。以下是對分布式光纖測溫的詳細(xì)介紹: 、基本原理 分布式光纖測
    的頭像 發(fā)表于 10-24 15:30 ?1264次閱讀
    <b class='flag-5'>分布式</b>光纖測溫是什么?應(yīng)用領(lǐng)域是?

    分布式光纖聲波傳感技術(shù)的工作原理

    分布式光纖聲波傳感技術(shù)(Distributed Acoustic Sensing,DAS)是種利用光纖作為傳感元件,實(shí)現(xiàn)對沿光纖路徑上的環(huán)境參數(shù)進(jìn)行連續(xù)分布式測量的技術(shù)。
    的頭像 發(fā)表于 10-18 14:50 ?2950次閱讀
    <b class='flag-5'>分布式</b>光纖聲波傳感技術(shù)的工作原理

    分布式輸電線路故障定位中的分布式是指什么

    所謂分布式指的是產(chǎn)品的部署方式,是相對于集中式而言的。 、部署方式 分散安裝:分布式輸電線路故障定位系統(tǒng)中的采集裝置需要安裝在輸電線路的多個(gè)位置,通常是每隔定距離設(shè)置
    的頭像 發(fā)表于 10-16 11:39 ?693次閱讀
    <b class='flag-5'>分布式</b>輸電線路故障定位中的<b class='flag-5'>分布式</b>是指什么

    文講清什么是分布式云化數(shù)據(jù)!

    分布式云化數(shù)據(jù)種先進(jìn)的數(shù)據(jù)管理系統(tǒng),它將傳統(tǒng)的數(shù)據(jù)技術(shù)與分布式計(jì)算、云計(jì)算和大數(shù)據(jù)處理技術(shù)相融合。這種數(shù)據(jù)
    的頭像 發(fā)表于 10-14 10:06 ?484次閱讀

    基于分布式存儲(chǔ)WDS的金融信創(chuàng)云承載數(shù)據(jù)類關(guān)鍵應(yīng)用

    基于分布式存儲(chǔ)WDS的金融信創(chuàng)云承載數(shù)據(jù)類關(guān)鍵應(yīng)用
    的頭像 發(fā)表于 08-16 09:42 ?577次閱讀
    基于<b class='flag-5'>分布式</b>存儲(chǔ)WDS的金融信創(chuàng)云承載數(shù)據(jù)<b class='flag-5'>庫</b>類關(guān)鍵應(yīng)用