🚀 K2:一个完全可复现的大语言模型,比Llama 2 70B少用35%的计算资源却表现更优
LLM360借助K2揭开了Llama 2 70B训练秘诀的神秘面纱。K2完全透明,这意味着我们已经开源了所有相关产物,包括代码、数据、模型检查点、中间结果等等。
✨ 主要特性
关于K2
- 650亿参数的大语言模型
- 标记数:1.4T
- 支持语言:英语
- 发布的模型:基础模型、对话模型
- 分两个阶段训练
- 许可证:Apache 2.0
K2是由MBZUAI、Petuum和LLM360合作开发的。
LLM360模型性能与评估集
LLM360性能与评估集是一个强大的评估集合,由通用评估和特定领域评估组成,用于评估模型的知识和功能。评估内容包括标准的最佳实践基准测试、医学、数学和编码知识等。更多关于评估的信息可以在这里找到。
详细分析可以在K2的Weights and Biases项目这里查看。
开放大语言模型排行榜
评估项目 |
得分 |
原始得分 |
IFEval |
22.52 |
23 |
BBH |
28.22 |
50 |
Math Lvl 5 |
2.04 |
2 |
GPQA |
3.58 |
28 |
MUSR |
8.55 |
40 |
MMLU - PRO |
22.27 |
30 |
平均分 |
14.53 |
35.17 |
K2展示库
K2展示库允许用户浏览K2中间检查点对各种提示的输出,这有助于直观地了解模型随时间的发展和改进情况。这一灵感来源于The Bloom Book。
点击此处查看K2展示库
数据集与数据混合
以下数据混合用于训练K2,并使其达到与Llama 2 70B相当的效果。完整的数据序列可以在这里找到。
数据集 |
起始标记数 |
乘数 |
总标记数 |
占比 |
dm - math |
4.33B |
3x |
13B |
1% |
pubmed - abstracts |
4.77B |
3x |
14.3B |
1.1% |
uspto |
4.77B |
3x |
14.3B |
1.1% |
pubmed - central |
26B |
1x |
26B |
2% |
[redpajama.arxiv](https://huggingface.co/datasets/cerebras/SlimPajama - 627B) |
27.3B |
1x |
27.3B |
2.1% |
starcoder.spm |
67.6B |
0.5x |
33.8B |
2.6% |
starcoder.fim |
67.6B |
0.5x |
33.8B |
2.6% |
[redpajama.stackexchange](https://huggingface.co/datasets/cerebras/SlimPajama - 627B) |
61.1B |
1x |
61.1B |
4.7% |
starcoder |
132.6B |
0.5x |
66.3B |
5.1% |
[pile - of - law](https://huggingface.co/datasets/pile - of - law/pile - of - law) |
76.7B |
1x |
76.7B |
5.9% |
[redpajama.book](https://huggingface.co/datasets/cerebras/SlimPajama - 627B) |
80.6B |
1x |
80.6B |
6.2% |
s2orc |
107.9B |
1x |
107.9B |
8.3% |
[redpajama.wikipedia](https://huggingface.co/datasets/cerebras/SlimPajama - 627B) |
22.1B |
6x |
132.6B |
10.2% |
[refinedweb](https://huggingface.co/datasets/tiiuae/falcon - refinedweb) |
612.3B |
1x |
612.3B |
47.1% |
总计 |
- |
- |
1.3T |
100% |
LLM360研究套件
第二阶段 - 最后10个检查点
第一阶段 - 最后10个检查点
[查看所有分支:git branch -a]
LLM360预训练套件
我们为技术爱好者、AI从业者以及学术或行业研究人员提供了详细的预训练技术复现教程,可在这里查看。
LLM360开发者套件
我们为技术爱好者、AI从业者以及学术或行业研究人员提供了详细的微调教程,可在这里查看。
📦 安装指南
此部分文档未提供安装步骤相关内容,故跳过。
💻 使用示例
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("LLM360/K2")
model = AutoModelForCausalLM.from_pretrained("LLM360/K2")
prompt = 'what is the highest mountain on earth?'
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
gen_tokens = model.generate(input_ids, do_sample=True, max_new_tokens=128)
print("-"*20 + "Output for model" + 20 * '-')
print(tokenizer.batch_decode(gen_tokens)[0])
高级用法
此部分文档未提供高级用法相关代码示例,故跳过。
📚 详细文档
此部分文档未提供详细说明相关内容,故跳过。
🔧 技术细节
此部分文档未提供技术实现细节相关内容,故跳过。
📄 许可证
K2采用Apache 2.0许可证。
关于LLM360
LLM360是一个开放研究实验室,通过开源大模型的研发,推动社区拥有通用人工智能(AGI)。
LLM360通过创建标准和工具,提升大语言模型能力的前沿水平,促进知识传播、研究和开发,从而实现社区拥有AGI的目标。
我们相信,未来的通用人工智能(AGI)将由社区为社区所创造。通过公平的计算资源、高质量的数据和流动的技术知识组成的开放生态系统,我们可以确保AGI的道德发展,并让所有创新者都能普遍受益。
访问我们
引用
BibTeX:
@article{K2,
title={LLM360 K2-65B: Scaling Up Fully Transparent Open-Source LLMs},
author={
Zhengzhong Liu and Bowen Tan
and Hongyi Wang and Willie Neiswanger and Tianhua Tao
and Haonan Li and Fajri Koto and Yuqi Wang and Suqi Sun
and Omkar Pangarkar and Richard Fan and Yi Gu and Victor Miller
and Liqun Ma and Liping Tang and Nikhil Ranjan and Yonghao Zhuang
and Guowei He and Renxi Wang and Mingkai Deng and Robin Algayres
and Yuanzhi Li and Zhiqiang Shen and Preslav Nakov
and Eric Xing
},
year={2024},
}