🚀 CANINE-c(使用自迴歸字符損失進行預訓練的CANINE模型)
CANINE-c是一個使用掩碼語言建模(MLM)目標,在104種語言上進行預訓練的模型。它在論文CANINE: Pre-training an Efficient Tokenization-Free Encoder for Language Representation中被提出,並首次在此倉庫中發佈。CANINE的特別之處在於,它不需要像BERT和RoBERTa等其他模型那樣使用顯式的分詞器(如WordPiece或SentencePiece),而是直接在字符級別上進行操作,將每個字符轉換為其Unicode碼點。
🚀 快速開始
CANINE是一種以自監督方式在大量多語言數據語料庫上進行預訓練的Transformer模型,類似於BERT。這意味著它僅在原始文本上進行預訓練,沒有人工以任何方式對其進行標註(這就是為什麼它可以使用大量公開可用的數據),並通過自動過程從這些文本中生成輸入和標籤。更準確地說,它以兩個目標進行預訓練:
- 掩碼語言建模(MLM):隨機掩蓋部分輸入,模型需要預測這些被掩蓋的部分。此模型(CANINE-c)使用自迴歸字符損失進行訓練。在每個序列中掩蓋幾個字符跨度,然後模型進行自迴歸預測。
- 下一句預測(NSP):在預訓練期間,模型將兩個句子作為輸入進行拼接。有時它們對應於原始文本中相鄰的句子,有時則不是。然後模型必須預測這兩個句子是否相鄰。
通過這種方式,模型學習到多種語言的內部表示,可用於提取對下游任務有用的特徵。例如,如果您有一個帶標籤的句子數據集,您可以使用CANINE模型生成的特徵作為輸入來訓練一個標準分類器。
✨ 主要特性
- 無需顯式分詞器:直接在字符級別操作,將字符轉換為Unicode碼點,簡化輸入處理。
- 多語言預訓練:在104種語言的大規模語料庫上進行預訓練,學習多種語言的內部表示。
- 自監督學習:通過掩碼語言建模和下一句預測兩個目標進行自監督學習,可用於下游任務特徵提取。
📦 安裝指南
暫未提及具體安裝步驟,可參考transformers
庫的安裝方式來使用該模型。
💻 使用示例
基礎用法
from transformers import CanineTokenizer, CanineModel
model = CanineModel.from_pretrained('google/canine-c')
tokenizer = CanineTokenizer.from_pretrained('google/canine-c')
inputs = ["Life is like a box of chocolates.", "You never know what you gonna get."]
encoding = tokenizer(inputs, padding="longest", truncation=True, return_tensors="pt")
outputs = model(**encoding)
pooled_output = outputs.pooler_output
sequence_output = outputs.last_hidden_state
📚 詳細文檔
模型描述
CANINE是一種以自監督方式在大量多語言數據語料庫上進行預訓練的Transformer模型,類似於BERT。它通過掩碼語言建模(MLM)和下一句預測(NSP)兩個目標進行預訓練,學習多種語言的內部表示,可用於下游任務特徵提取。
預期用途與限制
可以使用原始模型進行掩碼語言建模或下一句預測,但它主要用於在下游任務上進行微調。可查看模型中心以尋找針對您感興趣的任務進行微調的版本。
請注意,此模型主要旨在針對使用整個句子(可能被掩碼)進行決策的任務進行微調,例如序列分類、標記分類或問答。對於文本生成等任務,您應該考慮像GPT2這樣的模型。
🔧 技術細節
CANINE模型的輸入處理非常簡單,通常可以通過以下方式完成:
input_ids = [ord(char) for char in text]
ord()
函數是Python的內置函數,用於將每個字符轉換為其Unicode碼點。
📄 許可證
本模型使用apache-2.0
許可證。
相關信息
支持語言
支持以下語言:
- multilingual
- af
- sq
- ar
- an
- hy
- ast
- az
- ba
- eu
- bar
- be
- bn
- inc
- bs
- br
- bg
- my
- ca
- ceb
- ce
- zh
- cv
- hr
- cs
- da
- nl
- en
- et
- fi
- fr
- gl
- ka
- de
- el
- gu
- ht
- he
- hi
- hu
- is
- io
- id
- ga
- it
- ja
- jv
- kn
- kk
- ky
- ko
- la
- lv
- lt
- roa
- nds
- lm
- mk
- mg
- ms
- ml
- mr
- mn
- min
- ne
- new
- nb
- nn
- oc
- fa
- pms
- pl
- pt
- pa
- ro
- ru
- sco
- sr
- hr
- scn
- sk
- sl
- aze
- es
- su
- sw
- sv
- tl
- tg
- th
- ta
- tt
- te
- tr
- uk
- ud
- uz
- vi
- vo
- war
- cy
- fry
- pnb
- yo
訓練數據
CANINE模型在mBERT的多語言維基百科數據上進行預訓練,該數據包含104種語言。
BibTeX引用
@article{DBLP:journals/corr/abs-2103-06874,
author = {Jonathan H. Clark and
Dan Garrette and
Iulia Turc and
John Wieting},
title = {{CANINE:} Pre-training an Efficient Tokenization-Free Encoder for
Language Representation},
journal = {CoRR},
volume = {abs/2103.06874},
year = {2021},
url = {https://arxiv.org/abs/2103.06874},
archivePrefix = {arXiv},
eprint = {2103.06874},
timestamp = {Tue, 16 Mar 2021 11:26:59 +0100},
biburl = {https://dblp.org/rec/journals/corr/abs-2103-06874.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
信息表格
屬性 |
詳情 |
模型類型 |
CANINE-c(使用自迴歸字符損失進行預訓練的CANINE模型) |
訓練數據 |
mBERT的多語言維基百科數據,包含104種語言 |
許可證 |
apache-2.0 |