英文

这是Albertina PT-BR的模型卡片。您可能对 Albertina (encoders) and Gervásio (decoders) families 中的其他模型感兴趣。

Albertina PT-BR

Albertina PT-BR是一款用于葡萄牙语的大型语言模型。

它是BERT系列的编码器,基于神经架构Transformer开发,并基于DeBERTa模型开发,在该语言中具有最具竞争力的性能。它有不同的版本,为不同的葡萄牙语变体(PT)进行了训练,即葡萄牙的欧洲变体(PT-PT)和巴西的美洲变体(PT-BR),并且可以免费分发和在最大程度上允许的许可下使用。

Albertina PT-BR是针对巴西葡萄牙语的版本,使用brWaC数据集进行训练。

您可能还对在brWaC之外的数据集上训练的 Albertina PT-BR No-brWaC 感兴趣,并因此具有更宽松的许可证。据我们所知,这些是针对该语言和变种的编码器,最初分发时就为其设置了新的技术水平,并可公开获取并分发以供重用。

Albertina PT-BR由葡萄牙里斯本大学和波尔图大学的联合团队开发。有关详细信息,请查看相应的 publication

@misc{albertina-pt,
      title={Advancing Neural Encoding of Portuguese
             with Transformer Albertina PT-*}, 
      author={João Rodrigues and Luís Gomes and João Silva and
              António Branco and Rodrigo Santos and
              Henrique Lopes Cardoso and Tomás Osório},
      year={2023},
      eprint={2305.06721},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

使用或引用此模型时,请使用上述规范参考。

模型描述

这个模型卡片适用于Albertina-PT-BR,具有900M参数,24层,隐藏大小为1536。

根据许可证,该模型的分发遵守 BrWac 数据集的许可证,即“仅用于学术研究目的,并同意不将其用于任何商业应用程序”。

训练数据

Albertina PT-BR使用了27亿个令牌的 BrWac 数据集进行训练。

Albertina PT-PT 又是使用了22亿个令牌的数据集进行训练,该数据集是从以下来源收集的一些公开可用的欧洲葡萄牙语语料库中获得的:

  • OSCAR :OSCAR数据集包括100多种语言(包括葡萄牙语),并且在文献中被广泛使用。它是通过对Web进行的爬网,仅保留了其元数据指示可以进行爬网的页面,并执行了去重等过滤来筛选的。由于它不区分葡萄牙语的变体,我们通过仅保留元数据指示葡萄牙的Internet国家代码顶级域的文档进行了额外的筛选。我们使用了OSCAR的2023年1月版本,该版本基于Common Crawl的2022年11月/12月版本。
  • DCEP :欧洲议会数字语料库是一个多语种语料库,包括欧盟所有官方语言的文件,这些文件发布在欧洲议会的官方网站上。我们保留了其中的欧洲葡萄牙语部分。
  • Europarl :欧洲议会会议平行语料库是从1996年到2011年的欧洲议会会议记录中提取的。我们保留了其中的欧洲葡萄牙语部分。
  • ParlamentoPT :ParlamentoPT是我们通过收集葡萄牙议会公开可用的辩论记录而获得的数据集。

预处理

我们使用 BLOOM pre-processing 流程对PT-PT语料进行了过滤,得到了800万个文档的数据集,包含约22亿个令牌。由于默认的停用词过滤会破坏句法结构,并且由于该语料已经预先选择为葡萄牙语,我们跳过了停用词的默认过滤以及语言识别的过滤。

训练

作为代码库,我们使用了 DeBERTa V2 XLarge 作为英语的基准。

为了训练Albertina-PT-BR,BrWac数据集使用原始的DeBERTa分词器进行了128个令牌序列截断和动态填充。使用最大可用内存容量进行训练,结果每个批次大小为896个样本(每个GPU 56个样本,无梯度累积步骤)。我们选择了学习率为1e-5,带有线性衰减和10k个热身步骤,基于探索性实验的结果。总共进行了约20万个训练步骤,跨越了50个epochs。该模型在Google Cloud A2 VM(a2-megagpu-16gb),具有16个GPU,96个vCPU和1360 GB的RAM上进行了1天11小时的训练。

为了训练 Albertina PT-PT ,使用原始的DeBERTa分词器对数据集进行了128个令牌序列截断和动态填充。使用最大可用内存容量进行训练,结果每个批次大小为832个样本(每个GPU 52个样本,并应用梯度累积以逼近PT-BR模型的批次大小)。与上述PT-BR变体类似,我们选择了学习率为1e-5,带有线性衰减和10k个热身步骤。然而,由于训练示例的数量约为PT-BR变体的两倍,我们将训练周期减半,只完成了25个epochs,总共进行了约24.5万个步骤。该模型在Google Cloud A2 VM(a2-highgpu-8gb),具有8个GPU,96个vCPU和680 GB的RAM上进行了3天的训练。

评估

这两个模型版本被用于组织为两组的下游任务进行评估。

其中一组是来自 ASSIN 2 benchmark 的两个数据集:STS和RTE,用于评估先前的最先进模型 BERTimbau Large 。在另一组数据集中,我们对用于 GLUE benchmark 中几个任务的英文数据集的PT-BR和PT-PT翻译进行了评估,这使得我们能够在更广泛的下游任务中测试Albertina-PT-*两个变体。

ASSIN 2

ASSIN 2 是一个包含约10,000个句子对的PT-BR数据集,其中6,500个用于训练,500个用于验证,2,448个用于测试,带有语义相关性分数(范围为1到5)和二进制蕴含判断。该数据集支持语义文本相似性(STS)任务,即为两个句子分配一个表示它们语义相关性的分数;以及文本蕴涵识别(RTE)任务,即在给定一对句子的情况下,确定第一个句子是否蕴涵第二个句子。

Model RTE (Accuracy) STS (Pearson)
Albertina-PT-BR 0.9130 0.8676
BERTimbau-large 0.8913 0.8531

GLUE任务翻译

我们使用 PLUE 将GLUE转化为PT-BR的数据集。我们处理了PLUE中的四个任务,分别是:

  • 两个相似任务:MRPC用于检测两个句子是否是互相解释的,STS-B用于语义文本相似性;
  • 两个推理任务:RTE用于识别文本蕴涵和WNLI用于共指和自然语言推理。
Model RTE (Accuracy) WNLI (Accuracy) MRPC (F1) STS-B (Pearson)
Albertina-PT-BR 0.7545 0.4601 0.9071 0.8910
BERTimbau-large 0.6546 0.5634 0.887 0.8842
Albertina-PT-PT 0.7960 0.4507 0.9151 0.8799

我们使用 GLUE-PT 进行了GLUE基准的PT-PT版本。我们使用 DeepL Translate 对GLUE中的相同四个任务进行了自动翻译,该翻译工具专门提供了从英语到PT-PT的翻译选项。

Model RTE (Accuracy) WNLI (Accuracy) MRPC (F1) STS-B (Pearson)
Albertina-PT-PT 0.8339 0.4225 0.9171 0.8801
Albertina-PT-BR 0.7942 0.4085 0.9048 0.8847

使用方法

您可以直接使用该模型进行遮蔽语言建模的流水线处理:

>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='PORTULAN/albertina-ptbr')
>>> unmasker("A culinária brasileira é rica em sabores e [MASK], tornando-se um dos maiores patrimônios do país.")

