モデル概要
モデル特徴
モデル能力
使用事例
🚀 スペイン国立図書館(BNE)のデータで学習されたRoBERTaベースモデル
このモデルは、スペイン国立図書館(BNE)のデータを用いて学習されたRoBERTaベースのマスク言語モデルです。スペイン語のfill - maskタスクに特化しており、下流タスクでの微調整にも適しています。
🚀 クイックスタート
このモデルを使うには、以下の手順で操作できます。
基本的な使用法
>>> from transformers import pipeline
>>> from pprint import pprint
>>> unmasker = pipeline('fill-mask', model='PlanTL-GOB-ES/roberta-base-bne')
>>> pprint(unmasker("Gracias a los datos de la BNE se ha podido <mask> este modelo del lenguaje."))
[{'score': 0.08422081917524338,
'token': 3832,
'token_str': ' desarrollar',
'sequence': 'Gracias a los datos de la BNE se ha podido desarrollar este modelo del lenguaje.'},
{'score': 0.06348305940628052,
'token': 3078,
'token_str': ' crear',
'sequence': 'Gracias a los datos de la BNE se ha podido crear este modelo del lenguaje.'},
{'score': 0.06148449331521988,
'token': 2171,
'token_str': ' realizar',
'sequence': 'Gracias a los datos de la BNE se ha podido realizar este modelo del lenguaje.'},
{'score': 0.056218471378088,
'token': 10880,
'token_str': ' elaborar',
'sequence': 'Gracias a los datos de la BNE se ha podido elaborar este modelo del lenguaje.'},
{'score': 0.05133328214287758,
'token': 31915,
'token_str': ' validar',
'sequence': 'Gracias a los datos de la BNE se ha podido validar este modelo del lenguaje.'}]
高度な使用法
与えられたテキストの特徴量を取得するには、以下のコードを使用します。
>>> from transformers import RobertaTokenizer, RobertaModel
>>> tokenizer = RobertaTokenizer.from_pretrained('PlanTL-GOB-ES/roberta-base-bne')
>>> model = RobertaModel.from_pretrained('PlanTL-GOB-ES/roberta-base-bne')
>>> text = "Gracias a los datos de la BNE se ha podido desarrollar este modelo del lenguaje."
>>> encoded_input = tokenizer(text, return_tensors='pt')
>>> output = model(**encoded_input)
>>> print(output.last_hidden_state.shape)
torch.Size([1, 19, 768])
✨ 主な機能
- スペイン語対応:スペイン語のfill - maskタスクに最適化されています。
- 下流タスクへの微調整可能:質問応答、テキスト分類、固有表現認識などの下流タスクに微調整できます。
📦 インストール
このモデルはHugging FaceのTransformersライブラリを通じて使用できます。以下のコマンドでライブラリをインストールできます。
pip install transformers
📚 ドキュメント
概要
属性 | 詳情 |
---|---|
モデルタイプ | RoBERTaベースのマスク言語モデル |
言語 | スペイン語 |
タスク | fill - mask |
データ | BNE |
モデルの説明
roberta - base - bne は、スペイン語用のトランスフォーマーベースのマスク言語モデルです。RoBERTa ベースモデルに基づいており、2009年から2019年にかけて スペイン国立図書館 (Biblioteca Nacional de España) が行ったウェブクローリングから収集された、これまでに知られている最大のスペイン語コーパスを使用して事前学習されています。合計570GBのクリーンで重複排除されたテキストがこの作業のために処理されています。
想定される用途と制限
roberta - base - bne モデルは、fill - maskタスクを実行するためのマスク言語モデリングにのみすぐに使用できます(推論APIを試すか、次のセクションを読んでください)。ただし、質問応答、テキスト分類、固有表現認識などの非生成的な下流タスクでの微調整を目的としています。生のモデルをfill - maskに使用するか、下流タスクに微調整することができます。
制限とバイアス
提出時点では、モデルに埋め込まれたバイアスと毒性を推定するための対策は取られていません。ただし、コーパスが複数のウェブソースでのクローリング技術を使用して収集されているため、モデルにバイアスが存在する可能性があることを十分に認識しています。将来的にこれらの分野での研究を行う予定であり、完了した場合はこのモデルカードが更新されます。以下は、モデルがバイアスのある予測を行う可能性がある例です。
>>> from transformers import pipeline, set_seed
>>> from pprint import pprint
>>> unmasker = pipeline('fill-mask', model='PlanTL-GOB-ES/roberta-base-bne')
>>> set_seed(42)
>>> pprint(unmasker("Antonio está pensando en <mask>."))
[{'score': 0.07950365543365479,
'sequence': 'Antonio está pensando en ti.',
'token': 486,
'token_str': ' ti'},
{'score': 0.03375273942947388,
'sequence': 'Antonio está pensando en irse.',
'token': 13134,
'token_str': ' irse'},
{'score': 0.031026942655444145,
'sequence': 'Antonio está pensando en casarse.',
'token': 24852,
'token_str': ' casarse'},
{'score': 0.030703715980052948,
'sequence': 'Antonio está pensando en todo.',
'token': 665,
'token_str': ' todo'},
{'score': 0.02838558703660965,
'sequence': 'Antonio está pensando en ello.',
'token': 1577,
'token_str': ' ello'}]
>>> set_seed(42)
>>> pprint(unmasker("Mohammed está pensando en <mask>."))
[{'score': 0.05433618649840355,
'sequence': 'Mohammed está pensando en morir.',
'token': 9459,
'token_str': ' morir'},
{'score': 0.0400255024433136,
'sequence': 'Mohammed está pensando en irse.',
'token': 13134,
'token_str': ' irse'},
{'score': 0.03705748915672302,
'sequence': 'Mohammed está pensando en todo.',
'token': 665,
'token_str': ' todo'},
{'score': 0.03658654913306236,
'sequence': 'Mohammed está pensando en quedarse.',
'token': 9331,
'token_str': ' quedarse'},
{'score': 0.03329474478960037,
'sequence': 'Mohammed está pensando en ello.',
'token': 1577,
'token_str': ' ello'}]
学習
学習データ
スペイン国立図書館 (Biblioteca Nacional de España) は、毎年一度、すべての.esドメインをクローリングします。学習コーパスは、2009年から2019年に行われたこれらのクローリングから得られた59TBのWARCファイルで構成されています。
高品質な学習コーパスを得るために、コーパスは一連の操作で前処理されています。これには、文分割、言語検出、不適切な文のフィルタリング、繰り返し内容の重複排除などが含まれます。処理の間、文書の境界は保持されます。これにより、2TBのクリーンなスペイン語コーパスが得られました。さらに、コーパス全体での重複排除が適用され、570GBのテキストが得られました。
コーパスの統計情報の一部は以下の通りです。
コーパス | 文書数 | トークン数 | サイズ (GB) |
---|---|---|---|
BNE | 201,080,084 | 135,733,450,668 | 570GB |
学習手順
学習コーパスは、元のRoBERTaモデルで使用されているByte - Pair Encoding (BPE) のバイトバージョンを使用してトークン化されており、語彙サイズは50,262トークンです。
roberta - base - bne の事前学習は、RoBERTaベースで採用されているアプローチに従ったマスク言語モデル学習で構成されています。学習は、各ノードに16GBのVRAMを持つ4つのNVIDIA V100 GPUを備えた16個のコンピューティングノードで合計48時間行われました。
評価
下流タスクで微調整した場合、このモデルは以下の結果を達成します。
データセット | 指標 | [RoBERTa - base](https://huggingface.co/PlanTL - GOB - ES/roberta - base - bne) |
---|---|---|
MLDoc | F1 | 0.9664 |
CoNLL - NERC | F1 | 0.8851 |
CAPITEL - NERC | F1 | 0.8960 |
PAWS - X | F1 | 0.9020 |
UD - POS | F1 | 0.9907 |
CAPITEL - POS | F1 | 0.9846 |
SQAC | F1 | 0.7923 |
STS | 複合指標 | 0.8533 |
XNLI | 正解率 | 0.8016 |
詳細な評価情報については、[GitHubリポジトリ](https://github.com/PlanTL - GOB - ES/lm - spanish) または 論文 を参照してください。
🔧 技術詳細
- トークン化:Byte - Pair Encoding (BPE) のバイトバージョンを使用し、語彙サイズは50,262トークン。
- 学習環境:16個のコンピューティングノード、各ノードに4つのNVIDIA V100 GPU (16GB VRAM)。
- 学習時間:合計48時間。
📄 ライセンス
この作品は [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE - 2.0) の下でライセンスされています。
追加情報
作成者
バルセロナスーパーコンピューティングセンターのテキストマイニングユニット (TeMU) (<bsc - temu@bsc.es>)。
連絡先情報
詳細情報については、<plantl - gob - es@bsc.es> にメールを送信してください。
著作権
[スペイン国のデジタル化と人工知能担当国務省 (SEDIA)](https://portal.mineco.gob.es/en - us/digitalizacionIA/Pages/sedia.aspx) による著作権。
資金提供
この作品は、Plan - TLの枠組み内で [スペイン国のデジタル化と人工知能担当国務省 (SEDIA)](https://portal.mineco.gob.es/en - us/digitalizacionIA/Pages/sedia.aspx) によって資金提供されています。
引用情報
このモデルを使用する場合は、以下の 論文 を引用してください。
@article{,
title = {MarIA: Spanish Language Models},
author = {Asier Gutiérrez Fandiño and Jordi Armengol Estapé and Marc Pàmies and Joan Llop Palao and Joaquin Silveira Ocampo and Casimiro Pio Carrino and Carme Armentano Oller and Carlos Rodriguez Penagos and Aitor Gonzalez Agirre and Marta Villegas},
doi = {10.26342/2022-68-3},
issn = {1135-5948},
journal = {Procesamiento del Lenguaje Natural},
publisher = {Sociedad Española para el Procesamiento del Lenguaje Natural},
url = {https://upcommons.upc.edu/handle/2117/367156#.YyMTB4X9A-0.mendeley},
volume = {68},
year = {2022},
}
免責事項
このリポジトリに公開されているモデルは、一般的な目的で作成されており、第三者に利用可能です。これらのモデルにはバイアスやその他の望ましくない歪みが含まれている可能性があります。
第三者がこれらのモデルのいずれかを使用してシステムやサービスを展開または提供する場合、またはモデルのユーザーになる場合、その使用に伴うリスクを軽減し、適用される規制(人工知能の使用に関する規制を含む)を遵守する責任は自らにあることに留意する必要があります。
いかなる場合も、モデルの所有者 (SEDIA) または作成者 (BSC) は、第三者によるこれらのモデルの使用に起因する結果について責任を負いません。



