为您介绍“CatPPT”——它是城里那只总爱藏着掖着的“大猫”的绝佳替代品!我们这只“猫咪朋友”是通过 Gradient SLERP 方法融合 openchat 和 neuralchat 模型(成果为 rishiraj/CatPPT-base),然后在 no_robots 数据集上针对聊天功能进行微调而创建的。
这是排行榜上表现最佳的 7B 模型,完全没有评估数据污染的痕迹。

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 |
以下是如何使用 🤗 Transformers 中的 pipeline() 函数运行模型的方法:
import argparse
import torch
from openmind import is_torch_npu_available,pipeline
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_name_or_path",
type=str,
help="Path to model",
default=None,
)
args = parser.parse_args()
return args
def main():
args = parse_args()
model_path = args.model_name_or_path
if is_torch_npu_available():
device = "npu:0"
else:
device = "cpu"
pipe = pipeline("text-generation", model=model_path, torch_dtype=torch.bfloat16,device=device)
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"])
if __name__ == "__main__":
main()训练过程中使用了以下超参数:
| 训练损失 | 轮次 | 步数 | 验证损失 |
|---|---|---|---|
| 1.9947 | 0.16 | 3 | 2.0093 |
@misc{rishiraj2023catppt,
author = {Rishiraj Acharya},
title = {CatPPT},
year = {2023},
publisher = {Hugging Face},
journal = {Hugging Face repository},
howpublished = {\url{https://modelers.cn/models/changsha-aicc/CatPPT-base}}
}