自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

GitHub超3萬星:Transformer 3發(fā)布,BERT被一分為二

新聞 前端
GitHub超3萬星,Transformer更新到第三版,BERT被一分為二,Trainer從類轉(zhuǎn)為方法,還有全新的tokenizer API、TensorFlow改進以及增強的文檔和教程。

 

來了來了,它來了!它帶著全新的tokenizer API、TensorFlow改進以及增強的文檔和教程來了!

G站上最受歡迎的NLP項目,AI界無人不知的最先進NLP模型Transformer剛剛推出了第三代。

這次更新力度可謂誠意滿滿,不僅帶來了2代的升級,同時還增加了一些新的功能和特性。下面我們就來看看都更新了哪些項目吧。

對比前一代的重大改動

首先我們來看看和Transformer v2相比,v3做出了哪些比較令人矚目的更新。

BERT被一分為二

BERT被分割為BertForMaskedLM和BertLMHeadModel,因此,以后就不能再拿BertForMaskedLM做因果語言建模,也不能接受lm_labels參數(shù)。

Trainer從類轉(zhuǎn)為方法

v3還對Trainer數(shù)據(jù)整理器做了一個改動,將其從一個類改成了一個方法。

直接設置tokenizer的特殊標記屬性

在v3中,你可以直接設置tokenizer的特殊標記屬性,例如tokenizer.mask_token = '<mask>'。目前v2中,只是將標記關(guān)聯(lián)到tokenizer的屬性,但如果該標記不在詞匯表中,則不會將其添加到詞匯表中,必須使用 tokenizer.add_special_tokens() 和 tokenizer.add_tokens() 方法才能添加標記。

prepare_for_model被移除

作為新的 tokenizer API 的一部分,prepare_for_model 方法被移除。

新的 Tokenizer API

隨著rust tokenizers的加入,tokenizers在第2版中發(fā)展迅速?,F(xiàn)在,它有了一個更簡單、更靈活的 API,在 Python(slow)和 Rust(fast)tokenizers 之間進行了調(diào)整。新的 API 讓你可以更深入地控制截斷和填充,允許動態(tài)填充或填充到 8 的倍數(shù)。

重新設計的 API 詳細解釋:

https://huggingface.co/transformers/master/preprocessing.html。

下面我們來看看這些顯著的變化:

  • 現(xiàn)在可以截斷一個模型的最大輸入長度,同時填充一個批次中最長的序列。
  • 填充和截斷被解耦,更容易控制。
  • 它可以pad到預定義長度的倍數(shù)例如8,可以為最新的NVIDIA GPU(V100)帶來顯著的速度提升。
  • 一個使用 tokenizer.__call__ 的通用包裝器,可用于所有情況(例如單個序列、一對序列到組、批次等)。
  • tokenizer 現(xiàn)在可以接受預標記化的輸入。
  • 現(xiàn)在,所有的Rust tokenizers都像slow tokenizers一樣被全面測試了。
  • 一個新類 AddedToken ,用來對添加的標記,在標記化過程中的行為,進行更精細的控制。特別是用戶可以控制(1)在標記化過程中,標記周圍的左右空格是否會被移除(2)標記是否會在另一個詞中被識別,以及(3)標記是否會以標準化的形式被識別(例如,如果標記化器使用小寫字母)。
  • 序列化問題得到解決
  • 在 tokenizers 上使用 return_tensors 參數(shù)時,可以創(chuàng)建 NumPy tensors。
  • 引入了一個新的枚舉 TensorType 來映射我們支持的所有可能的張量后端:TensorType.TENSORFLOW, TensorType.PYTORCH, TensorType.NUMPY。
  • Tokenizers 現(xiàn)在接受 encode(...)、encode_plus(...)、batch_encode_plus(...) tokenizer 方法的 return_tensors 參數(shù)的 TensorType enum。
  • BatchEncoding 新增的屬性 is_fast 表示 BatchEncoding 是來自 Python(slow)tokenizer 還是 Rust(fast)tokenizer。
  • slow和fast tokenizer 現(xiàn)在是可挑選的。它們的輸出也是如此,即 dict 子類 BatchEncoding。

其他激動人心的改進

針對TensorFlow的改進

全新版本中,針對TensorFlow進行了非常大的升級:

  • TensorFlow模型現(xiàn)在可以自己計算損失,使用TFPretrainedModel.compute_loss方法。
  • 現(xiàn)在可以在TensorFlow中調(diào)整token嵌入的大小
  • Cleaning TensorFlow model

新增MobileBERT

《MobileBERT: a Compact Task-Agnostic BERT for Resource-Limited Devices 》中的MobileBERT被添加到PyTorch和TensorFlow的庫中。

論文地址:

https://arxiv.org/abs/2004.02984

增加了一個單一的檢查點:mobilebert-uncased,也就是按照我們的 API 轉(zhuǎn)換的 uncased_L-24_H-128_B-512_A-4_F-4_OPT 檢查點。

增強examples/seq2seq內(nèi)容

全新版本中,將舊的 examples/summarization和 examples/translation文件夾整合到了一個新的examples/seq2seq文件夾中。

  • Finetuning在summarization時效果不錯,不過翻譯時需要更多的實驗。Finetuning可以在多gpu上工作,在驗證過程中保存rouge分數(shù),并提供--freeze_encoder和--freeze_embeds選項。這些選項使得BART在cnn/dailymail數(shù)據(jù)集上的精調(diào)速度提高了5倍。
  • 在distillation.py中添加了Distillbart代碼。目前,它只支持匯總。
  • 評估對于summarization和翻譯都很好用。
  • 新增權(quán)重和偏差共享任務,用于XSUM總結(jié)任務的協(xié)作。

Distilbart

  • Distilbart模型是bart-large-cnn和bart-large-xsum的較小版本,它們可以使用BartForConditionalGeneration.from_pretrained('sshleifer/distilbart-xsum-12-6')來加載
  • 重現(xiàn)的命令可以在examples/seq2seq文件夾中找到。

新增BERT Loses Patience

基準

對基準腳本進行了整合,并增加了一些功能。

針對Tensorflow增加推理:CPU、GPU、GPU+XLA、GPU+急切模式、CPU+急切模式、TPU。

針對PyTorch增加了推理和訓練:

  • 推理:CPU, CPU + torchscript, GPU, GPU + torchscript, GPU + 混合精度, Torch/XLA TPU
  • 訓練:CPU、GPU、GPU+混合精度、Torch/XLA TPU。

 

責任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2009-06-11 09:12:15

App StoreiPhone 3G

2021-09-22 13:02:38

容器技術(shù)Docker

2013-12-02 09:58:42

騰訊云 云計算

2021-09-28 07:57:39

Android 12.安卓鎖屏界面

2014-12-17 10:32:51

Node.js開源項目

2022-07-06 08:05:28

微軟Windows

2012-05-07 23:19:00

RhinoJavaJVM編程語言

2012-02-16 09:15:48

JavaJActor

2012-03-15 09:21:25

ExpresionJJava

2009-06-19 10:45:05

NetBeans 6.

2009-06-23 21:03:55

Linux

2010-06-08 08:53:16

opensuse 11

2020-12-28 12:06:42

Ruby 3編程語言優(yōu)化

2011-03-03 09:42:05

Ubuntu 11.0

2012-03-30 14:31:53

HibernateJava

2012-02-29 10:54:21

JavaPlay Framew

2011-03-07 09:22:51

2012-05-23 10:22:36

JBossJava

2015-07-09 10:42:38

iOS 9beta 3

2011-04-15 09:07:13

iOS 4.3.2
點贊
收藏

51CTO技術(shù)棧公眾號