|
--- |
|
language: |
|
- ja |
|
license: cc-by-sa-4.0 |
|
datasets: |
|
- wikipedia |
|
- cc100 |
|
widget: |
|
- text: "早稲田 大学 で 自然 言語 処理 を" |
|
--- |
|
|
|
# nlp-waseda/gpt2-xl-japanese |
|
|
|
This is Japanese GPT2 with approximately 1.5B parameters pretrained on Japanese Wikipedia and CC-100 |
|
The model architecture of the model are based on [Radford+ 2019](https://paperswithcode.com/paper/language-models-are-unsupervised-multitask). |
|
|
|
## Intended uses & limitations |
|
|
|
You can use the raw model for text generation or fine-tune it to a downstream task. |
|
|
|
Note that the texts should be segmented into words using [Juman++](https://github.com/ku-nlp/jumanpp) in advance. |
|
|
|
### How to use |
|
|
|
You can use this model directly with a pipeline for text generation. Since the generation relies on some randomness, we set a seed for reproducibility: |
|
|
|
```python |
|
from transformers import pipeline, set_seed |
|
generator = pipeline('text-generation', model='nlp-waseda/gpt2-xl-japanese') |
|
# If you use gpu. |
|
# generator = pipeline('text-generation', model='nlp-waseda/gpt2-xl-japanese', device=0) |
|
|
|
set_seed(42) |
|
generator("早稲田 大学 で 自然 言語 処理 を", max_length=30, do_sample=True, pad_token_id=2, num_return_sequences=5) |
|
[{'generated_text': '早稲田 大学 で 自然 言語 処理 を 勉強 して いる 大学生 です. 自然 言語 処理 や 音声 認識, 機械 学習 等 に 興味 が あり, 特に 画像'}, |
|
{'generated_text': '早稲田 大学 で 自然 言語 処理 を 学んで いる と ある 方 と お 会い して き ました. 今日 は お 話 する 時間 が 少なかった のです が,'}, |
|
{'generated_text': '早稲田 大学 で 自然 言語 処理 を 研究 して いる が 、 それ を 趣味 と は 思わず 、 会社 を 作る ため の 手段 と とらえて いる ようです 。'}, |
|
{'generated_text': '早稲田 大学 で 自然 言語 処理 を 専門 的に 学ぶ サークル です 。 日本 語 教育 センター で 日本 語 を 勉強 した 中国 の 人 たち と 交流 する'}, |
|
{'generated_text': '早稲田 大学 で 自然 言語 処理 を 専攻 した 時 に 、 数学 の 知識 ・ プログラミング 言語 の 知識 が 身 に ついて いた の は 、 とても 役'}] |
|
``` |
|
|
|
```python |
|
from transformers import AutoTokenizer, GPT2Model |
|
tokenizer = AutoTokenizer.from_pretrained('nlp-waseda/gpt2-xl-japanese') |
|
model = GPT2Model.from_pretrained('nlp-waseda/gpt2-xl-japanese') |
|
text = "早稲田 大学 で 自然 言語 処理 を" |
|
encoded_input = tokenizer(text, return_tensors='pt') |
|
output = model(**encoded_input) |
|
``` |
|
|
|
### Preprocessing |
|
|
|
The texts are normalized using [neologdn](https://github.com/ikegami-yukino/neologdn), segmented into words using [Juman++](https://github.com/ku-nlp/jumanpp), and tokenized by [BPE](https://huggingface.co/docs/tokenizers/api/models#tokenizers.models.BPE). Juman++ 2.0.0-rc3 was used for pretraining. |
|
|
|
The model was trained on 8 NVIDIA A100 GPUs. |
|
|
|
|
|
# Acknowledgments |
|
|
|
This work was supported by Joint Usage/Research Center for Interdisciplinary Large-scale Information Infrastructures (JHPCN) through General Collaboration Project no. jh221004, "Developing a Platform for Constructing and Sharing of Large-Scale Japanese Language Models". |
|
|
|
For training models, we used the [mdx](https://mdx.jp/): a platform for the data-driven future. |