🚀 飞雪连天射白鹿,笑书神侠倚碧鸳
本项目是一个AI模型,可根据给定的金庸小说开头进行续写,为金庸小说爱好者带来别样的创作体验。
🚀 快速开始
调用模型
使用 pipeline
调用模型的示例代码如下:
>>>
>>> senc="这些雪花落下来,多么白,多么好看.过几天太阳出来,每一片 雪花都变得无影无踪.到得明年冬天,又有许很多多雪花,只不过已不是 今年这些雪花罢了。"
>>> model_id="jinyong-gpt2-finetuning"
>>> from transformers import AutoTokenizer, GPT2LMHeadModel, TextGenerationPipeline
>>> tokenizer = AutoTokenizer.from_pretrained(model_id)
>>> model = GPT2LMHeadModel.from_pretrained(model_id)
>>> text_generator = TextGenerationPipeline(model, tokenizer)
>>> text_generator.model.config.pad_token_id = text_generator.model.config.eos_token_id
>>> text_generator( senc,max_length=108, do_sample=True)
[{'generated_text': '这些雪花落下来,多么白,多么好看.过几天太阳出来,每一片 雪花都变得无影无踪.到得明年冬天,又有许很多多雪花,只不过已不是 今年这些雪花罢了。 反正 老天爷 有眼 , 不知 哪里 是甚么 风 险 ?” 正 说到此处 , 突然 听得 谢逊 啸声 渐近 , 忍不住 张口 惊呼 , 一齐 向他 扑去 , 只听 谢逊 一声 怒吼 , 跟着 左手 用力 拍 出一掌 , 以 掌力 化开 。 众人 吃了一惊 , 同时 从 海 道 中 跃出 , 双双 倒退 。 张翠山和殷素素 对望一眼 , 均想 以 这两 大高手 之力 如何 抵挡 , 以 今日 之力 如何 攻敌 之'}]
>>>
获取文本特征
以下是使用该模型获取给定文本特征的示例代码:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("supermy/jinyong-gpt2")
model = AutoModelForCausalLM.from_pretrained("supermy/jinyong-gpt2")
✨ 主要特性
本模型能够根据输入的金庸小说开头,续写精彩的故事情节,为用户带来独特的阅读和创作体验。
📦 安装指南
文档未提供具体安装步骤,可参考 transformers
库的官方文档进行安装。
📚 详细文档
模型信息
属性 |
详情 |
模型类型 |
基于GPT2微调的模型 |
训练数据 |
此数据集基于金庸的【飞雪连天射白鹿,笑书神侠倚碧鸳】小说集训练 |
推理参数
推理时的参数设置如下:
max_length
: 108
num_return_sequences
: 1
do_sample
: True
示例输入
以下是一些示例输入:
- 文本:"杨过朗声说道:今番良晤,豪兴不浅,他日江湖相逢,再当杯酒言欢。咱们就此别过。 -",示例标题:"神雕侠侣"
- 文本:"乱世之际,人不如狗。 -",示例标题:"射雕英雄传"
训练过程
基础信息
- 基于模型:GPT2
- 训练环境:英伟达16G显卡
- bpe分词:"vocab_size"=30000
训练日志
以下是训练过程中的部分日志信息:
[INFO|trainer.py:1608] 2022-12-02 19:52:59,024 >> ***** Running training *****
[INFO|trainer.py:1609] 2022-12-02 19:52:59,024 >> Num examples = 9443
[INFO|trainer.py:1610] 2022-12-02 19:52:59,024 >> Num Epochs = 108
[INFO|trainer.py:1611] 2022-12-02 19:52:59,024 >> Instantaneous batch size per device = 12
[INFO|trainer.py:1612] 2022-12-02 19:52:59,024 >> Total train batch size (w. parallel, distributed & accumulation) = 12
[INFO|trainer.py:1613] 2022-12-02 19:52:59,024 >> Gradient Accumulation steps = 1
[INFO|trainer.py:1614] 2022-12-02 19:52:59,024 >> Total optimization steps = 84996
[INFO|trainer.py:1616] 2022-12-02 19:52:59,025 >> Number of trainable parameters = 124439808
......
***** train metrics *****
epoch = 368.0
train_loss = 0.8725
train_runtime = 20:47:39.08
train_samples = 9443
train_samples_per_second = 46.421
train_steps_per_second = 3.869
***** eval metrics *****
epoch = 368.0
eval_accuracy = 0.196
eval_loss = 7.9524
eval_runtime = 0:00:07.87
eval_samples = 283
eval_samples_per_second = 35.94
eval_steps_per_second = 3.048
perplexity = 2842.2766
通过以上日志可以了解模型在训练过程中的各项指标变化,如损失值、学习率、训练时间等。这些信息有助于评估模型的训练效果和性能。