哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

TensorFlow2.0中創(chuàng)建了一個(gè)Transformer模型包,可用于重新構(gòu)建GPT-2、 BERT和XLNet

DPVg_AI_era ? 來源:lq ? 2019-09-13 04:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今日Reddit最熱帖。博主在TensorFlow2.0中創(chuàng)建了一個(gè)Transformer模型包,可用于重新構(gòu)建GPT-2、 BERT和XLNet。這個(gè)項(xiàng)目的目標(biāo)是創(chuàng)建Transformer模型的所有核心部分,這樣就可以重用它們來創(chuàng)建更新的、更多的SOTA模型,比如BERT和XLNet。

Transformer是谷歌在2017年提出的一個(gè)革新性的NLP框架,相信大家對(duì)那篇經(jīng)典論文吸睛的標(biāo)題仍印象深刻:Attention Is All You Need。

自那以來,業(yè)內(nèi)人士表示,在機(jī)器翻譯領(lǐng)域,Transformer 已經(jīng)幾乎全面取代 RNN??傊?Transformer 確實(shí)是一個(gè)非常有效且應(yīng)用廣泛的結(jié)構(gòu),應(yīng)該可以算是自 seq2seq 之后又一次 “革命”。

如今,谷歌手上握有兩個(gè)強(qiáng)大的AI戰(zhàn)力:TensorFlow 2.0和Transformer。如果能將兩大戰(zhàn)力合體,就能制造出更強(qiáng)大的AI武器。

想到不如做到。于是Zachary Bloss(就是下圖這位帶著淡淡憂傷的背影),一位美國最大的非銀行貸款機(jī)構(gòu)之一Quicken Loans的數(shù)據(jù)分析師,花了一點(diǎn)時(shí)間,在TF2中構(gòu)建一個(gè)可擴(kuò)展的transformer模型。

該項(xiàng)目的目標(biāo)是創(chuàng)建"Attention is all you need"論文中所討論的transformer模型的所有核心部分,以便可以重復(fù)使用它們來創(chuàng)建更前衛(wèi)、更多像BERT和XLNet一樣的SOTA模型,

Zachary已經(jīng)將做好的模型打包放在了GitHub上,而且這個(gè)包抽象度很高,只要是相關(guān)的類都可以隨意使用。

只要你野心夠大,完全可以用這個(gè)包來折騰Encoder和Decoder類去創(chuàng)建其他模型,比如BERT,Transformer-XL,GPT,GPT-2甚至XLNet都沒問題,你只需要調(diào)整masking類即可。

那么我們看看具體應(yīng)該如何安裝和使用。

如何安裝

前期準(zhǔn)備

進(jìn)行安裝

強(qiáng)烈建議為項(xiàng)目創(chuàng)建一個(gè)新的虛擬環(huán)境!因?yàn)榇塑浖枰猅ensorflow 2.0,你懂的。

接下來通過安裝Tensorflow 2.0的gpu版本來使用GPU:

如何使用

Repo里有一個(gè)(example.py)文件。這是一個(gè)示例文件,可以用來了解此模型的工作原理。該模型以其最基本的形式,以numpy數(shù)組作為輸入,并返回一個(gè)numpy數(shù)組作為輸出。

此模型的常見用例是語言翻譯。一般來說,訓(xùn)練這個(gè)模型的時(shí)候,功能列是原始語言,目標(biāo)列是要翻譯的語言。

生成輸入/輸出

這里提供了一些輔助函數(shù),但基本上需要生成兩個(gè)Tensorflow標(biāo)記生成器以及一個(gè)帶有功能和目標(biāo)列的pandas DataFrame

可以利用DataProcess類中的輔助函數(shù)從DataFrame生成TensorDatasets,以及執(zhí)行train_test_split

學(xué)習(xí)率/優(yōu)化器

當(dāng)設(shè)置在具有急劇傾斜然后指數(shù)衰減的自定義學(xué)習(xí)速率時(shí),transformer模型表現(xiàn)優(yōu)異

這項(xiàng)工作已在CustomSchedule()類中實(shí)現(xiàn)。隨意玩熱身步驟,以完成日程安排!

定義transformer模型

創(chuàng)建HPARAMS,定義模型的大小。

訓(xùn)練

