模型简介
模型特点
模型能力
使用案例
🚀 Albertina 1.5B PTBR
Albertina 1.5B PTBR 是一款针对 美式葡萄牙语变体 的基础大语言模型。它属于 BERT 家族的 编码器,基于 Transformer 神经网络架构,在 DeBERTa 模型的基础上开发,在该语言领域具有极具竞争力的性能。该模型有不同版本,针对葡萄牙语的不同变体进行训练,即葡萄牙使用的欧洲变体(PTPT)和巴西使用的美式变体(PTBR),并且在开放许可下免费公开分发。
🚀 快速开始
你可以直接使用此模型进行掩码语言建模:
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='PORTULAN/albertina-1b5-portuguese-ptbr-encoder')
>>> unmasker("A culinária portuguesa é rica em sabores e [MASK], tornando-se um dos maiores tesouros do país.")
[{'score': 0.8332648277282715, 'token': 14690, 'token_str': ' costumes', 'sequence': 'A culinária portuguesa é rica em sabores e costumes, tornando-se um dos maiores tesouros do país.'},
{'score': 0.07860890030860901, 'token': 29829, 'token_str': ' cores', 'sequence': 'A culinária portuguesa é rica em sabores e cores, tornando-se um dos maiores tesouros do país.'},
{'score': 0.03278181701898575, 'token': 35277, 'token_str': ' arte', 'sequence': 'A culinária portuguesa é rica em sabores e arte, tornando-se um dos maiores tesouros do país.'},
{'score': 0.009515956044197083, 'token': 9240, 'token_str': ' cor', 'sequence': 'A culinária portuguesa é rica em sabores e cor, tornando-se um dos maiores tesouros do país.'},
{'score': 0.009381960146129131, 'token': 33455, 'token_str': ' nuances', 'sequence': 'A culinária portuguesa é rica em sabores e nuances, tornando-se um dos maiores tesouros do país.'}]
该模型也可通过针对特定任务进行微调来使用:
>>> from transformers import AutoTokenizer, AutoModelForSequenceClassification, TrainingArguments, Trainer
>>> from datasets import load_dataset
>>> model = AutoModelForSequenceClassification.from_pretrained("PORTULAN/albertina-1b5-portuguese-ptbr-encoder", num_labels=2)
>>> tokenizer = AutoTokenizer.from_pretrained("PORTULAN/albertina-1b5-portuguese-ptbr-encoder")
>>> dataset = load_dataset("PORTULAN/glue-ptbr", "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()
✨ 主要特性
- 针对性强:专门为美式葡萄牙语变体设计,能更好地处理该语言的文本。
- 架构先进:基于 Transformer 架构和 DeBERTa 模型开发,具备优秀的性能。
- 版本多样:有针对不同葡萄牙语变体的版本,满足不同地区的需求。
- 免费开源:在开放许可下免费公开分发,方便研究和使用。
📦 安装指南
文档未提及安装步骤,故跳过此章节。
💻 使用示例
基础用法
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='PORTULAN/albertina-1b5-portuguese-ptbr-encoder')
>>> unmasker("A culinária portuguesa é rica em sabores e [MASK], tornando-se um dos maiores tesouros do país.")
[{'score': 0.8332648277282715, 'token': 14690, 'token_str': ' costumes', 'sequence': 'A culinária portuguesa é rica em sabores e costumes, tornando-se um dos maiores tesouros do país.'},
{'score': 0.07860890030860901, 'token': 29829, 'token_str': ' cores', 'sequence': 'A culinária portuguesa é rica em sabores e cores, tornando-se um dos maiores tesouros do país.'},
{'score': 0.03278181701898575, 'token': 35277, 'token_str': ' arte', 'sequence': 'A culinária portuguesa é rica em sabores e arte, tornando-se um dos maiores tesouros do país.'},
{'score': 0.009515956044197083, 'token': 9240, 'token_str': ' cor', 'sequence': 'A culinária portuguesa é rica em sabores e cor, tornando-se um dos maiores tesouros do país.'},
{'score': 0.009381960146129131, 'token': 33455, 'token_str': ' nuances', 'sequence': 'A culinária portuguesa é rica em sabores e nuances, tornando-se um dos maiores tesouros do país.'}]
高级用法
>>> from transformers import AutoTokenizer, AutoModelForSequenceClassification, TrainingArguments, Trainer
>>> from datasets import load_dataset
>>> model = AutoModelForSequenceClassification.from_pretrained("PORTULAN/albertina-1b5-portuguese-ptbr-encoder", num_labels=2)
>>> tokenizer = AutoTokenizer.from_pretrained("PORTULAN/albertina-1b5-portuguese-ptbr-encoder")
>>> dataset = load_dataset("PORTULAN/glue-ptbr", "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()
📚 详细文档
模型描述
此模型卡片针对 Albertina 1.5B PTBR,拥有 15 亿个参数、48 层和 1536 的隐藏层大小。Albertina 1.5B PTBR 根据 MIT 许可证 分发,DeBERTa 也根据 MIT 许可证 分发。
训练数据
Albertina 1.5B PTBR 在一个 360 亿标记的数据集上进行训练,该数据集是通过收集来自以下来源的一些公开可用的美式葡萄牙语语料库得到的:
- CulturaX:CulturaX 是一个多语言语料库,可免费用于研究和人工智能开发,它是通过合并和深度清理另外两个大型数据集 mC4 和 OSCAR 创建的。它是对 Common Crawl 数据集进行筛选的结果,该数据集是从网络上爬取的,只保留元数据表明允许爬取的页面,进行去重处理,并去除一些样板内容等。由于它不区分葡萄牙语变体,我们进行了额外的过滤,只保留元数据表明互联网国家代码顶级域名是葡萄牙的文档。
预处理
我们使用 BLOOM 预处理 管道对 PTBR 语料库进行过滤。我们跳过了默认的停用词过滤,因为这会破坏句法结构,同时也跳过了语言识别过滤,因为语料库已经预先选择为葡萄牙语。
训练
作为代码库,我们采用了用于英语的 DeBERTa V2 xxlarge。为了训练 Albertina 1.5B PTBR,数据集使用原始的 DeBERTa 分词器进行分词,对 250k 步采用 128 标记的序列截断和动态填充,对 80k 步采用 256 标记的序列截断(Albertina 1.5B PTBR 256),最后对 60k 步采用 512 标记的序列截断。这些步骤分别对应于在 Google Cloud A2 节点 a2-megagpu-16gb 上对 128 标记输入序列进行 48 小时的计算、对 256 标记输入序列进行 24 小时的计算以及对 512 标记输入序列进行 24 小时的计算。我们选择了 1e - 5 的学习率,采用线性衰减和 10k 预热步骤。
性能
我们采用了 extraGLUE,这是 GLUE 和 SUPERGLUE 的 PTBR 版本 基准测试。我们使用 DeepL Translate 自动翻译了 GLUE 和 SUPERGLUE 的任务,该工具特别提供了从英语到 PTPT 或 PTBR 的翻译选项。
模型 | RTE(准确率) | WNLI(准确率) | MRPC(F1 值) | STS - B(皮尔逊系数) | COPA(准确率) | CB(F1 值) | MultiRC(F1 值) | BoolQ(准确率) |
---|---|---|---|---|---|---|---|---|
Albertina 1.5B PTBR | 0.8676 | 0.4742 | 0.8622 | 0.9007 | 0.7767 | 0.6372 | 0.7667 | 0.8654 |
Albertina 1.5B PTBR 256 | 0.8123 | 0.4225 | 0.8638 | 0.8968 | 0.8533 | 0.6884 | 0.6799 | 0.8509 |
Albertina 900M PTBR | 0.7545 | 0.4601 | 0.9071 | 0.8910 | 0.7767 | 0.5799 | 0.6731 | 0.8385 |
BERTimbau (335M) | 0.6446 | 0.5634 | 0.8873 | 0.8842 | 0.6933 | 0.5438 | 0.6787 | 0.7783 |
Albertina 100M PTBR | 0.6582 | 0.5634 | 0.8149 | 0.8489 | n.a. | 0.4771 | 0.6469 | 0.7537 |
DeBERTa 1.5B (英语) | 0.7112 | 0.5634 | 0.8545 | 0.0123 | 0.5700 | 0.4307 | 0.3639 | 0.6217 |
DeBERTa 100M (英语) | 0.5716 | 0.5587 | 0.8060 | 0.8266 | n.a. | 0.4739 | 0.6391 | 0.6838 |
🔧 技术细节
Albertina 1.5B PTBR 是基于 Transformer 架构和 DeBERTa 模型开发的编码器。它在一个 360 亿标记的美式葡萄牙语数据集上进行训练,通过特定的预处理和训练步骤,调整参数以达到较好的性能。在训练过程中,采用了不同的序列截断和动态填充策略,以及特定的学习率和预热步骤。在性能评估方面,使用了 extraGLUE 基准测试,该测试是 GLUE 和 SUPERGLUE 的 PTBR 版本,通过自动翻译任务来适应美式葡萄牙语。
📄 许可证
Albertina 1.5B PTBR 根据 MIT 许可证 分发,DeBERTa 也根据 MIT 许可证 分发。
引用
使用或引用此模型时,请引用以下 出版物:
@misc{albertina-pt-fostering,
title={Fostering the Ecosystem of Open Neural Encoders
for Portuguese with Albertina PT-* family},
author={Rodrigo Santos and João Rodrigues and Luís Gomes
and João Silva and António Branco
and Henrique Lopes Cardoso and Tomás Freitas Osório
and Bernardo Leite},
year={2024},
eprint={2403.01897},
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. - 竞争力与创新局根据复苏与韧性计划的赠款 C625734525 - 00462629 资助,项目编号 RE - C05 - i01.01 – 再工业化动员议程/联盟。
- LIACC - 人工智能与计算机科学实验室,由 FCT — 科学技术基金会根据赠款 FCT/UID/CEC/0027/2020 资助。



