🚀 GePpeTto GPT2 モデル 🇮🇹
イタリア語用に事前学習されたGPT2 117Mモデルです。
論文で詳細を見ることができます。
Lorenzo De Mattei, Michele Cafagna, Felice Dell’Orletta, Malvina Nissim, Marco Guerini "GePpeTto Carves Italian into a Language Model", arXiv preprint. 論文はこちらから入手できます: https://arxiv.org/abs/2004.14253
📚 事前学習コーパス
事前学習セットは2つの主要なソースで構成されています。1つ目は、2019年11月のイタリア語版Wikipediaのダンプで、2.8GBのテキストが含まれています。2つ目は、ItWacコーパス(Baroni et al., 2009)で、11GBのウェブテキストがあります。このコレクションは、標準的なイタリア語とそれほど標準的でないイタリア語の混合を提供し、比較的広い年代にわたり、Wikipediaのダンプよりも古いテキストが含まれています(Wikipediaのダンプは2000年代後半までしか及ばない)。
🔧 事前学習の詳細
このモデルは、GPT2のHugging Face実装を使用して、4台のNVIDIA Tesla T4 GPUで620kステップの学習を行いました。
学習パラメータは以下の通りです。
- GPT-2 small構成
- 語彙サイズ: 30k
- バッチサイズ: 32
- ブロックサイズ: 100
- Adamオプティマイザ
- 初期学習率: 5e-5
- ウォームアップステップ: 10k
📊 パープレキシティスコア
ドメイン |
パープレキシティ |
Wikipedia |
26.1052 |
ItWac |
30.3965 |
法律 |
37.2197 |
ニュース |
45.3859 |
ソーシャルメディア |
84.6408 |
詳細、定性的分析、人間による評価については、こちらを参照してください: https://arxiv.org/abs/2004.14253
💾 事前学習済みモデルの読み込み
Huggingfaceのライブラリ transformers
をインストールすることで、このモデルを使用することができます。以下のように初期化することで直接使用することができます。
from transformers import GPT2Tokenizer, GPT2Model
model = GPT2Model.from_pretrained('LorenzoDeMattei/GePpeTto')
tokenizer = GPT2Tokenizer.from_pretrained(
'LorenzoDeMattei/GePpeTto',
)
💻 使用例
基本的な使用法
from transformers import GPT2Tokenizer, GPT2Model
model = GPT2Model.from_pretrained('LorenzoDeMattei/GePpeTto')
tokenizer = GPT2Tokenizer.from_pretrained(
'LorenzoDeMattei/GePpeTto',
)
高度な使用法
from transformers import AutoTokenizer, AutoModelWithLMHead, pipeline, GPT2Tokenizer
tokenizer = AutoTokenizer.from_pretrained("LorenzoDeMattei/GePpeTto")
model = AutoModelWithLMHead.from_pretrained("LorenzoDeMattei/GePpeTto")
text_generator = pipeline('text-generation', model=model, tokenizer=tokenizer)
prompts = [
"Wikipedia Geppetto",
"Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso"]
samples_outputs = text_generator(
prompts,
do_sample=True,
max_length=50,
top_k=50,
top_p=0.95,
num_return_sequences=3
)
for i, sample_outputs in enumerate(samples_outputs):
print(100 * '-')
print("Prompt:", prompts[i])
for sample_output in sample_outputs:
print("Sample:", sample_output['generated_text'])
print()
出力結果は以下の通りです。
----------------------------------------------------------------------------------------------------
Prompt: Wikipedia Geppetto
Sample: Wikipedia Geppetto rosso (film 1920)
Geppetto rosso ("The Smokes in the Black") è un film muto del 1920 diretto da Henry H. Leonard.
Il film fu prodotto dalla Selig Poly
Sample: Wikipedia Geppetto
Geppetto ("Geppetto" in piemontese) è un comune italiano di 978 abitanti della provincia di Cuneo in Piemonte.
L'abitato, che si trova nel versante valtellinese, si sviluppa nella
Sample: Wikipedia Geppetto di Natale (romanzo)
Geppetto di Natale è un romanzo di Mario Caiano, pubblicato nel 2012.
----------------------------------------------------------------------------------------------------
Prompt: Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso
Sample: Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso. Il burattino riesce a scappare. Dopo aver trovato un prezioso sacchetto si reca
Sample: Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso, e l'unico che lo possiede, ma, di fronte a tutte queste prove
Sample: Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso: - A voi gli occhi, le guance! A voi il mio pezzo!
📝 引用
以下のBibTeXエントリを使用してください。
@misc{mattei2020geppetto,
title={GePpeTto Carves Italian into a Language Model},
author={Lorenzo De Mattei and Michele Cafagna and Felice Dell'Orletta and Malvina Nissim and Marco Guerini},
year={2020},
eprint={2004.14253},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
📚 参考文献
Marco Baroni, Silvia Bernardini, Adriano Ferraresi,
and Eros Zanchetta. 2009. The WaCky wide web: a
collection of very large linguistically processed webcrawled corpora. Language resources and evaluation, 43(3):209–226.