定義Trainer類后,只需要在訓(xùn)練器對(duì)象上調(diào)用train()方法。

這將返回訓(xùn)練的準(zhǔn)確性和損失

Attention is all you need

從實(shí)踐中學(xué)習(xí),才能對(duì)理論理解的更加透徹。在通過上述方式實(shí)操后,我們回過頭再看Transformer的論文,可能就會(huì)覺得更加清晰了。

早在2年前,谷歌大腦、谷歌研究院和多倫多大學(xué)學(xué)者合作的一項(xiàng)新研究稱,使用一種完全基于注意力機(jī)制(Attention)的簡單網(wǎng)絡(luò)架構(gòu) Transformer 用于機(jī)器翻譯,效果超越了當(dāng)下所有公開發(fā)表的機(jī)器翻譯模型,包括集成模型。

值得一提的是,該研究沒有使用任何循環(huán)或卷積神經(jīng)網(wǎng)絡(luò),全部依賴注意力機(jī)制。正如文章的標(biāo)題所說:“注意力機(jī)制是你需要的全部(Attention Is All You Need)。

一直以來,在序列建模和序列轉(zhuǎn)導(dǎo)問題中,比如涉及語言建模和機(jī)器翻譯的任務(wù),循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),尤其是長短時(shí)記憶(LSTM)及門循環(huán)網(wǎng)絡(luò),都被視為最先進(jìn)的方法。研究人員也想方設(shè)法拓展循環(huán)語言建模和編碼器-解碼器架構(gòu)。

其中,注意力機(jī)制自提出以來便成為序列建模和轉(zhuǎn)導(dǎo)模型不可或缺的一部分,因?yàn)樽⒁饬C(jī)制能夠在不關(guān)注輸入輸出序列之間距離的情況下,對(duì)依存(dependence)建模。只有在極少數(shù)的案例中,作者將注意力機(jī)制與一個(gè)循環(huán)網(wǎng)絡(luò)作為整個(gè)網(wǎng)絡(luò)中相等的結(jié)構(gòu),并行放置。

在谷歌大腦最新公開的一項(xiàng)研究中,研究人員提出了一個(gè)全新的架構(gòu) Transformer,完全依賴注意力機(jī)制從輸入和輸出中提取全局依賴,不使用任何循環(huán)網(wǎng)絡(luò)。

谷歌大腦的研究人員表示,Transformer 能夠顯著提高并行效率,僅在 8 顆 P100 GPU 上訓(xùn)練 12 小時(shí)就能達(dá)到當(dāng)前最高性能。

論文作者以 Extended Neural GPU、ByteNet 和 ConvS2S 為例,這些結(jié)構(gòu)都使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為基本的模塊,并行計(jì)算所有輸入和輸出位置的隱藏表征,從而減少序列計(jì)算的計(jì)算量。在這些模型中,將來自兩個(gè)任意輸入或輸出位置的信號(hào)相關(guān)聯(lián)的運(yùn)算次數(shù)會(huì)根據(jù)位置之間的距離增加而增加,對(duì)于 ConvS2S 這種增加是線性的,而對(duì)于 ByteNet 則是呈對(duì)數(shù)增長的。

這讓學(xué)習(xí)距離較遠(yuǎn)的位置之間的依賴難度增大。在 Transformer 當(dāng)中,學(xué)習(xí)位置之間的依賴被減少了,所需的運(yùn)算次數(shù)數(shù)量是固定的。

這需要使用自注意力(Self-attention),或內(nèi)部注意力(intra-attention),這是一種與單個(gè)序列中不同位置有關(guān)的注意力機(jī)制,可以計(jì)算出序列的表征。

以往研究表明,自注意力已被成功用于閱讀理解、抽象概括等多種任務(wù)。

不過,谷歌大腦的研究人員表示,據(jù)他們所知,Transformer 是第一個(gè)完全依賴自注意力的轉(zhuǎn)導(dǎo)模型,不使用 RNN 或 CNN 計(jì)算輸入和輸出的表征。

摘要

當(dāng)前主流的序列轉(zhuǎn)導(dǎo)(transduction)模型都是基于編碼器-解碼器配置中復(fù)雜的循環(huán)或卷積神經(jīng)網(wǎng)絡(luò)。性能最好的模型還通過注意力機(jī)制將編碼器和解碼器連接起來。

