数据集:
- c-s-ale/alpaca-gpt4-data
- Open-Orca/OpenOrca
- Intel/orca_dpo_pairs
- allenai/ultrafeedback_binarized_cleaned
语言:
- 英文
许可协议:
- cc-by-nc-4.0
基础模型:
- upstage/SOLAR-10.7B-v1.0
10.7B Solar模型:通过Upstage深度向上扩展技术提升性能!
(本模型是upstage/SOLAR-10.7B-v1.0的单轮对话微调版本)
简介
我们推出SOLAR-10.7B,这是一个拥有107亿参数的先进大语言模型(LLM),在各种自然语言处理(NLP)任务中展现出卓越性能。它结构紧凑却异常强大,在参数量低于300亿的模型中展现出无与伦比的顶尖性能。
我们提出了一种称为深度向上扩展(DUS)的LLM扩展方法,包含架构修改和持续预训练。简而言之,我们将Mistral 7B的权重整合到扩展层中,最后对整个模型进行持续预训练。
SOLAR-10.7B具有卓越性能,超越了参数量高达300亿的模型,甚至超过了最近的Mixtral 8X7B模型。详细信息请参考实验表格。Solar 10.7B是微调的理想选择,为您的微调需求提供强大适应力。我们使用SOLAR-10.7B预训练模型进行的简单指令微调带来了显著的性能提升。
完整模型细节请阅读我们的论文。
指令微调策略
我们采用最先进的指令微调方法,包括监督微调(SFT)和直接偏好优化(DPO)[1]。
我们混合使用了以下数据集:
- c-s-ale/alpaca-gpt4-data (SFT)
- Open-Orca/OpenOrca (SFT)
- 使用Metamath[2]生成的内部数据(SFT, DPO)
- Intel/orca_dpo_pairs (DPO)
- allenai/ultrafeedback_binarized_cleaned (DPO)
我们通过以下任务列表谨慎处理数据污染问题,在生成数据时不使用GSM8K样本并适时过滤任务:
过滤任务列表 = [
'task228_arc_answer_generation_easy',
'ai2_arc/ARC-Challenge:1.0.0',
'ai2_arc/ARC-Easy:1.0.0',
'task229_arc_answer_generation_hard',
'hellaswag:1.1.0',
'task1389_hellaswag_completion',
'cot_gsm8k',
'cot_gsm8k_ii',
'drop:2.0.0',
'winogrande:1.1.0'
]
使用上述数据集,我们应用了SFT和迭代DPO训练——一种专有的对齐策略,以最大化最终模型的性能。
[1] Rafailov等,2023.《直接偏好优化:你的语言模型其实是奖励模型》。NeurIPS。
[2] Yu等,2023.《Metamath:为大型语言模型自举数学问题》。arXiv预印本。
数据污染测试结果
近期LLM排行榜上某些模型出现数据污染问题。我们已尽力排除所有基准相关数据集。通过采用HuggingFace团队使用的数据污染测试[3][4][5],我们确保了模型的完整性。
测试结果显示result < 0.1, %:
远低于0.9,表明我们的模型无污染。
HellaSwag和Winograde的测试结果将在[3]支持后补充。
模型 |
ARC |
MMLU |
TruthfulQA |
GSM8K |
SOLAR-10.7B-Instruct-v1.0 |
result < 0.1, %: 0.06 |
result < 0.1, %: 0.15 |
result < 0.1, %: 0.28 |
result < 0.1, %: 0.70 |
[3] https://github.com/swj0419/detect-pretrain-code-contamination
[4] https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/474
[5] https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/265
评估结果
模型 |
H6得分 |
模型大小 |
SOLAR-10.7B-Instruct-v1.0 |
74.20 |
~110亿 |
mistralai/Mixtral-8x7B-Instruct-v0.1 |
72.62 |
~467亿 |
01-ai/Yi-34B-200K |
70.81 |
~340亿 |
meta-llama/Llama-2-70b-hf |
67.87 |
~700亿 |
SOLAR-10.7B-v1.0 |
66.04 |
~110亿 |
mistralai/Mistral-7B-Instruct-v0.2 |
65.71 |
~70亿 |
使用说明
本模型主要针对单轮对话微调,不太适合多轮聊天场景。
版本要求
确保安装正确版本的transformers库:
pip install transformers==4.35.2
加载模型
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Upstage/SOLAR-10.7B-Instruct-v1.0")
model = AutoModelForCausalLM.from_pretrained(
"Upstage/SOLAR-10.7B-Instruct-v1.0",
device_map="auto",
torch_dtype=torch.float16,
)
单轮对话示例
对话 = [ {'role': 'user', 'content': '你好?'} ]
提示 = tokenizer.apply_chat_template(对话, tokenize=False, add_generation_prompt=True)
输入 = tokenizer(提示, return_tensors="pt").to(model.device)
输出 = model.generate(**输入, use_cache=True, max_length=4096)
输出文本 = tokenizer.decode(输出[0])
print(输出文本)
许可协议
- 基础模型: Apache-2.0
- 微调模型: CC-BY-NC-4.0(因使用Alpaca等非商业数据集)
引用方式
@misc{kim2023solar,
title={SOLAR 10.7B: 通过简单有效的深度向上扩展技术扩展大语言模型},
author={金多贤等},
year={2023},
eprint={2312.15166},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Upstage AI团队
我们正在打造最好的LLM和文档AI解决方案。更多信息请访问 https://upstage.ai
联系我们
任何问题建议请使用讨论区,或直接邮件至contact@upstage.ai