精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Huggingface微調BART的代碼示例:WMT16數據集訓練新的標記進行翻譯

開發 前端
BART模型是用來預訓練seq-to-seq模型的降噪自動編碼器(autoencoder)。它是一個序列到序列的模型,具有對損壞文本的雙向編碼器和一個從左到右的自回歸解碼器,所以它可以完美的執行翻譯任務。

如果你想在翻譯任務上測試一個新的體系結構,比如在自定義數據集上訓練一個新的標記,那么處理起來會很麻煩,所以在本文中,我將介紹添加新標記的預處理步驟,并介紹如何進行模型微調。

因為Huggingface Hub有很多預訓練過的模型,可以很容易地找到預訓練標記器。但是我們要添加一個標記可能就會有些棘手,下面我們來完整的介紹如何實現它,首先加載和預處理數據集。

加載數據集

我們使用WMT16數據集及其羅馬尼亞語-英語子集。load_dataset()函數將從Huggingface下載并加載任何可用的數據集。

import datasets

dataset = datasets.load_dataset("stas/wmt16-en-ro-pre-processed", cache_dir="./wmt16-en_ro")

圖片

在上圖1中可以看到數據集內容。我們需要將其“壓平”,這樣可以更好的訪問數據,讓后將其保存到硬盤中。

def flatten(batch):
batch['en'] = batch['translation']['en']
batch['ro'] = batch['translation']['ro']

return batch

# Map the 'flatten' function
train = dataset['train'].map( flatten )
test = dataset['test'].map( flatten )
validation = dataset['validation'].map( flatten )

# Save to disk
train.save_to_disk("./dataset/train")
test.save_to_disk("./dataset/test")
validation.save_to_disk("./dataset/validation")

下圖2可以看到,已經從數據集中刪除了“translation”維度。

標記器

標記器提供了訓練標記器所需的所有工作。它由四個基本組成部分:(但這四個部分不是所有的都是必要的)

Models:標記器將如何分解每個單詞。例如,給定單詞“playing”:i) BPE模型將其分解為“play”+“ing”兩個標記,ii) WordLevel將其視為一個標記。

Normalizers:需要在文本上發生的一些轉換。有一些過濾器可以更改Unicode、小寫字母或刪除內容。

Pre-Tokenizers:為操作文本提供更大靈活性處理的函數。例如,如何處理數字。數字100應該被認為是“100”還是“1”、“0”、“0”?

Post-Processors:后處理具體情況取決于預訓練模型的選擇。例如,將 [BOS](句首)或 [EOS](句尾)標記添加到 BERT 輸入。

下面的代碼使用BPE模型、小寫Normalizers和空白Pre-Tokenizers。然后用默認值初始化訓練器對象,主要包括

1、詞匯量大小使用50265以與BART的英語標記器一致

2、特殊標記,如<s><pad>

3、初始詞匯量,這是每個模型啟動過程的預定義列表。

from tokenizers import normalizers, pre_tokenizers, Tokenizer, models, trainers

# Build a tokenizer
bpe_tokenizer = Tokenizer(models.BPE())
bpe_tokenizer.normalizer = normalizers.Lowercase()
bpe_tokenizer.pre_tokenizer = pre_tokenizers.Whitespace()

trainer = trainers.BpeTrainer(
vocab_size=50265,
special_tokens=["<s>", "<pad>", "</s>", "<unk>", "<mask>"],
initial_alphabet=pre_tokenizers.ByteLevel.alphabet(),
)

使用Huggingface的最后一步是連接Trainer和BPE模型,并傳遞數據集。根據數據的來源,可以使用不同的訓練函數。我們將使用train_from_iterator()。

def batch_iterator():
batch_length = 1000
for i in range(0, len(train), batch_length):
yield train[i : i + batch_length]["ro"]

bpe_tokenizer.train_from_iterator( batch_iterator(), length=len(train), trainer=trainer )

bpe_tokenizer.save("./ro_tokenizer.json")

BART微調

現在可以使用使用新的標記器了。

from transformers import AutoTokenizer, PreTrainedTokenizerFast

