一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

谷歌團(tuán)隊(duì)打造了一個(gè)名為JAX的系統(tǒng)

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-11-24 10:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

谷歌團(tuán)隊(duì)(非官方發(fā)布)打造了一個(gè)名為JAX的系統(tǒng),今日在Reddit引發(fā)了熱議。網(wǎng)友紛紛為它叫好——“說不定能夠取代TensorFlow”。本文便帶領(lǐng)讀者一覽JAX的廬山真面目。

這個(gè)工具說不定比TensorFlow還好用!

它就是JAX,一款由谷歌團(tuán)隊(duì)打造(非官方發(fā)布),用于從純Python和Numpy機(jī)器學(xué)習(xí)程序中生成高性能加速器(accelerator)代碼,且特定于域的跟蹤JIT編譯器。

那么JAX到底有哪些威力呢?

JAX使用XLA編譯器基礎(chǔ)結(jié)構(gòu),來為子程序生成最有利于加速的優(yōu)化代碼,這些優(yōu)化子程序可以由任意Python調(diào)用和編排;

由于JAX與Autograd完全兼容,它允許Python函數(shù)的正、反向模式(forward- and reverse-mode)自動(dòng)區(qū)分為任意順序;

由于JAX支持結(jié)構(gòu)化控制流,所以它可以在保持高性能的同時(shí)為復(fù)雜的機(jī)器學(xué)習(xí)算法生成代碼;

通過將JAX與Autograd和Numpy相結(jié)合,可得到一個(gè)易于編程且高性能的ML系統(tǒng),該系統(tǒng)面向CPU,GPU和TPU,且能擴(kuò)展到多核Cloud TPU。

此“神器”在Reddit上引發(fā)了熱烈的討論,網(wǎng)友紛紛為它叫好:

我的天,“可微分的numpy”實(shí)在是太棒了!我對(duì)pytorch有一點(diǎn)不是很滿意,他們基本上重新做了numpy所做的一切,但存在一些愚蠢的差異,比如“dim”,而不是“axis”,等等。

JAX系統(tǒng)設(shè)計(jì)一覽

谷歌團(tuán)隊(duì)通過觀察發(fā)現(xiàn),JAX的ML工作負(fù)載通常由PSC子程序控制。

JAX的設(shè)計(jì)便因此利用了函數(shù)通??梢灾苯釉跈C(jī)器學(xué)習(xí)代碼中識(shí)別的特性,使機(jī)器學(xué)習(xí)研究人員可以使用JAX的jit_ps修飾符進(jìn)行注釋。

雖然手工注釋對(duì)非專業(yè)用戶和“零工作量知識(shí)”優(yōu)化提出了挑戰(zhàn),但它為專家提供了直接的好處,而且作為一個(gè)系統(tǒng)研究項(xiàng)目,它展示了PSC假設(shè)的威力。

JAX跟蹤緩存為跟蹤計(jì)算的參數(shù)創(chuàng)建了一個(gè)monomorphic signature,以便新遇到的數(shù)組元素類型、數(shù)組維度或元組成員觸發(fā)重新編譯。在跟蹤緩存丟失時(shí),JAX執(zhí)行相應(yīng)的Python函數(shù),并將其執(zhí)行跟蹤到具有靜態(tài)數(shù)據(jù)依賴關(guān)系的原始函數(shù)圖中。

現(xiàn)有的原語不僅包括數(shù)組級(jí)別的數(shù)字內(nèi)核,包括Numpy函數(shù)和其他函數(shù),它們?cè)试S用戶通過保留PSC屬性將控制流分段到編譯后的計(jì)算中。最后,JAX包含一些用于功能分布式編程的原語,如iterated_map_reduce。

為了生成代碼,JAX將跟蹤轉(zhuǎn)換為XLA HLO,這是一種中間語言,可以對(duì)高度可加速的數(shù)組級(jí)數(shù)值程序進(jìn)行建模。從廣義上講,JAX可以被看作是一個(gè)系統(tǒng),它將XLA編程模型提升到Python中,并支持使用可加速的子程序,同時(shí)仍然允許動(dòng)態(tài)編排。

