🚀 轻量级GPT2小型对话模型
本模型是基于 distilgpt2 在经过解析的维基百科向导(Wizard of Wikipedia)数据集上微调得到的。它采用了人物A/人物B的框架,专为与 ai-msgbot 集成使用而设计。该模型在评估集上取得了以下结果:
🚀 快速开始
模型推理参数
{
"parameters": {
"min_length": 2,
"max_length": 64,
"length_penalty": 0.7,
"no_repeat_ngram_size": 2,
"do_sample": true,
"top_p": 0.95,
"top_k": 20,
"temperature": 0.3,
"repetition_penalty": 3.5
}
}
模型使用示例
你可以在下面的示例中输入文本进行测试:
示例标题 |
输入文本 |
散步 |
"I know you're tired, but can we go for another walk this evening? person beta:
" |
活动 |
"Have you done anything exciting lately? person beta:
" |
杂货店 |
"hey - do you have a favorite grocery store around here? person beta:
" |
晚餐 |
"Can you take me for dinner somewhere nice this time? person beta:
" |
社交媒体 |
"What's your favorite form of social media? person beta:
" |
问候 |
"Hi, how are you? person beta:
" |
姐妹 |
"I am the best; my sister is the worst. What am I? person beta:
" |
短吻鳄 |
"What do you call an alligator who's just had surgery to remove his left arm? person beta:
" |
美元 |
"A man walks into a bar and asks for a drink. The bartender asks for $10, and he pays him $1. What did he pay him with? person beta:
" |
邮箱 |
"What did I say was in the mailbox when it was actually in the cabinet? person beta:
" |
语言 |
"My friend says that she knows every language, but she doesn't speak any of them.. what's wrong with her? person beta:
" |
你还可以查看 简单演示。
✨ 主要特性
- 这是一个基础的对话模型,可作为聊天机器人使用。
- 专为与 ai-msgbot 集成而设计。
- 能够生成人物A和人物B之间的完整对话,使用
person alpha
和 person beta
作为自定义 <bos>
标记来区分不同的回复。
📚 详细文档
预期用途与限制
本模型的设计用途是与 ai-msgbot 仓库集成。需要注意的是,该模型生成的是人物A和人物B之间的完整对话,使用 person alpha
和 person beta
作为自定义 <bos>
标记来确定一个回复的结束和另一个回复的开始。
训练和评估数据
训练和评估数据来自经过解析的 维基百科向导 数据集,该数据集来自 ParlAI。
训练过程
本模型使用了 DeepSpeed 和 Hugging Face 训练器进行训练,ai-msgbot 仓库中有示例笔记本可供参考。
训练超参数
以下是训练过程中使用的超参数:
参数 |
值 |
学习率 |
2e-05 |
训练批次大小 |
32 |
评估批次大小 |
32 |
随机种子 |
42 |
分布式类型 |
多GPU |
梯度累积步数 |
4 |
总训练批次大小 |
128 |
优化器 |
Adam(β1 = 0.9,β2 = 0.999,ε = 1e-08) |
学习率调度器类型 |
余弦 |
学习率调度器热身比例 |
0.05 |
训练轮数 |
30 |
训练结果
训练损失 |
轮数 |
步数 |
验证损失 |
无日志记录 |
1.0 |
418 |
2.7793 |
2.9952 |
2.0 |
836 |
2.6914 |
2.7684 |
3.0 |
1254 |
2.6348 |
2.685 |
4.0 |
1672 |
2.5938 |
2.6243 |
5.0 |
2090 |
2.5625 |
2.5816 |
6.0 |
2508 |
2.5332 |
2.5816 |
7.0 |
2926 |
2.5098 |
2.545 |
8.0 |
3344 |
2.4902 |
2.5083 |
9.0 |
3762 |
2.4707 |
2.4793 |
10.0 |
4180 |
2.4551 |
2.4531 |
11.0 |
4598 |
2.4395 |
2.4269 |
12.0 |
5016 |
2.4238 |
2.4269 |
13.0 |
5434 |
2.4102 |
2.4051 |
14.0 |
5852 |
2.3945 |
2.3777 |
15.0 |
6270 |
2.3848 |
2.3603 |
16.0 |
6688 |
2.3711 |
2.3394 |
17.0 |
7106 |
2.3613 |
2.3206 |
18.0 |
7524 |
2.3516 |
2.3206 |
19.0 |
7942 |
2.3398 |
2.3026 |
20.0 |
8360 |
2.3301 |
2.2823 |
21.0 |
8778 |
2.3203 |
2.2669 |
22.0 |
9196 |
2.3105 |
2.2493 |
23.0 |
9614 |
2.3027 |
2.2334 |
24.0 |
10032 |
2.2930 |
2.2334 |
25.0 |
10450 |
2.2852 |
2.2194 |
26.0 |
10868 |
2.2754 |
2.2014 |
27.0 |
11286 |
2.2695 |
2.1868 |
28.0 |
11704 |
2.2598 |
2.171 |
29.0 |
12122 |
2.2539 |
2.1597 |
30.0 |
12540 |
2.2461 |
框架版本
- Transformers 4.16.1
- Pytorch 1.10.0+cu111
- Tokenizers 0.11.0
📄 许可证
本模型采用 Apache 2.0 许可证。