en_tokenizer = AutoTokenizer.from_pretrained( "facebook/bart-base" );
ro_tokenizer = PreTrainedTokenizerFast.from_pretrained( "./ro_tokenizer.json" );
ro_tokenizer.pad_token = en_tokenizer.pad_token

def tokenize_dataset(sample):
input = en_tokenizer(sample['en'], padding='max_length', max_length=120, truncation=True)
label = ro_tokenizer(sample['ro'], padding='max_length', max_length=120, truncation=True)

input["decoder_input_ids"] = label["input_ids"]
input["decoder_attention_mask"] = label["attention_mask"]
input["labels"] = label["input_ids"]

return input

train_tokenized = train.map(tokenize_dataset, batched=True)
test_tokenized = test.map(tokenize_dataset, batched=True)
validation_tokenized = validation.map(tokenize_dataset, batched=True)

上面代碼的第5行,為羅馬尼亞語的標記器設置填充標記是非常必要的。因為它將在第9行使用,標記器使用填充可以使所有輸入都具有相同的大小。

下面就是訓練的過程:

from transformers import BartForConditionalGeneration
from transformers import Seq2SeqTrainingArguments, Seq2SeqTrainer

model = BartForConditionalGeneration.from_pretrained( "facebook/bart-base" )

training_args = Seq2SeqTrainingArguments(
output_dir="./",
evaluation_strategy="steps",
per_device_train_batch_size=2,
per_device_eval_batch_size=2,
predict_with_generate=True,
logging_steps=2, # set to 1000 for full training
save_steps=64, # set to 500 for full training
eval_steps=64, # set to 8000 for full training
warmup_steps=1, # set to 2000 for full training
max_steps=128, # delete for full training
overwrite_output_dir=True,
save_total_limit=3,
fp16=False, # True if GPU
)

trainer = Seq2SeqTrainer(
model=model,
args=training_args,
train_dataset=train_tokenized,
eval_dataset=validation_tokenized,
)

trainer.train()

過程也非常簡單,加載bart基礎模型(第4行),設置訓練參數(第6行),使用Trainer對象綁定所有內容(第22行),并啟動流程(第29行)。上述超參數都是測試目的,所以如果要得到最好的結果還需要進行超參數的設置,我們使用這些參數是可以運行的。

推理

推理過程也很簡單,加載經過微調的模型并使用generate()方法進行轉換就可以了,但是需要注意的是對源 (En) 和目標 (RO) 序列使用適當的分詞器。

總結

雖然在使用自然語言處理(NLP)時,標記化似乎是一個基本操作,但它是一個不應忽視的關鍵步驟。HuggingFace的出現可以方便的讓我們使用,這使得我們很容易忘記標記化的基本原理,而僅僅依賴預先訓練好的模型。但是當我們希望自己訓練新模型時,了解標記化過程及其對下游任務的影響是必不可少的,所以熟悉和掌握這個基本的操作是非常有必要的。

本文代碼:https://github.com/AlaFalaki/tutorial_notebooks/blob/main/translation/hf_bart_translation.ipynb

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2023-08-21 10:20:03

開源模型

2024-05-23 12:57:59

2024-02-19 00:12:50

AI代碼

2022-12-19 15:16:46

機器學習模型

2024-03-01 09:00:00

大型語言模型數據集LLM

2022-07-13 16:09:19

模型AI訓練

2024-01-24 13:37:36

大型語言模型人工智能

2024-04-19 12:50:58

人工智能OpenAI

2023-02-19 15:26:51

深度學習數據集

2024-11-04 14:42:12

2024-04-15 12:50:00

大型語言模型ReFT

2021-09-08 07:44:26

人工智能keras神經網絡

2023-08-15 16:20:42

Pandas數據分析

2023-12-28 11:59:26

Zephyr語言模型微調版本

2025-11-12 08:59:07

2020-10-11 22:05:22

機器翻譯谷歌AI

2024-02-26 07:46:54

Markdown語法標記語言有序列表

2023-12-11 21:35:48

2022-10-25 08:00:00

Huggingfac開源庫數據倉庫

2024-01-30 01:12:37

自然語言時間序列預測Pytorch
點贊
收藏

