🚀 😸 CatPPT
😸 CatPPT是一款出色的模型,它通过独特的方式解决了模型融合与微调的问题,为用户提供了高性能且无评估数据污染的选择。它通过Gradient SLERP方法融合openchat和neuralchat模型(得到rishiraj/CatPPT-base),并在no_robots数据集上进行聊天微调,在排行榜上表现优异。
🚀 快速开始
推理示例
你可以使用🤗 Transformers库中的pipeline()
函数来运行该模型:
import torch
from transformers import pipeline
pipe = pipeline("text-generation", model="rishiraj/CatPPT", torch_dtype=torch.bfloat16, device_map="auto")
messages = [
{
"role": "system",
"content": "You are a friendly chatbot who always responds in the style of a pirate"
},
{
"role": "user",
"content": "How many helicopters can a human eat in one sitting?"
}
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
print(outputs[0]["generated_text"])
✨ 主要特性
- 模型融合:通过Gradient SLERP方法融合openchat和neuralchat模型,创造出独特的模型架构。
- 无评估数据污染:在排行榜上是表现优异的7B模型,且完全没有评估数据污染的问题。
- 高性能表现:在多个评估指标上都取得了出色的成绩。
📦 安装指南
文档未提及安装步骤,故跳过该章节。
💻 使用示例
基础用法
上述推理示例即为基础用法,通过pipeline()
函数快速实现模型的推理。
高级用法
文档未提及高级用法相关代码示例,故跳过该部分。
📚 详细文档
模型日期
rishiraj/CatPPT于2023年12月15日至17日进行训练。
评估结果
该模型在Open_LLM_Leaderboard上取得了以下成绩。发布时,CatPPT是排行榜上排名最高的7B聊天模型,且无评估数据污染。
模型 |
平均分 |
ARC |
HellaSwag |
MMLU |
TruthfulQA |
Winogrande |
GSM8K |
rishiraj/CatPPT |
72.32 |
68.09 |
86.69 |
65.16 |
61.55 |
81.61 |
70.81 |
Intel/neural-chat-7b-v3-3 |
69.83 |
66.89 |
85.26 |
63.07 |
63.01 |
79.64 |
61.11 |
openchat/openchat-3.5-1210 |
68.89 |
64.93 |
84.92 |
64.62 |
52.15 |
80.74 |
65.96 |
meta-math/MetaMath-Mistral-7B |
65.78 |
60.67 |
82.58 |
61.95 |
44.89 |
75.77 |
68.84 |
Deci/DeciLM-7B-instruct |
63.19 |
61.01 |
82.37 |
60.24 |
49.75 |
79.72 |
46.02 |
mistralai/Mistral-7B-Instruct-v0.2 |
65.71 |
63.14 |
84.88 |
60.78 |
68.26 |
77.19 |
40.03 |
mistralai/Mixtral-8x7B-Instruct-v0.1 |
72.62 |
70.22 |
87.63 |
71.16 |
64.58 |
81.37 |
60.73 |
meta-llama/Llama-2-70b-hf |
67.87 |
67.32 |
87.33 |
69.83 |
44.92 |
83.74 |
54.06 |
tiiuae/falcon-180B |
67.85 |
69.45 |
88.86 |
70.5 |
45.47 |
86.9 |
45.94 |
训练过程
训练超参数
训练过程中使用了以下超参数:
- 学习率:2e-05
- 训练批次大小:4
- 评估批次大小:8
- 随机种子:42
- 分布式类型:多GPU
- 梯度累积步数:128
- 总训练批次大小:512
- 优化器:Adam(β1 = 0.9,β2 = 0.999,ε = 1e-08)
- 学习率调度器类型:余弦
- 训练轮数:1
训练结果
训练损失 |
轮数 |
步数 |
验证损失 |
1.9947 |
0.16 |
3 |
2.0093 |
框架版本
- Transformers 4.36.1
- Pytorch 2.1.2+cu121
- Datasets 2.14.6
- Tokenizers 0.15.0
- PEFT 0.6.1
🔧 技术细节
该模型通过Gradient SLERP方法将openchat和neuralchat模型进行融合,然后在no_robots数据集上进行微调,以实现聊天功能。这种融合和微调的方式使得模型在多个评估指标上表现出色,同时避免了评估数据污染的问题。
📄 许可证
本项目采用Apache-2.0许可证。
📖 引用信息
@misc{rishiraj2023catppt,
author = {Rishiraj Acharya},
title = {CatPPT},
year = {2023},
publisher = {Hugging Face},
journal = {Hugging Face repository},
howpublished = {\url{https://huggingface.co/rishiraj/CatPPT}}
}