defxla_add(xla_builder,xla_args,np_x,np_y):returnxla_builder.Add(xla_args[0],xla_args[1])defxla_sinh(xla_builder,xla_args,np_x):b,xla_x=xla_builder,xla_args[0]returnb.Div(b.Sub(b.Exp(xla_x),b.Exp(b.Neg(xla_x))),b.Const(2))defxla_while(xla_builder,xla_args,cond_fun,body_fun,init_val):xla_cond=trace_computation(cond_fun,args=(init_val,))xla_body=trace_computation(body_fun,args=(init_val,))returnxla_builder.While(xla_cond,xla_body,xla_args[-1])jax.register_translation_rule(numpy.add,xla_add)jax.register_translation_rule(numpy.sinh,xla_sinh)jax.register_translation_rule(while_loop,xla_while)

JAX從原語到XLA HLO的翻譯規(guī)則

另外,JAX和Autograd完全兼容。

importautograd.numpyasnpfromautogradimportgradfromjaximportjit_psdefpredict(params,inputs):forW,binparamsoutputs=np.dot(inputs,W)+binputs=np.tanh(outputs)returnoutputsdefloss(params,inputs,targets):preds=predict(params,inputs)returnnp.sum((preds-targets)**2)grad_fun=jit_ps(grad(loss))#Compiledgradient-of-lossfunction

一個(gè)與JAX完全連接的基本神經(jīng)網(wǎng)絡(luò)

實(shí)驗(yàn)、性能結(jié)果比較

為了演示JAX和XLA提供的數(shù)組級(jí)代碼優(yōu)化和操作融合,谷歌團(tuán)隊(duì)編譯了一個(gè)具有SeLU非線性的完全連接神經(jīng)網(wǎng)絡(luò)層,并在圖1中顯示JAX trace和XLA HLO圖形。

圖1:XLA HLO對(duì)具有SeLU非線性的層進(jìn)行融合?;疑虮硎舅械牟僮鞫既诤系紾EMM中。

使用一個(gè)線程和幾個(gè)小的示例優(yōu)化問題(包括凸二次型、隱馬爾科夫模型(HMM)邊緣似然性和邏輯回歸)將Python執(zhí)行時(shí)間與CPU上的JAX編譯運(yùn)行時(shí)進(jìn)行了比較。

對(duì)于某些CPU示例來說,XLA的編譯時(shí)間比較慢,但將來可能會(huì)有顯著的改進(jìn),對(duì)于經(jīng)過warmed-up代碼(表1),XLA的編譯速度非常快。

表1:在CPU上Truncated Newton-CG的計(jì)時(shí)(秒)

在GPU上訓(xùn)練卷積網(wǎng)絡(luò)。谷歌團(tuán)隊(duì)實(shí)現(xiàn)了一個(gè)all-conv CIFAR-10網(wǎng)絡(luò),只涉及卷積和ReLU激活。谷歌編寫了一個(gè)單獨(dú)的隨機(jī)梯度下降(SGD)更新步驟,并從一個(gè)純Python循環(huán)中調(diào)用它,結(jié)果如表2所示。

作為參考,谷歌在TensorFlow中實(shí)現(xiàn)了相同的算法,并在類似的Python循環(huán)中調(diào)用它。

表2:GPU上JAX convnet步驟的計(jì)時(shí)(msec)

云TPU可擴(kuò)展性。云TPU核心上的全局批處理的JAX并行化呈現(xiàn)線性加速(圖2,左)。在固定的minibatch / replica中,texec受復(fù)制計(jì)數(shù)的影響最?。ㄔ?ms內(nèi),右邊)

圖2:為ConvNet訓(xùn)練步驟在云TPU上進(jìn)行擴(kuò)展。

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

    關(guān)注

    27

    文章

    6231

    瀏覽量

    107856
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1659

    瀏覽量

    50062
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8499

    瀏覽量

    134337