提出了一種簡單的網(wǎng)絡(luò)架構(gòu)——Transformer,完全基于注意力機(jī)制,沒有使用任何循環(huán)或卷積神經(jīng)網(wǎng)絡(luò)。兩項(xiàng)機(jī)器翻譯任務(wù)實(shí)驗(yàn)表明,這些模型質(zhì)量更好、可并行化程度更高,并且能大大減少訓(xùn)練時(shí)間。

該模型在 WMT 2014 英德翻譯任務(wù)上實(shí)現(xiàn)了 28.4 的 BLEU 得分,在現(xiàn)有最佳成績上取得了提高,其中使用集成方法,超過了現(xiàn)有最佳成績 2 個(gè) BLEU 得分。

在 WMT 2014 英法翻譯任務(wù)中,該模型在單一模型 BLEU 得分上創(chuàng)下了當(dāng)前最高分 41.0,而訓(xùn)練時(shí)間是在 8 顆 GPU 上訓(xùn)練 3.5 天,相比現(xiàn)有文獻(xiàn)中的最佳模型,只是其訓(xùn)練成本的很小一部分。

研究還發(fā)現(xiàn),Transformer 泛化性能很好,能夠成功應(yīng)用于其他任務(wù),比如在擁有大規(guī)模和有限訓(xùn)練數(shù)據(jù)的情況下,解析英語成分句法解析(English constituency parsing)。

模型架構(gòu)

大多數(shù)性能較好的神經(jīng)序列轉(zhuǎn)導(dǎo)模型都使用了編碼器-解碼器的結(jié)構(gòu)。Transformer 也借鑒了這一點(diǎn),并且在編碼器-解碼器上使用了全連接層。

編碼器:由 6 個(gè)完全相同的層堆疊而成,每個(gè)層有 2 個(gè)子層。在每個(gè)子層后面會(huì)跟一個(gè)殘差連接和層正則化(layer normalization)。第一部分由一個(gè)多頭(multi-head)自注意力機(jī)制,第二部分則是一個(gè)位置敏感的全連接前饋網(wǎng)絡(luò)。

解碼器:解碼器也由 6 個(gè)完全相同的層堆疊而成,不同的是這里每層有 3 個(gè)子層,第 3 個(gè)子層負(fù)責(zé)處理編碼器輸出的多頭注意力機(jī)制。解碼器的子層后面也跟了殘差連接和層正則化。解碼器的自注意力子層也做了相應(yīng)修改。

(圖1)Transformer的架構(gòu)示意圖

(圖2)具體采用的注意力機(jī)制。左邊是 Scaled Dot-Roduct Attention,右邊是多頭注意力(Multi-Head Attention),由幾個(gè)并行的層組成。

在編碼器-解碼器層當(dāng)中,query 來自上一個(gè)解碼層,編碼器輸出值(value)及 memory key。這樣,解碼器中所有位置都能照顧到輸入序列中的所有位置。

編碼器含有自注意力層。在自注意力層中,所有的 key、value 和 query 都來自同一個(gè)地方,那就是編碼器的上一層輸出。編碼器中的每一個(gè)位置都能照顧到編碼器上一層中所有的位置。

同樣,解碼器中的自注意力層讓解碼器中所有位置都能被注意到,包括那個(gè)位置本身。

創(chuàng)造了BLEU的最高分28.4

在WMT2014 英語到德語的翻譯任務(wù)中,大型transformer在性能上優(yōu)于此前在有記錄的所有模型(包括集成的模型),并且創(chuàng)造了BLEU的最高分28.4。

模型的配置詳情見表3下的清單。訓(xùn)練過程為3.5天,在8顆P100 GPU上運(yùn)行。即便是最基礎(chǔ)的模型,也超越了此前所有發(fā)布的和集成的模型,但是訓(xùn)練的成本卻只是此前最好的一批模型中的一小部分。

表2:Transformer 在英語到德語和英語到法語新聞測試2014數(shù)據(jù)集上,比此前最好的模型獲得的BLEU分?jǐn)?shù)都要高。

