模型:

colorfulscoop/gpt2-small-ja

英文

GPT-2小型日语模型

这个存储库包含了一个在日文维基百科数据集上训练的GPT2-small模型。

训练数据

我们使用了2021年8月20日发布的 Japanese Wikipedia 个数据集来进行分词器和GPT-2模型的训练。

我们将数据集分成了训练集、验证集和测试集。分词器和模型都是在训练集上进行训练的。训练集包含大约540M个标记。

模型描述

模型的架构与GPT-2小型模型相同(n_ctx:1024,n_embd 768,n_head:12,n_layer:12),只是词汇表的大小不同。词汇表的大小设置为32,000,而原始大小为50,257. 我们使用transformers.GPT2LMHeadModel进行训练。

分词器描述

我们使用 SentencePiece 作为此模型的分词器。

我们从训练集中利用了1,000,000个句子。词汇表的大小为32,000.由于日语单词不是用空格分隔的,所以将add_dummy_prefix选项设置为True。

训练结束后,分词器模型被导入为transformers.BERTGenerationTokenizer,因为它支持SentencePiece模型,并且默认情况下不添加任何特殊标记,这在文本生成任务中非常有用。

训练

模型在训练集上进行了30个epochs的训练,批次大小为32。每个样本包含1024个标记。

我们使用了Adam优化器。学习率在前10,000个步骤中从0线性增加到1e-4。剪辑范数设置为1.0.

训练模型的测试集困惑度为29.13.

更多训练细节请参考 GitHub .

使用方法

首先,安装依赖项。

$ pip install transformers==4.10.0 torch==1.8.1 sentencepiece==0.1.96

然后使用pipeline生成句子。

>>> import transformers
>>> pipeline = transformers.pipeline("text-generation", "colorfulscoop/gpt2-small-ja")
>>> pipeline("統計的機械学習でのニューラルネットワーク", do_sample=True, top_p=0.95, top_k=50, num_return_sequences=3)

注意:默认的模型配置文件config.json设置了文本生成的参数,包括do_sample=True,top_k=50,top_p=0.95. 当需要使用不同的参数时,请设置这些参数。

版本

我们建议指定revision以加载可复现的模型。

Revision Date of Wikipedia dump
20210820.1.0 Aug 20, 2021
20210301.1.0 March 1, 2021

您可以按以下方式指定revision。

# Example of pipeline
>>> transformers.pipeline("text-generation", "colorfulscoop/gpt2-small-ja", revision="20210820.1.0")
# Example of AutoModel
>>> transformers.AutoModel.from_pretrained("colorfulscoop/gpt2-small-ja", revision="20210820.1.0")

许可证

此存储库中包含的所有模型均在 Creative Commons Attribution-ShareAlike 3.0 下获得许可。

免责声明:该模型有可能生成与训练数据相似的文本、不准确的文本或有偏见的文本。使用该模型需自行承担风险。Colorful Scoop对模型输出不提供任何保证或担保。Colorful Scoop对由模型输出引起的任何问题、损失或损害不承担任何责任。

作者:Colorful Scoop