原文標(biāo)題:試試谷歌這個(gè)新工具:說不定比TensorFlow還好用!

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    谷歌地圖GPS定位

    谷歌地圖GPS定位:精準(zhǔn)導(dǎo)航背后的技術(shù)解析 谷歌地圖作為全球最受歡迎的地圖服務(wù)之,其精準(zhǔn)的GPS定位功能為用戶提供極大便利。本文將深入探討谷歌
    的頭像 發(fā)表于 05-29 16:54 ?244次閱讀

    使用EZ-USB? SUITE構(gòu)建img文件并決定將示例程序下載到開發(fā)板時(shí),遇到個(gè)名為“Bootloader未運(yùn)行”的錯(cuò)誤,怎么解決?

    你好,最近我買了塊嵌入CYUSB3014芯片的USB開發(fā)板。 我從英飛凌的官方網(wǎng)站下載SDK。 它包含個(gè)有許多示例的固件文件夾。 當(dāng)我使用EZ-USB? SUITE 構(gòu)建 img
    發(fā)表于 05-09 06:50

    套Linux系統(tǒng),撐起整個(gè)芯片設(shè)計(jì)平臺(tái)?CFA團(tuán)隊(duì)教你如何搭好EDA智算平臺(tái)的技術(shù)底座

    運(yùn)行,保障設(shè)計(jì)任務(wù)不中斷。 不是每個(gè)人都要精通Linux,但每個(gè)芯片設(shè)計(jì)團(tuán)隊(duì)都該用上更聰明的平臺(tái) 你可以不記住所有YUM命令,也可以不懂如何寫systemctl的配置文件,但你需要個(gè)系統(tǒng)
    發(fā)表于 05-07 14:44

    AMD與谷歌披露關(guān)鍵微碼漏洞

    為CVE-2024-56161,其潛在風(fēng)險(xiǎn)引起了業(yè)界的廣泛關(guān)注。為了更深入地了解該漏洞,谷歌安全研究團(tuán)隊(duì)在GitHub上發(fā)布相關(guān)帖子,對(duì)漏洞的詳細(xì)信息、影響范圍以及可能的攻擊方式進(jìn)行了全面剖析。同時(shí),AMD也針對(duì)這
    的頭像 發(fā)表于 02-08 14:28 ?505次閱讀

    谷歌2.5億美元收購HTC XR業(yè)務(wù)

    近日,HTC與谷歌共同宣布項(xiàng)重要協(xié)議。根據(jù)協(xié)議內(nèi)容,谷歌將向HTC支付2.5億美元的交易金額,并吸納部分HTC的XR研發(fā)團(tuán)隊(duì)加入其麾下。
    的頭像 發(fā)表于 01-24 13:51 ?569次閱讀

    谷歌加速AI部門整合:AI Studio團(tuán)隊(duì)并入DeepMind

    旗下,此舉旨在更好地整合人工智能部門,以提升各大項(xiàng)目的推進(jìn)效率。 AI Studio團(tuán)隊(duì)谷歌內(nèi)部扮演著舉足輕重的角色,主要負(fù)責(zé)打造谷歌旗下的AI開發(fā)工具。這些工具包括Gemini D
    的頭像 發(fā)表于 01-13 14:40 ?675次閱讀

    谷歌發(fā)布“深度研究”AI工具,利用Gemini模型進(jìn)行網(wǎng)絡(luò)信息檢索

    據(jù)外媒最新報(bào)道,谷歌近期發(fā)布名為“深度研究”的先進(jìn)AI工具。這款工具借助其內(nèi)部的Gemini大型語言模型,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)信息的高效檢索與
    的頭像 發(fā)表于 12-16 09:35 ?687次閱讀

    英偉達(dá)與谷歌攜手加速量子計(jì)算設(shè)備設(shè)計(jì)

    英偉達(dá)近日宣布,將與谷歌量子AI團(tuán)隊(duì)展開合作,共同推進(jìn)量子計(jì)算軟硬件工具的研發(fā)。雙方將利用英偉達(dá)CUDA-Q平臺(tái)提供的模擬支持,加快設(shè)計(jì)谷歌代量子計(jì)算設(shè)備。
    的頭像 發(fā)表于 11-19 16:21 ?509次閱讀

    高通與谷歌合作開發(fā)AI優(yōu)化的汽車座艙系統(tǒng)

    在10月23日的北京時(shí)間,高通技術(shù)公司正式揭曉谷歌項(xiàng)全新多年技術(shù)合作協(xié)議,雙方旨在攜手促進(jìn)汽車行業(yè)的數(shù)字化革新。該合作聚焦于驍龍數(shù)字底盤、Android汽車操作系統(tǒng)以及
    的頭像 發(fā)表于 10-23 13:45 ?776次閱讀

    高通與谷歌攜手推動(dòng)汽車行業(yè)數(shù)字化轉(zhuǎn)型

    近日,高通技術(shù)公司與谷歌宣布項(xiàng)長(zhǎng)期技術(shù)合作計(jì)劃,共同致力于加速汽車行業(yè)的數(shù)字化變革。雙方將依托驍龍數(shù)字底盤、安卓汽車操作系統(tǒng)(AAOS)及谷歌
    的頭像 發(fā)表于 10-23 10:51 ?595次閱讀

    為了學(xué)習(xí)內(nèi)核開發(fā),大佬手搓個(gè)輕量級(jí)操作系統(tǒng)YiYiYa OS

    作者:evilbinary(鴨佬) YiYiYa操作系統(tǒng)個(gè)樸實(shí)無華的操作系統(tǒng),追求快速開發(fā),最小實(shí)現(xiàn),同時(shí)遵循SOLID原則。編碼簡(jiǎn)潔明了,非常適合學(xué)習(xí)操作
    發(fā)表于 08-30 14:57

    谷歌研究人員推出革命性首個(gè)AI驅(qū)動(dòng)游戲引擎

    在科技日新月異的今天,人工智能(AI)正以前所未有的速度滲透到我們生活的每一個(gè)角落,從自動(dòng)駕駛汽車到智能家居,無不彰顯著其巨大的潛力和無限可能。而最近,谷歌研究團(tuán)隊(duì)
    的頭像 發(fā)表于 08-29 17:21 ?796次閱讀

    【核桃派ZeroW開發(fā)板體驗(yàn)連載】打造智能音箱,個(gè)簡(jiǎn)化版的“小愛同學(xué)”

    主機(jī)名為WalnutPi的IP地址,開啟VNC成功之后重啟開發(fā)板移除HDMI,直接接個(gè)電源線。 開始開發(fā) 使用QT繪制界面 本來想直接用C++配合QT的GUI來制作程序,但是發(fā)現(xiàn)
    發(fā)表于 08-22 05:27

    谷歌推出Project Oscar:利用代理技術(shù)高效管理軟件程序

    在科技日新月異的今天,谷歌再次以其前瞻性的視野引領(lǐng)著軟件開發(fā)領(lǐng)域的新輪變革。7月18日,谷歌官方宣布項(xiàng)重大創(chuàng)新成果——Project
    的頭像 發(fā)表于 07-18 15:49 ?446次閱讀

    谷歌借助Gemini AI系統(tǒng)深化對(duì)機(jī)器人的訓(xùn)練

    7月12日,國際科技界傳來新動(dòng)態(tài),谷歌正借助其先進(jìn)的Gemini AI系統(tǒng),深化對(duì)旗下機(jī)器人的訓(xùn)練,旨在顯著提升它們的導(dǎo)航能力和任務(wù)執(zhí)行能力。DeepMind機(jī)器人團(tuán)隊(duì)最新發(fā)布的研究論文,詳細(xì)闡述
    的頭像 發(fā)表于 07-12 16:29 ?912次閱讀