第一关 书生大模型全链路开源开放体系笔记
1. 数据 https://opendatalab.org.cn/
数据类型:InternLM2的预训练数据包括文本、代码和长文本数据。
数据来源:来源多样,主要包括网页、论文、专利和书籍等,其中网页数据占据了主要部分。
数据清洗:数据在预训练前经过了标准化、规则过滤、去重(使用LSH方法)、安全性过滤(如域封锁、关键字封锁、色情和毒性内容分类器)以及质量过滤(如广告和流畅性分类器)。
数据格式化:所有数据被转换为JSON Lines格式,以便于处理和训练。
2. 预训练
模型架构:InternLM2基于Transformer架构,采用Group Query Attention (GQA) 来优化长序列推理时的内存占用。
预训练阶段:
- 4k上下文训练:初始阶段使用最多4k token的文本数据进行训练。
- 长上下文训练:逐步过渡到32k token的文本数据,调整了Rotary Positional Embedding (RoPE) 以适应更长的上下文。
- 能力特定增强训练:收集了24亿token的高质量数据集,专注于提升模型在编码、推理和数学问题解决等方面的能力。
- 预训练优化:使用InternEvo框架,支持大规模GPU并行训练,优化了内存和计算效率。
3. 微调 XTunner
- SFT(Supervised Fine-Tuning):在预训练后,使用高质量的指令数据集对模型进行微调,以提高其遵循人类指令的能力。
- COOL RLHF(Conditional Online Reinforcement Learning from Human Feedback):引入条件奖励模型和在线RLHF策略,通过多轮PPO训练减少奖励黑客行为,确保模型输出与人类偏好一致。
- 增量续训 有监督微调(分为全量参数微调和部分参数微调)“8G显存微调7B模型”
Xtunner LORA QLORA (指令微调:数据集采用一问一答的形式(有标注)。增量微调:数据集不用疑问一答,就是一句话的形式)
4. 部署LMDeploy
- LMDeploy工具:用于模型的压缩、部署和服务,支持多种部署方式,提高模型在不同应用场景下的可用性。
- 部署优势:通过LMDeploy,模型可以高效地部署在各种环境中,提供稳定的服务,并支持模型的持续更新和维护。
5. 评测OpenCompass
- OpenCompass平台:是一个用于评估基础模型(Foundation Models)的通用平台。用于模型性能的全面评估,包括下游任务性能、对齐性能评估等。
- 评估内容:涵盖了多个NLP任务和基准测试,提供了对模型综合能力的深入理解。评估结果显示InternLM2在多个任务中表现出色,尤其是在长文本建模和特定能力任务中。测试内容包括:综合考试、 语言和知识、推理和数学、编码、长文本建模、工具使用。
6. 应用Lagent AgentLego
- 工具调用:通过修改ChatML格式和引入特定关键字,支持模型调用外部工具,增强了模型的交互和执行能力。
- 功能增强:使用代码解释器作为工具,增强了解决数学问题的能力,采用RICO策略进行数据构建,提升了模型在复杂任务中的表现。