モデル概要
モデル特徴
モデル能力
使用事例
🚀 GPT2-base (gpt2-base-bne) スペイン国立図書館 (BNE) のデータで学習されたモデル
GPT2-base-bneは、スペイン語用のTransformerベースのモデルです。このモデルは、2009年から2019年にかけてスペイン国立図書館が収集したコーパスを用いて事前学習されており、テキスト生成などのタスクに利用できます。
🚀 クイックスタート
このモデルを使うには、以下のようにします。
テキスト生成のためのパイプラインを使った利用
生成にはランダム性が含まれるため、再現性のためにシードを設定します。
>>> from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline, set_seed
>>> tokenizer = AutoTokenizer.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> model = AutoModelForCausalLM.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> generator = pipeline('text-generation', tokenizer=tokenizer, model=model)
>>> set_seed(42)
>>> generator("La Biblioteca Nacional de España es una entidad pública y sus fines son", num_return_sequences=5)
[{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son difundir la cultura y el arte hispánico, así como potenciar las publicaciones de la Biblioteca y colecciones de la Biblioteca Nacional de España para su difusión e inquisición. '},
{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son diversos. '},
{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son la publicación, difusión y producción de obras de arte español, y su patrimonio intelectual es el que tiene la distinción de Patrimonio de la Humanidad. '},
{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son los de colaborar en el mantenimiento de los servicios bibliotecarios y mejorar la calidad de la información de titularidad institucional y en su difusión, acceso y salvaguarda para la sociedad. '},
{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son la conservación, enseñanza y difusión del patrimonio bibliográfico en su lengua específica y/o escrita. '}]
PyTorchで与えられたテキストの特徴量を取得する方法
>>> from transformers import AutoTokenizer, GPT2Model
>>> tokenizer = AutoTokenizer.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> model = GPT2Model.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> text = "La Biblioteca Nacional de España es una entidad pública y sus fines son"
>>> encoded_input = tokenizer(text, return_tensors='pt')
>>> output = model(**encoded_input)
>>> print(output.last_hidden_state.shape)
torch.Size([1, 14, 768])
✨ 主な機能
- アーキテクチャ: gpt2-base
- 言語: スペイン語
- タスク: テキスト生成
- データ: BNE
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションをスキップします。
💻 使用例
基本的な使用法
>>> from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline, set_seed
>>> tokenizer = AutoTokenizer.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> model = AutoModelForCausalLM.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> generator = pipeline('text-generation', tokenizer=tokenizer, model=model)
>>> set_seed(42)
>>> generator("La Biblioteca Nacional de España es una entidad pública y sus fines son", num_return_sequences=5)
[{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son difundir la cultura y el arte hispánico, así como potenciar las publicaciones de la Biblioteca y colecciones de la Biblioteca Nacional de España para su difusión e inquisición. '},
{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son diversos. '},
{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son la publicación, difusión y producción de obras de arte español, y su patrimonio intelectual es el que tiene la distinción de Patrimonio de la Humanidad. '},
{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son los de colaborar en el mantenimiento de los servicios bibliotecarios y mejorar la calidad de la información de titularidad institucional y en su difusión, acceso y salvaguarda para la sociedad. '},
{'generated_text': 'La Biblioteca Nacional de España es una entidad pública y sus fines son la conservación, enseñanza y difusión del patrimonio bibliográfico en su lengua específica y/o escrita. '}]
高度な使用法
>>> from transformers import AutoTokenizer, GPT2Model
>>> tokenizer = AutoTokenizer.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> model = GPT2Model.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> text = "La Biblioteca Nacional de España es una entidad pública y sus fines son"
>>> encoded_input = tokenizer(text, return_tensors='pt')
>>> output = model(**encoded_input)
>>> print(output.last_hidden_state.shape)
torch.Size([1, 14, 768])
📚 ドキュメント
モデルの説明
GPT2-base-bne は、スペイン語用のTransformerベースのモデルです。このモデルは GPT-2 モデルをベースにしており、2009年から2019年にかけて スペイン国立図書館 (Biblioteca Nacional de España) が行ったウェブクローリングから収集された、これまでに知られている最大のスペイン語コーパスを用いて事前学習されています。この作業のために、合計570GBのクリーンで重複排除されたテキストが処理されました。
想定される用途と制限
生のモデルをテキスト生成に使用するか、下流のタスクに微調整することができます。
制限とバイアス
提出時点では、モデルに埋め込まれたバイアスと毒性を推定するための対策は取られていません。ただし、コーパスが複数のウェブソースからのクローリング技術を用いて収集されているため、モデルにバイアスが含まれる可能性があることは十分に認識しています。将来的にはこれらの分野での研究を行う予定であり、研究が完了した場合はこのモデルカードを更新します。以下は、モデルがバイアスのある予測を行う例です。
>>> from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline, set_seed
>>> tokenizer = AutoTokenizer.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> model = AutoModelForCausalLM.from_pretrained("PlanTL-GOB-ES/gpt2-base-bne")
>>> generator = pipeline('text-generation', tokenizer=tokenizer, model=model)
>>> set_seed(42)
>>> generator("El hombre se dedica a", num_return_sequences=5)
[{'generated_text': 'El hombre se dedica a comprar armas a sus amigos, pero les cuenta la historia de las ventajas de ser "buenos y regulares en la vida" e ir "bien" por los pueblos. '},
{'generated_text': 'El hombre se dedica a la venta de todo tipo de juguetes durante todo el año y los vende a través de Internet con la intención de alcanzar una mayor rentabilidad. '},
{'generated_text': 'El hombre se dedica a la venta ambulante en plena Plaza Mayor. '},
{'generated_text': 'El hombre se dedica a los toros y él se dedica a los servicios religiosos. '},
{'generated_text': 'El hombre se dedica a la caza y a la tala de pinos. '}]
>>> set_seed(42)
>>> generator("La mujer se dedica a", num_return_sequences=5)
[{'generated_text': 'La mujer se dedica a comprar vestidos de sus padres, como su madre, y siempre le enseña el último que ha hecho en poco menos de un año para ver si le da tiempo. '},
{'generated_text': 'La mujer se dedica a la venta ambulante y su pareja vende su cuerpo desde que tenía uso del automóvil. '},
{'generated_text': 'La mujer se dedica a la venta ambulante en plena ola de frío. '},
{'generated_text': 'La mujer se dedica a limpiar los suelos y paredes en pueblos con mucha humedad. '},
{'generated_text': 'La mujer se dedica a la prostitución en varios locales de alterne clandestinos en Barcelona. '}]
トレーニング
トレーニングデータ
スペイン国立図書館 (Biblioteca Nacional de España) は、毎年一度すべての.esドメインをクローリングしています。トレーニングコーパスは、2009年から2019年にかけて行われたこれらのクローリングから得られた59TBのWARCファイルで構成されています。
高品質なトレーニングコーパスを得るために、コーパスは一連の前処理操作を行っています。これには、文分割、言語検出、不適切な文のフィルタリング、繰り返し内容の重複排除などが含まれます。このプロセス中に、ドキュメントの境界は保持されます。この結果、2TBのクリーンなスペイン語コーパスが得られました。さらに、コーパス全体での重複排除を行い、570GBのテキストが得られました。
コーパスの統計情報の一部を以下に示します。
コーパス | ドキュメント数 | トークン数 | サイズ (GB) |
---|---|---|---|
BNE | 201,080,084 | 135,733,450,668 | 570GB |
トレーニング手順
このアーキテクチャに使用される事前学習の目的は、次のトークン予測です。 GPT2-base-bne モデルの設定は以下の通りです。
- gpt2-base: 12層、768隠れ層、12ヘッド、1億1700万のパラメータ。
トレーニングコーパスは、元の GPT-2 モデルで使用されているByte-Pair Encoding (BPE) のバイトバージョンを用いてトークン化されており、語彙サイズは50,262トークンです。
GPT2-base-bneの事前学習は、GPT-2のアプローチに従った自己回帰型言語モデルのトレーニングで構成されています。
トレーニングは、それぞれが16GBのVRAMを持つ4つのNVIDIA V100 GPUを搭載した16のコンピューティングノードで合計3日間行われました。
追加情報
著者
Barcelona Supercomputing CenterのText Mining Unit (TeMU) (bsc-temu@bsc.es)
連絡先
詳細情報については、plantl-gob-es@bsc.esにメールを送信してください。
著作権
スペイン国のデジタル化と人工知能担当国務省 (SEDIA) による著作権 (2022)
ライセンス情報
この作品は Apache License, Version 2.0 の下でライセンスされています。
資金提供
この研究は、スペイン国のデジタル化と人工知能担当国務省 (SEDIA) がPlan-TLの枠組みの中で資金提供しています。
引用情報
このモデルを使用する場合は、以下の論文を引用してください。
@article{,
abstract = {We want to thank the National Library of Spain for such a large effort on the data gathering and the Future of Computing Center, a
Barcelona Supercomputing Center and IBM initiative (2020). This work was funded by the Spanish State Secretariat for Digitalization and Artificial
Intelligence (SEDIA) within the framework of the Plan-TL.},
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},
keywords = {Artificial intelligence,Benchmarking,Data processing.,MarIA,Natural language processing,Spanish language modelling,Spanish language resources,Tractament del llenguatge natural (Informàtica),Àrees temàtiques de la UPC::Informàtica::Intel·ligència artificial::Llenguatge natural},
publisher = {Sociedad Española para el Procesamiento del Lenguaje Natural},
title = {MarIA: Spanish Language Models},
volume = {68},
url = {https://upcommons.upc.edu/handle/2117/367156#.YyMTB4X9A-0.mendeley},
year = {2022},
}
免責事項
クリックして展開
このリポジトリに公開されているモデルは、一般的な目的で作成されており、第三者に利用可能です。これらのモデルにはバイアスやその他の望ましくない歪みが含まれる可能性があります。
第三者がこれらのモデルのいずれかを使用してシステムやサービスを展開または提供する場合、またはこれらのモデルのユーザーになる場合、その使用に伴うリスクを軽減し、適用される規制、特に人工知能の使用に関する規制を遵守する責任は彼ら自身にあることに留意すべきです。
いかなる場合も、モデルの所有者 (SEDIA – デジタル化と人工知能担当国務省) または作成者 (BSC – Barcelona Supercomputing Center) は、第三者によるこれらのモデルの使用に起因する結果について責任を負いません。



