在2023年3月,我们发表了大语言模型综述文章《A Survey of Large Language Models》,目前已经更新到第13个版本,自上线以来受到了不少读者的关注。在几周之前,我们完成了中文版书籍《大语言模型》的初稿。中文版书籍注重为大模型技术的入门读者提供讲解,力图展现一个整体的大模型技术框架和路线图。
英文综述链接:
https://arxiv.org/abs/2303.18223
中文书项目链接:
https://llmbook-zh.github.io
作为《大语言模型》综述和书籍的配套资源,我们开发了一个代码工具库LLMBox,供研究人员使用。LLMBox代码库包含统一的训练流程和全面的模型评估框架,旨在成为训练和使用大语言模型的一站式解决方案。
LLMBox内部集成了许多实用的功能,实现了训练和使用阶段高度的灵活性和效率。比如在训练阶段,我们支持预训练、指令微调、对齐微调等训练策略,高效数据处理策略和统一的数据集混合等功能;在使用阶段,我们有全面的评测模型和数据集支持、常见评测设置、高效评测等功能。在接下来的一段时间,我们还会发出十余期LLMBox的详细使用教程,涵盖从入门到进阶的大模型训练和使用方法,以帮助读者加深实践经验。
- 多种训练策略:支持预训练(PT)、指令微调(SFT)、对齐微调(PPO 和DPO)
- 全面的 SFT 数据集:支持 9 个 SFT 数据集
- 构建数据集:支持自定义多数据集混合、Self-Instruct 和 Evol-Instruct
- 高效训练:支持 FlashAttention 和 Deepspeed
- 上下文学习:支持 KATE、GlobalE 和 APE 等 ICL 策略
- 思维链:支持 base、least to most和 PAL 三种 CoT 策略
- 评估方法:支持针对多选题或生成题的四种常见评估方法
- 前缀缓存:通过缓存前缀的 past_key_value,可以将推理速度提高至多 6 倍
- 高效推理:支持 vLLM 和 FlashAttention 支持
- 量化:支持 bitsandbytes 和 GPTQ 量化
接下来的几期推送将先介绍评测和使用部分,从国内下载模型开始,到如何加速实验、量化推理,再到如何用LLMBox复现论文中常见的评测基线,包括CoT、ICL等策略。
然后是用LLMBox训练模型的部分,从训练模型前的高效训练配置、显存估计和词表扩充,到四种模型训练策略的详细使用指导(PT、SFT、PPO和DPO),其中还包括参数高效微调使用介绍,再到使用LLMBox进行大模型指令生成,包括Evol-instruct和Self-instruct两种策略。
如果在使用中遇到相应的问题或者不完善的功能,欢迎在GitHub Issue(https://github.com/RUCAIBox/LLMBox/issues)中反馈!