🚀 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 |