表2 總結(jié)了結(jié)果,并與其他模型在翻譯質(zhì)量和訓(xùn)練成本上進(jìn)行對(duì)比,評(píng)估了被用于訓(xùn)練模型的浮點(diǎn)操作數(shù)量,用來乘以訓(xùn)練時(shí)間,使用的GPU的數(shù)量,并評(píng)估了每一顆GPU中,可持續(xù)的單精度浮點(diǎn)承載量。

表4 Transformer 在英語成分句法解析任務(wù)上也取得了較好的效果。(基于WSJ Section 23 數(shù)據(jù)庫)

為了測試Transformer能否用于完成其他任務(wù),研究人員做了一個(gè)在英語成分句法解析上的實(shí)驗(yàn)。這一任務(wù)的難度在于:輸出受到結(jié)構(gòu)限制的強(qiáng)烈支配,并且比輸入要長得多得多。另外,RNN序列到序列的模型還沒能在小數(shù)據(jù)領(lǐng)域獲得最好的結(jié)果。

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

    關(guān)注

    0

    文章

    141

    瀏覽量

    15551
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    336

    瀏覽量

    62366

原文標(biāo)題:通吃BERT、GPT-2,用TF 2.0實(shí)現(xiàn)谷歌破世界紀(jì)錄的機(jī)器翻譯模型Transformer

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    請教RTD GPT 配置問題

    ) RTD版本如下圖: 我在我的項(xiàng)目中包含個(gè) GPT。我希望它從 0 到 5000 計(jì)數(shù)并重新開始。我面臨的問題是似乎沒有辦法配置這個(gè)上限。這是
    發(fā)表于 04-15 08:32

    在 NPU 上運(yùn)行了 eIQ TensorFlow Lite 示例模型報(bào)錯(cuò)

    處理器 neutron-rproc 現(xiàn)已啟動(dòng) 信息:Neutron委托委托:31 個(gè)節(jié)點(diǎn)中的 29 個(gè)節(jié)點(diǎn)委托,有 1 個(gè)分區(qū)。 信息:已應(yīng)用外部委托。 信息:為CPU創(chuàng)建了
    發(fā)表于 03-18 06:52

    Transformer 入門:從零理解 AI 大模型的核心原理

    ,位置靠近 蔬菜在另一個(gè)區(qū)域 真正的嵌入向量不是2維,而是 768維(GPT-2)!人類無法想象768維空間,但對(duì)計(jì)算機(jī)來說沒問題。 arduino 體驗(yàn)AI代碼助手 代碼解讀 復(fù)制代碼
    發(fā)表于 02-10 16:33

    RDMA設(shè)計(jì)37:RoCE v2 子系統(tǒng)模型設(shè)計(jì)

    仿真模型。在 RoCE v2 協(xié)議,本地主機(jī)與遠(yuǎn)程主機(jī)之間往往需要進(jìn)行復(fù)雜的指令、信息、數(shù)據(jù)交互,使得在進(jìn)行仿真驗(yàn)證時(shí)如何模擬復(fù)雜網(wǎng)絡(luò)環(huán)境成為個(gè)
    發(fā)表于 02-06 16:19

    GPT-5.1發(fā)布 OpenAI開始拼情商

    問題。 Sam Altman 發(fā)文稱GPT-5.1是次不錯(cuò)的模型升級(jí)。 GPT-5.1 Instant:ChatGPT 最常用的模型,更溫
    的頭像 發(fā)表于 11-13 15:49 ?808次閱讀

    在Ubuntu20.04系統(tǒng)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型些經(jīng)驗(yàn)

    本帖欲分享在Ubuntu20.04系統(tǒng)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型些經(jīng)驗(yàn)。我們采用jupyter notebook作為開發(fā)IDE,以TensorFlow2為訓(xùn)練框架,目標(biāo)是訓(xùn)練
    發(fā)表于 10-22 07:03

    更改RT-Thread Setting之后不能構(gòu)建了,如何解決?

    原來能正常構(gòu)建的工程打開RT-Thread Setting啟用了soft timer之后出來就不能構(gòu)建了,左上角的錘子直灰色,“項(xiàng)目”菜單下的“構(gòu)建項(xiàng)目”也沒有反應(yīng)了,怎么解決?
    發(fā)表于 09-19 07:54

    【「AI芯片:科技探索與AGI愿景」閱讀體驗(yàn)】+第二章 實(shí)現(xiàn)深度學(xué)習(xí)AI芯片的創(chuàng)新方法與架構(gòu)

    徹底改變了自然語義處理的研究和應(yīng)用。它引入了自注意機(jī)制和位置編碼,能夠有效的捕捉輸入序列的關(guān)聯(lián)信息,實(shí)現(xiàn)更好的上下文理解和建模。 Transformer 模型
    發(fā)表于 09-12 17:30

    如何在TPU上使用JAX訓(xùn)練GPT-2模型

    如果您對(duì)如何使用 JAX 從頭開始構(gòu)建語言模型感到好奇,那么本文非常適合您。我們在 2025 年 Google Cloud Next 大會(huì)上舉辦了場關(guān)于此主題的研討會(huì),并獲得了些很
    的頭像 發(fā)表于 09-03 11:39 ?1812次閱讀
    如何在TPU上使用JAX訓(xùn)練<b class='flag-5'>GPT-2</b><b class='flag-5'>模型</b>

    【RA4M2-SENSOR】3、使用GPT定時(shí)器-PWM輸出

    項(xiàng)目01_I2C_OLED復(fù)制份,重命名為02_PWM 查看原理圖得知,P102引腳可用GPT功能。 點(diǎn)擊configuration.xml文件,按下面幾張圖所示內(nèi)容配置。 打開引腳
    發(fā)表于 09-01 15:20

    自動(dòng)駕駛Transformer模型會(huì)取代深度學(xué)習(xí)嗎?

    [首發(fā)于智駕最前沿微信公眾號(hào)]近年來,隨著ChatGPT、Claude、文心言等大語言模型在生成文本、對(duì)話交互等領(lǐng)域的驚艷表現(xiàn),“Transformer架構(gòu)是否正在取代傳統(tǒng)深度學(xué)習(xí)”這
    的頭像 發(fā)表于 08-13 09:15 ?4360次閱讀
    自動(dòng)駕駛<b class='flag-5'>中</b><b class='flag-5'>Transformer</b>大<b class='flag-5'>模型</b>會(huì)取代深度學(xué)習(xí)嗎?

    Transformer在端到端自動(dòng)駕駛架構(gòu)是何定位?

    典型的Transformer架構(gòu)已被用于構(gòu)建“感知-規(guī)劃-控制統(tǒng)建?!钡姆桨?。如Waymo和小馬智行正在研發(fā)的多模態(tài)大模型(Multimo
    的頭像 發(fā)表于 08-03 11:03 ?1524次閱讀

    無法將Tensorflow Lite模型轉(zhuǎn)換為OpenVINO?格式怎么處理?

    Tensorflow Lite 模型轉(zhuǎn)換為 OpenVINO? 格式。 遇到的錯(cuò)誤: FrontEnd API failed with OpConversionFailure:No translator found for TFLite_Detection_PostP
    發(fā)表于 06-25 08:27

    Transformer架構(gòu)概述

    由于Transformer模型的出現(xiàn)和快速發(fā)展,深度學(xué)習(xí)領(lǐng)域正在經(jīng)歷場翻天覆地的變化。這些突破性的架構(gòu)不僅重新定義了自然語言處理(NLP)的標(biāo)準(zhǔn),而且拓寬了視野,徹底改變了AI的許多
    的頭像 發(fā)表于 06-10 14:24 ?1442次閱讀
    <b class='flag-5'>Transformer</b>架構(gòu)概述

    文教你構(gòu)建一個(gè)應(yīng)用程序

    構(gòu)建一個(gè)應(yīng)用程序 創(chuàng)建個(gè)新工程 步驟 1通過如下兩種方式,打開工程創(chuàng)建向?qū)Ы缑妗? 如果
    發(fā)表于 04-24 06:41
    漳州市| 巩义市| 通许县| 通城县| 西乡县| 城口县| 莱芜市| 临清市| 东阳市| 饶阳县| 湘西| 龙陵县| 哈密市| 麻江县| 龙川县| 靖江市| 民勤县| 内黄县| 承德县| 垫江县| 乌海市| 昆明市| 泌阳县| 和平区| 巴东县| 台南市| 偃师市| 翁牛特旗| 马尔康县| 布拖县| 富锦市| 栖霞市| 那坡县| 谢通门县| 扎赉特旗| 大悟县| 大新县| 陆良县| 永寿县| 贞丰县| 名山县|