🚀 😸 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}}
}