语言:
- 日语
- 英语
标签:
- pytorch
- 因果语言模型
许可证: apache-2.0
Genji-JP 6B模型
详情请参阅我们的博客文章,了解样本、评估等更多内容:
博客文章
模型描述
Genji-JP 6B是基于EleutherAI的GPT-J 6B模型,在我们的日语故事数据集上进行微调的模型。该特定模型是在日本网络小说上训练的。
超参数 |
值 |
参数量 |
6,053,381,344 |
层数 |
28* |
模型维度 |
4,096 |
前馈维度 |
16,384 |
注意力头数 |
16 |
注意力头维度 |
256 |
上下文长度 |
2,048 |
词汇量 |
50,400(与GPT-2/3相同的分词器) |
位置编码 |
旋转位置编码(RoPE) |
RoPE维度 |
64 |
*
每层包含一个前馈块和一个自注意力块
该模型由28层组成,模型维度为4096,前馈维度为16384。模型维度被分成16个头,每个头的维度为256。旋转位置编码(RoPE)应用于每个头的64个维度。模型使用与GPT-2/GPT-3相同的BPE集进行分词,词汇量为50257。
训练数据
GPT-J 6B是在Pile上进行预训练的,这是EleutherAI为训练该模型而创建的大规模精选数据集。预训练后,模型在我们的日语故事数据集上进行了微调。详情请参阅我们的博客文章。
使用方法
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-j-6B")
model = AutoModelForCausalLM.from_pretrained("NovelAI/genji-jp", torch_dtype=torch.float16, low_cpu_mem_usage=True).eval().cuda()
text = '''剧情梗概:你转生到了异世界。成为勇者,结交伙伴,在异世界冒险吧!
***
转生后,你获得了一项能力。那就是,'''
tokens = tokenizer(text, return_tensors="pt").input_ids
generated_tokens = model.generate(tokens.long().cuda(), use_cache=True, do_sample=True, temperature=1, top_p=0.9, repetition_penalty=1.125, min_length=1, max_length=len(tokens[0]) + 400, pad_token_id=tokenizer.eos_token_id)
last_tokens = generated_tokens[0]
generated_text = tokenizer.decode(last_tokens).replace("�", "")
print("生成结果:\n" + generated_text)
运行时,会产生如下输出:
生成结果:
剧情梗概:你转生到了异世界。成为勇者,结交伙伴,在异世界冒险吧!
***
转生后,你获得了一项能力。那就是,『预知』。能够从过去看透未来,包括无人知晓的事件。
可以吸收被称为恶魔碎片的小结晶并加以驱使。吸引人,使其堕落。最重要的是,我原本就没有男性朋友,对女性也不感兴趣。……想到会有越来越多的人被这种垃圾利用,就有点痛苦。
但是,可以获得一部分人类的协助。在不起眼的城镇寺庙里,总是闭门不出的老人。可以控制这种家伙的灵魂。真是方便的能力。然而,背叛者众多。稍不留神就会发狂。所以必须小心。
――“我来帮你吧”
亚伦不怀好意地笑了。这个
致谢
这个项目的实现得益于TPU研究云提供的计算资源。
感谢EleutherAI预训练了GPT-J 6B模型。
感谢所有为这个项目做出贡献的人!