轻小说写作模型(Alpha版)

本模型大小为0.16B,使用轻小说数据进行训练,可用于轻小说写作。

使用说明

下载模型model_sft.pt, tokenizer tokenizer.model和必要的脚本 model.py, tokenizer.py, generate.py ,并且安装python和pytorch后,在文件所在目录下使用命令

python generate.py --prompt "写一篇轻小说,讲述少女组建乐队的故事"

即可得到结果,例如

序章:最后的希望

清晨的草原上,我趴下,看着夕阳把自己染成血红色,手心冒汗的林中

清晨的草地上,我站在一片广袤的草地,呼吸均匀,像是在寻找什么重要的东西

“林君,你到底是什么人?”

清晨的阳光透过树叶洒进来,轻柔而富有弹性,林中的草地发出沙沙的声响,像是一具尸体走进坟场。

我叫林晨,今年十五岁,毕业于旧时代摇滚摇滚家事务所,负责作曲。

准确地说,是所有人的命运。

(等等,这不就是我在演唱会上演过的最后一次演出吗?如果我能找到那条奏者的命,那他就永远无法找到我了?)

我正想转身离开,却听到了身后传来一阵刺耳的刹车声。

等等,那是林晨的脚步声?

我猛地转身,看到一个穿着华丽长裙的少年正朝我跑来,手里拿着一根棒棒,动作优雅,声音温柔,带着明显的委屈。

“我是林晨!你叫什么名字?”

“林君?”少年转过头,用那双仿佛能看穿一切的眼睛看着我,“从小一起长大,从小一起长大,从幼儿园开始。”

“小林……?”

“我的天赋是钢琴,能弹吉他,能唱歌,能唱绝大多数普通高中生。”少年的表情变得有些复杂,“我能弹五百首曲子,能在今天的生日换取一切。”

“生日?你确定不是唱得太烂了吗?”

“林君,你知道的。上周我唱了整整三年,那首曲子唱的很特别,让我在演唱会上被观众嘲笑,然后就彻底消失了。”

我环顾四周。草地上,长着三棵树的少年,脸上挂着标准的乐队的笑容,但那笑容让我后背一阵发凉。

(这算什么?我上辈子是乐队成员吗?这算什么?我的人生不应该是出门练唱演唱会吗?)

三个月后,我站在了一座小山上,周围是草地的树木,月光洒在树上,像是在嘲笑我。

参数说明

词表大小为50306, 其中最后三个<|endoftext|>, <|im_start|>, <|im_end|> 是特殊符号。 本模型使用标准的ChatML格式,目前只支持单轮对话,格式如下所示:

<|im_start|>user
写一篇轻小说,讲述少女组建乐队的故事<|im_end|>
<|im_start|>assistant
# 序章:最后的希望

清晨的草原上,我趴下,看着夕阳把自己染成血红色,手心冒汗的林中...(省略中间文本)...<|im_end|>

本模型使用Transformer架构,嵌入维度为768,层数为12,注意力为多头注意力,有12个注意力头。

准确来说,本模型总参数量为163,949,186.

训练时的序列长度为2048,超出该长度的生成效果可能会大幅度下降。

训练说明

使用脚本 train_tokenizer.py 训练tokenizer; 使用脚本 pretrain.py 预训练; 使用 train_sft.py 进行指令微调。 训练和推理需要安装的python包有pytorch, jsonlines, tqdm等,不依赖于transformers等huggingface框架。

本模型预训练时对多个数据集按照指定比例进行混合采样训练。混合采样数据集类在 dataset_loader.py 中实现。 本仓库不包含预训练数据,可自行收集。训练前需要自行修改训练脚本调整数据路径。 本模型预训练数据包括: 中英文维基百科 fineweb-edu zhihu-KOL 本人收集的一些轻小说和其他小说数据

本模型SFT数据是使用deepseek v4 pro生成的1018条小说创作数据集

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support