🚀 CANINE-c (自己回帰的文字損失で事前学習されたCANINE)
104言語のデータセットを用いて、マスク言語モデリング(MLM)の目的で事前学習されたCANINEモデルです。このモデルは論文 CANINE: Pre-training an Efficient Tokenization-Free Encoder for Language Representation で紹介され、このリポジトリ で最初に公開されました。
CANINEの特徴は、BERTやRoBERTaのような他のモデルとは異なり、明示的なトークナイザー(WordPieceやSentencePieceなど)を必要としないことです。代わりに、文字レベルで直接動作します。つまり、各文字は Unicodeコードポイント に変換されます。
これにより、入力処理は非常にシンプルで、通常は以下のように行えます。
input_ids = [ord(char) for char in text]
ord() 関数はPythonの組み込み関数で、各文字をUnicodeコードポイントに変換します。
免責事項: CANINEを公開したチームはこのモデルのモデルカードを作成していないため、このモデルカードはHugging Faceチームによって作成されました。
🚀 クイックスタート
このモデルは、マスク言語モデリングや次文予測に使用できますが、主に下流タスクでのファインチューニングを目的としています。モデルハブ で、関心のあるタスクでファインチューニングされたバージョンを探すことができます。
✨ 主な機能
トークナイザー不要
他のモデルとは異なり、明示的なトークナイザーを必要とせず、文字レベルで直接動作します。
多言語対応
104言語のデータセットを用いて事前学習されているため、多言語に対応しています。
自己教師あり学習
BERTと同様に、自己教師あり学習で事前学習されているため、大量の公開データを利用できます。
💻 使用例
基本的な使用法
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は、BERTと同様に、自己教師あり学習で多言語の大規模コーパスで事前学習されたトランスフォーマーモデルです。つまり、人間によるラベル付けを一切行わず、生のテキストのみを用いて、自動的に入力とラベルを生成するプロセスで事前学習されています。具体的には、以下の2つの目的で事前学習されています。
- マスク言語モデリング(MLM): 入力の一部をランダムにマスクし、モデルがそれを予測する必要があります。このモデル(CANINE-c)は、自己回帰的文字損失で学習されています。各シーケンス内のいくつかの文字スパンをマスクし、モデルが自己回帰的に予測します。
- 次文予測(NSP): 事前学習中に、モデルは2つの文を入力として連結します。時には元のテキストで隣り合っていた文に対応し、時にはそうではありません。モデルは、2つの文が連続しているかどうかを予測する必要があります。
このように、モデルは複数の言語の内部表現を学習し、それを下流タスクに有用な特徴量として抽出することができます。たとえば、ラベル付けされた文のデータセットがある場合、CANINEモデルが生成する特徴量を入力として、標準的な分類器を学習することができます。
想定される用途と制限
このモデルは、マスク言語モデリングや次文予測に使用できますが、主に下流タスクでのファインチューニングを目的としています。このモデルは、文全体(潜在的にマスクされた)を使用して決定を行うタスク、例えばシーケンス分類、トークン分類、質問応答などでのファインチューニングを主な目的としています。テキスト生成などのタスクには、GPT2のようなモデルを使用することをお勧めします。
学習データ
CANINEモデルは、mBERT の多言語Wikipediaデータで事前学習されており、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}
}
📄 ライセンス
このモデルは、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
データセット