モデル概要
モデル特徴
モデル能力
使用事例
🚀 Albertina 100M PTPT
Albertina 100M PTPT は、ポルトガルのヨーロッパ・ポルトガル語向けの大規模言語モデルです。このモデルは、Transformerニューラルアーキテクチャに基づくBERTファミリーのエンコーダで、DeBERTaモデルをベースに開発され、ポルトガル語において高い性能を発揮します。また、無料で配布され、許容範囲の広いライセンスの下で利用可能です。
🚀 クイックスタート
このモデルは、マスク付き言語モデリングのパイプラインで直接使用できます。以下に使用例を示します。
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='PORTULAN/albertina-ptpt-base')
>>> 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-ptpt-base", num_labels=2)
>>> tokenizer = AutoTokenizer.from_pretrained("PORTULAN/albertina-ptpt-base")
>>> 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-ptpt-rte", evaluation_strategy="epoch")
>>> trainer = Trainer(
... model=model,
... args=training_args,
... train_dataset=tokenized_datasets["train"],
... eval_dataset=tokenized_datasets["validation"],
... )
>>> trainer.train()
✨ 主な機能
- 高い性能:ヨーロッパ・ポルトガル語において、多くの下流タスクで高い性能を発揮します。
- 柔軟性:マスク付き言語モデリングや特定のタスクに対するファインチューニングが可能です。
- 無料配布:MITライセンスの下で無料で配布されています。
📦 インストール
このモデルは、transformers
ライブラリを使用して簡単にインストールできます。以下のコマンドを実行してください。
pip install transformers
💻 使用例
基本的な使用法
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='PORTULAN/albertina-ptpt-base')
>>> unmasker("A culinária portuguesa é rica em sabores e [MASK], 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-ptpt-base", num_labels=2)
>>> tokenizer = AutoTokenizer.from_pretrained("PORTULAN/albertina-ptpt-base")
>>> 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-ptpt-rte", evaluation_strategy="epoch")
>>> trainer = Trainer(
... model=model,
... args=training_args,
... train_dataset=tokenized_datasets["train"],
... eval_dataset=tokenized_datasets["validation"],
... )
>>> trainer.train()
📚 ドキュメント
モデルの説明
このモデルカードは、100Mのパラメータ、12層、隠れ層のサイズが768のAlbertina 100M PTPT baseに関するものです。Albertina-PT-PT baseは、MITライセンスの下で配布されています。DeBERTaは、MITライセンスの下で配布されています。
訓練データ
Albertina 100M PTPTは、以下のソースから収集したヨーロッパ・ポルトガル語の公開コーパスを集めた22億トークンのデータセットで訓練されました。
- OSCAR:100以上の言語のドキュメントを含むデータセットで、ポルトガル語も含まれています。このデータセットは、Common Crawlデータセットから選択されたもので、クロール許可のあるページのみを保持し、重複排除や不要な部分の削除などのフィルタリングが行われています。ポルトガル語のバリアントを区別しないため、メタデータがポルトガルの国コードトップレベルドメインを示すドキュメントのみを保持する追加のフィルタリングを行いました。2023年1月版のOSCARを使用しました。
- DCEP:欧州議会の公式ウェブサイトに公開されているすべての公式EU言語のドキュメントを含む多言語コーパスです。このコーパスのヨーロッパ・ポルトガル語部分を使用しました。
- Europarl:1996年から2011年までの欧州議会の会議録から抽出された並列コーパスです。このコーパスのヨーロッパ・ポルトガル語部分を使用しました。
- ParlamentoPT:ポルトガル議会の討論の文字起こしを含む公開ドキュメントを収集して得られたデータセットです。
前処理
PTPTコーパスのフィルタリングには、BLOOM前処理パイプラインを使用しました。構文構造を乱すため、ストップワードのデフォルトフィルタリングはスキップし、コーパスがポルトガル語として事前選択されているため、言語識別のフィルタリングもスキップしました。
訓練
コードベースとして、英語用のDeBERTa V1 baseを使用しました。Albertina 100M PTPTの訓練には、元のDeBERTaトークナイザーを使用してデータセットをトークナイズし、128トークンのシーケンストランケーションと動的パディングを行いました。モデルは、利用可能な最大メモリ容量を使用して訓練され、バッチサイズは3072サンプル(GPUあたり192サンプル)となりました。学習率は1e-5で線形減衰を使用し、10kのウォームアップステップを行いました。合計200エポックの訓練を行い、約180kのステップとなりました。モデルは、16個のGPU、96個のvCPU、1.360GBのRAMを持つGoogle Cloud A2 VMsのa2-megagpu-16gbで1日間訓練されました。
評価
ベースモデルバージョンは、下流タスクで評価されました。具体的には、広く使用されているGLUEベンチマークのいくつかのタスクに使用される英語データセットをPTPTに翻訳したものを使用しました。
GLUEタスクの翻訳
GLUE-PTというPTPT版のGLUEベンチマークを使用しました。DeepL Translateを使用して、GLUEの同じ4つのタスクを自動翻訳しました。このサービスは、英語からPTPTへの翻訳をオプションとして提供しています。
モデル | RTE (Accuracy) | WNLI (Accuracy) | MRPC (F1) | STS-B (Pearson) |
---|---|---|---|---|
Albertina 900m PTPT | 0.8339 | 0.4225 | 0.9171 | 0.8801 |
Albertina 100m PTPT | 0.6787 | 0.4507 | 0.8829 | 0.8581 |
🔧 技術詳細
モデルのアーキテクチャ
このモデルは、Transformerニューラルアーキテクチャに基づくBERTファミリーのエンコーダで、DeBERTaモデルをベースに開発されています。
訓練の詳細
訓練には、22億トークンのデータセットを使用し、16個のGPUを持つGoogle Cloud A2 VMsで1日間訓練されました。学習率は1e-5で線形減衰を使用し、10kのウォームアップステップを行いました。
📄 ライセンス
このモデルは、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—Fundação para a Ciência e TecnologiaによるPINFRA/22117/2016の助成金によって資金提供されています。
- 研究プロジェクトALBERTINA - ポルトガル語とAIのための基礎エンコーダモデル:FCT—Fundação para a Ciência e TecnologiaによるCPCA-IAC/AV/478394/2022の助成金によって資金提供されています。
- イノベーションプロジェクトACCELERAT.AI - 多言語インテリジェントコンタクトセンター:IAPMEI, I.P. - Agência para a Competitividade e InovaçãoによるPlano de Recuperação e ResiliênciaのC625734525-00462629の助成金、RE-C05-i01の呼び出し—再産業化のためのアジェンダ/アライアンスによって資金提供されています。
- LIACC - 人工知能とコンピュータサイエンスの研究室:FCT—Fundação para a Ciência e TecnologiaによるFCT/UID/CEC/0027/2020の助成金によって資金提供されています。