[{'score': 0.6145166158676147, 'token': 23395, 'token_str': 'aromas', 'sequence': 'A culinária brasileira é rica em sabores e aromas, tornando-se um dos maiores patrimônios do país.'},
{'score': 0.1720353364944458, 'token': 21925, 'token_str': 'cores', 'sequence': 'A culinária brasileira é rica em sabores e cores, tornando-se um dos maiores patrimônios do país.'},
{'score': 0.1438736468553543, 'token': 10392, 'token_str': 'costumes', 'sequence': 'A culinária brasileira é rica em sabores e costumes, tornando-se um dos maiores patrimônios do país.'},
{'score': 0.02997930906713009, 'token': 117371, 'token_str': 'cultura', 'sequence': 'A culinária brasileira é rica em sabores e cultura, tornando-se um dos maiores patrimônios do país.'},
{'score': 0.015540072694420815, 'token': 22647, 'token_str': 'nuances', 'sequence': 'A culinária brasileira é rica em sabores e nuances, tornando-se um dos maiores patrimônios do país.'}]

该模型可以通过针对特定任务进行微调来使用:

>>> from transformers import AutoTokenizer, AutoModelForSequenceClassification, TrainingArguments, Trainer
>>> from datasets import load_dataset

>>> model = AutoModelForSequenceClassification.from_pretrained("PORTULAN/albertina-ptbr", num_labels=2)
>>> tokenizer = AutoTokenizer.from_pretrained("PORTULAN/albertina-ptbr")
>>> dataset = load_dataset("PORTULAN/glue-ptpt", "rte")

>>> def tokenize_function(examples):
...     return tokenizer(examples["sentence1"], examples["sentence2"], padding="max_length", truncation=True)

>>> tokenized_datasets = dataset.map(tokenize_function, batched=True)

>>> training_args = TrainingArguments(output_dir="albertina-ptbr-rte", evaluation_strategy="epoch")
>>> trainer = Trainer(
...     model=model,
...     args=training_args,
...     train_dataset=tokenized_datasets["train"],
...     eval_dataset=tokenized_datasets["validation"],
... )

>>> trainer.train()

引用

在使用或引用该模型时,请引用以下 publication

@misc{albertina-pt,
      title={Advancing Neural Encoding of Portuguese
             with Transformer Albertina PT-*}, 
      author={João Rodrigues and Luís Gomes and João Silva and
              António Branco and Rodrigo Santos and
              Henrique Lopes Cardoso and Tomás Osório},
      year={2023},
      eprint={2305.06721},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

致谢

此处报道的研究部分得到以下支持:PORTULAN CLARIN - 用于语言科学和技术研究的研究基础设施,由Lisboa 2020、Alentejo 2020和FCT(葡萄牙基金会)在PINFRA/22117/2016授予的资助下获得;ALBERTINA - 用于葡萄牙语和人工智能的基金会编码器模型,由FCT(葡萄牙基金会)在CPCA-IAC/AV/478394/2022授予的资助下获得;ACCELERAT.AI - 多语种智能联系中心创新项目,由IAPMEI、I.P. - 激励与创新竞争力局在Plano de Recuperação e Resiliência的C625734525-00462629号许可下获得;以及LIACC - 人工智能和计算机科学实验室,由FCT(葡萄牙基金会)在FCT/UID/CEC/0027/2020授予的资助下获得。