51CTO技術棧公眾號

欧美激情精品久久久久久大尺度| 日韩欧美在线视频免费观看| 国产传媒一区二区| 亚洲 欧美 成人| 91麻豆精品国产91久久久平台 | 99久久综合狠狠综合久久| 国产成人精品视频在线| 顶臀精品视频www| 亚洲春色h网| 欧美一区二区三区成人| 老头吃奶性行交视频| 丝袜美腿av在线| 久久精品一区二区三区av| 91在线国产电影| 欧美中文字幕在线播放| 亚洲综合欧美综合| 国产一级成人av| 在线91免费看| 国产xxxxx视频| 不卡专区在线| 亚洲激情中文1区| 香蕉久久免费影视| 青青草超碰在线| 成人免费毛片嘿嘿连载视频| 成人看片人aa| 中国老头性行为xxxx| 亚洲视频二区| 高清一区二区三区四区五区| 成年人二级毛片| 国内成人自拍| 亚洲老头老太hd| 99免费观看视频| 国产亚洲久久| 欧美一区二区三区免费视频| 国产九九在线观看| 欧亚一区二区| 日本韩国一区二区| 漂亮人妻被中出中文字幕| а_天堂中文在线| 亚洲自拍欧美精品| 大桥未久一区二区三区| 调教视频免费在线观看| 欧美韩国一区二区| 日韩精品电影网站| 国产精品天堂| 国产蜜臀97一区二区三区| 欧洲视频一区二区三区| 黄色大片在线免费观看| 久久久久久久一区| 日本在线观看一区| 国产人成在线视频| 国产精品无码永久免费888| 日本高清一区| 成人欧美亚洲| 国产精品免费视频观看| 亚洲自拍的二区三区| 午夜视频在线看| 欧美激情一区在线观看| 亚洲欧美国产精品桃花| 男人的天堂在线视频免费观看 | 国产精品一级片在线观看| 成人在线一区二区| www.五月婷婷| 成人中文字幕在线| 国产伦精品一区二区三区视频黑人 | 一本色道久久88亚洲精品综合| 怡红院av在线| 亚洲一本大道在线| 久久久999免费视频| 精品91久久| 欧美三级三级三级| 男生和女生一起差差差视频| 高清精品视频| 亚洲品质视频自拍网| 成人一级片免费看| 欧美在线亚洲| 青青久久av北条麻妃黑人| 69视频免费看| 国产在线一区观看| 国产伦精品一区二区三区免| 精品电影在线| 亚洲欧美另类久久久精品2019| www.日本三级| 日本电影欧美片| 在线播放91灌醉迷j高跟美女| 国产原创剧情av| 欧美伦理在线视频| 欧美日本黄视频| 欧美一级淫片免费视频黄| 九一久久久久久| 国内不卡一区二区三区| 成年午夜在线| 亚洲永久精品国产| 亚洲性生活网站| 91午夜精品| 中文精品99久久国产香蕉| 精品97人妻无码中文永久在线| 亚洲免费婷婷| 99re视频在线播放| 成人在线观看一区| 亚洲成av人综合在线观看| 亚洲污视频在线观看| 国产精品色在线网站| 中文字幕自拍vr一区二区三区| 久久精品视频9| 美女爽到高潮91| 久久精品日产第一区二区三区| 成人影欧美片| 在线观看日产精品| 久久人妻少妇嫩草av无码专区| 色婷婷色综合| 日本韩国欧美精品大片卡二| 国精品人妻无码一区二区三区喝尿| 国产欧美精品区一区二区三区 | 欧美特级一级片| 日韩成人一级片| 精品国产乱码久久久久久郑州公司 | 欧美xxxx做受欧美| 中文字幕人妻丝袜乱一区三区 | 黑人狂躁日本娇小| 久久在线精品| 久久99九九| 丁香花在线高清完整版视频| 欧美精选一区二区| 日韩视频在线观看免费视频| 国产亚洲精品bv在线观看| 超碰国产精品久久国产精品99| 巨大荫蒂视频欧美另类大| 在线免费视频一区二区| ass精品国模裸体欣赏pics| 激情av一区| 电影午夜精品一区二区三区| 调教一区二区| 日韩欧美卡一卡二| 免费三级在线观看| 国产精品综合一区二区三区| 9l视频自拍9l视频自拍| 一区二区三区| 久久夜色精品国产| 国产精品毛片一区视频播| 国产精品久久久久久久蜜臀| 五月婷婷之综合激情| 青青草成人影院| 国产精品色视频| 日本中文字幕在线观看| 欧美性xxxxxxxx| 国产精品一区二区亚洲| 麻豆91小视频| 四虎永久免费网站| 日韩最新av| 久久久日本电影| 无码国产精品96久久久久| 午夜电影网一区| 性欧美13一14内谢| 久久一区激情| 亚洲资源视频| 一区二区三区视频免费视频观看网站| 欧美大片免费观看在线观看网站推荐| 成人午夜免费在线观看| 午夜精品久久久久久久| 国产精品无码网站| 日韩av一级电影| 天天干天天操天天干天天操| 深夜福利一区| 91av视频在线观看| 国产精品秘入口| 91精品国产入口| www.av视频在线观看| 久久丝袜美腿综合| 亚洲久久中文字幕| 欧美久久一级| 欧美人与物videos另类| 玖玖精品在线| 久久久噜噜噜久噜久久| 美州a亚洲一视本频v色道| 欧美久久婷婷综合色| 国产无遮挡免费视频| 国产日产欧美一区| 先锋资源在线视频| 欧美亚洲视频| 国产精品无码乱伦| 啪啪激情综合网| 国产在线拍揄自揄视频不卡99| 成人看片免费| 亚洲精品一区二区久| 一区二区三区精| 欧美性猛交xxxx乱大交极品| 日韩三级久久久| 97久久精品人人做人人爽| 在线观看免费的av| 国产视频欧美| 国产亚洲精品久久久久久久| 九九久久婷婷| av一区二区三区在线观看| 色老太综合网| 欧美激情小视频| av在线天堂播放| 亚洲国产成人一区| 国产伦精品一区二区三区视频痴汉| 图片区日韩欧美亚洲| 久久国产高清视频| 久久久久久久久久久黄色| 国产精品99精品无码视亚| 免费在线欧美视频| av7777777| 黑丝一区二区三区| 一本久久a久久精品vr综合| 少妇久久久久| 成人欧美一区二区三区视频 | 欧美一级xxx| 中国a一片一级一片| 精品久久久久久中文字幕| 999精品在线视频| 国产欧美日本一区视频| a视频免费观看| 国产成人aaa| 欧美激情第一区| 青草av.久久免费一区| 亚洲午夜无码av毛片久久| 亚洲第一在线| 国产精品国三级国产av| 91精品国产视频| 在线观看日韩片| 精品精品久久| 欧美日韩一区二区视频在线 | 男人日女人逼逼| 黑丝一区二区| 屁屁影院ccyy国产第一页| 中文在线日韩| 久久国产精品免费观看| 色综合咪咪久久网| 亚洲人成77777| 日韩精品免费一区二区三区| 日韩av不卡播放| 国产日韩欧美一区二区三区| 欧美一区二区在线视频观看| 羞羞色国产精品网站| 久久久久久久久久久久久久久久av| 大奶在线精品| 国产一区二区高清不卡| 老牛国内精品亚洲成av人片| 精品日韩电影| 九九久久婷婷| 视频一区亚洲| 日韩免费一区| 在线观看欧美亚洲| 你懂的国产精品| 成人毛片100部免费看| 午夜精品视频| 男人插女人视频在线观看| 亚洲理伦在线| 丁香啪啪综合成人亚洲| 热久久一区二区| 久久久久久综合网| 国产精品一区二区不卡| jjzz黄色片| 91美女片黄在线观看| 日本免费www| 亚洲欧美国产毛片在线| 久久机热这里只有精品| 精品久久久久久久久久ntr影视| 午夜影院免费在线观看| 欧洲一区在线电影| 99精品国产99久久久久久97| 精品国产凹凸成av人导航| 三区在线视频| 日韩有码在线电影| 青草视频在线免费直播| 日本高清+成人网在线观看| 久久91视频| 成人av影视在线| 窝窝社区一区二区| 一区二区三区精品国产| 国产精品mm| 美女黄色片视频| 国产精品亚洲专一区二区三区 | 亚洲国产精品成人| 久草热视频在线观看| 日韩av一区二| 欧美日韩人妻精品一区在线| 久久精品亚洲精品国产欧美| 加勒比婷婷色综合久久| 日韩欧美国产免费播放| 国产特级aaaaaa大片| 亚洲精品电影网在线观看| 日本三级在线播放完整版| 久久久噜噜噜久久久| 免费一区二区三区四区| 精品久久精品久久| 天天色天天射综合网| 久草资源站在线观看| 国产精品一区二区你懂的| 99久久久无码国产精品衣服| 一二三四区精品视频| 中文字幕人成人乱码亚洲电影| 亚洲成人黄色网址| 日本a级在线| 久久久国产精品| 欧美一级免费大片| 视频在线观看你懂的| 久久久www成人免费精品| 欧美gv在线| 亚洲wwwav| www国产在线| 一区二区三区精品99久久| 欧美videossex| 国产精品视频自在线| 精品淫伦v久久水蜜桃| 手机成人av在线| 日本网站在线观看一区二区三区 | 国产中文字幕免费| 69堂国产成人免费视频| 国产日产精品久久久久久婷婷| 久久久免费av| 哺乳一区二区三区中文视频 | 99国产精品| 亚洲AV无码久久精品国产一区| 中文字幕欧美区| 亚洲自拍一区在线观看| 亚洲激情视频网| 女人天堂av在线播放| 91麻豆国产精品| 日韩欧美国产精品综合嫩v| 国产一级不卡毛片| 26uuu久久天堂性欧美| 日本一级一片免费视频| 精品久久久影院| 污片视频在线免费观看| 91青草视频久久| 亚洲香蕉av| 日韩欧美中文在线视频| 日韩理论片中文av| 一区二区 亚洲| 久久视频免费观看| av在线成人| 久久久久久久免费视频| 国产美女在线观看一区| 欧美性猛交xxxxx少妇| 91精品国产综合久久精品性色| 国产精品一区二区三区视频网站| 麻豆网站免费观看| 国产精品网站在线观看| 特级西西444www大胆免费看| 亚洲人成电影网站色…| 三上悠亚国产精品一区二区三区| 久久久久久久久一区二区| 亚洲一区二区网站| 日本黄色特级片| 色8久久精品久久久久久蜜| 狠狠色伊人亚洲综合网站l| 国产成人亚洲精品| 日韩大片在线| 亚洲三级在线观看视频| 亚洲伦在线观看| 免费观看黄色一级视频| 91av在线播放| 成人在线免费观看视频| 日韩va在线观看| 一区二区三区四区乱视频| 丁香六月天婷婷| 秋霞av国产精品一区| 欧美理论在线播放| 天堂网成人在线| 午夜精品爽啪视频| 国产在线观看网站| 成人免费在线视频网址| 尤物网精品视频| 成人免费无遮挡无码黄漫视频| 欧美日韩国产乱码电影| 欧美黑人猛交| 日韩三级电影| 国产精品影视在线观看| 全部毛片永久免费看| 中文国产成人精品| 成人线上播放| 亚洲成人av免费看| 夜夜精品浪潮av一区二区三区| 女人天堂在线| 亚洲专区中文字幕| 亚洲综合好骚| 欧美日韩成人免费观看| 国产偷国产偷亚洲清高网站| 成人亚洲精品| 凹凸国产熟女精品视频| 亚洲精品国产一区二区精华液| 天堂91在线| 亚洲xxxx18| 久久久久久黄| 精品少妇一二三区| 国产一区二区三区直播精品电影| 免费欧美网站| 日本美女高潮视频| 午夜一区二区三区视频| 理论片午午伦夜理片在线播放| 狠狠色伊人亚洲综合网站色| 久久成人av少妇免费| 天堂网av手机版| 欧美放荡办公室videos4k| 日韩啪啪电影网| 熟女人妻在线视频|