本文视频笔记部分为观看课程的记录,InternML2就论文每个部分记录了让自己感兴趣的部分,以及之前不知道的概念理解
目录
视频笔记
本节课视频:书生·浦语大模型全链路开源体系
人工智能的发展是从专用任务到通用任务

InternLM2介绍
InternLM2包括两个规格:轻量级的7B和综合性能更强的20B。

InternML2相比1的升级
- 新一代数据清洗过滤,高质量预料。
- 语言建模能力提升,下游任务性能增强
InternLM 2的亮点
- 超长上下文, 20万 token
- 推理、数学、代码提升显著
- 精准指令跟随
- 工具调用能力整体升级,可靠支持工具多轮调用复杂智能体搭建
- 突出的数理能力和实用的数据分析功能
除此以外,相比给出列举式的列表回答,更具人文关怀。
- 从模型到应用
下图为模型到应用的典型流程:

书生浦语全链条开源开放体系
为了更容易的开发,书生浦语有一个完整的开源开放体系

数据
书生·万卷 1.0总数据量:2TB,符合主流中国价值观的中文语料。包含文本数据、图像-文本数据集、视频数据。
书生·万卷CC总数据量:400GB,安全、信息密度更高的英文语料。时间跨度长、来源丰富多样、安全密度高
预训练
高可扩展,支持从 8 卡到千卡训练,千卡加速效率达 92%
极致性能优化,Hybrid Zero 独特技术+ 极致优化,加速 50%
兼容主流,无缝接入 HuggingFace等技术生态,支持各类轻量化技术
开箱即用,支持多种规格语言模型,修改配置即可训练

微调

适配多种生态
适配多种硬件
测评
CompassRank:中立全面的性能榜单,包括绝大多数主流的评测榜单。
CompassKit:大模型评测全栈工具链:支持数据污染检查、更丰富的模型推理接入、长文本能力评测、中英文双语主观评测。
CompassHub:高质量评测基准社区:开源开放,共建共享的大模型评测基准社区

部署

智能体
轻量级智能体框架Lagent:支持多种类型的智能体能力;灵活支持多种大语言模型;简单易拓展,支持丰富的工具
多模态智能体工具箱 AgentLego:丰富的工具集合,尤其是提供了大量视觉、多态相关领域的前沿算法功能;支持多个主流智能体系统,如 LangChain,Transformers Agent,lagent 等;灵活的多模态工具调用接口,可以轻松支持各类输入输出格式的工具函数;一键式远程工具部署,轻松使用和调试大模型智能体
InternLM2 技术报告笔记
这篇论文主要从四个方面介绍了InternML2,本笔记仅就每个部分记录了让自己感兴趣的部分,以及不理解的名词及概念
Infrastructure
InternEvo
预训练框架InternEvo使用Zero Redundancy Optimizer减少内存占用,使用FlashAttention和mixed-precision training(with BF16)提高硬件利用率。
(ps.我真的是太久没学习没看论文了,这里面ZeRo和FlashAttention and BF16自己都不知道是什么,前面俩后面有时间了再去阅读)
BF16:
由上图可知,BF16的1位用于符号,8位用于指数,7位用于尾数,这样的好处是BF16的设计允许它与FP32有相同的数值范围,尽管它的精度比FP32低,但是可以加速。
InternEvo通过实施一套自适应分片技术来解决通信挑战,以实现强大的扩展性能。其中包括Full-Replica、Full-Sharding和Partial-Sharding,它们允许模型状态的每个组件(参数、梯度和优化器状态)独立选择最合适的分片方法和设备网格配置。这种灵活性有助于在GPU基础设施中更细致地分布模型状态。
InternEvo通过AllGather有效地预取即将到来的层的完整参数集,同时并发地计算当前层。生成的梯度通过ReduceScatter在参数分片组内进行同步,随后使用AllReduce在参数分片组之间进行同步。这些通信过程巧妙地与反向计算重叠,最大限度地提高了训练管道的效率。
模型结构
遵循LLaMA的结构设计原则。为了更好地支持不同张量并行(tp)变换,模型不是以直接的方式堆叠Wk、Wq和Wv矩阵,而是对每个头部的Wk、Wq和Wv采用交错的方法,如下图所示。这种设计修改有利于张量并行大小的调整,可以沿着矩阵的最后一个维度拆分或连接矩阵,从而增强模型在不同分布式计算环境中的灵活性。

图中左侧InternLM 的k q v 矩阵是每个类别的矩阵堆在一起,右侧则是交错。
InternLM2系列模型都选择了分组查询注意(GQA) (Ainslie等人,2023),因此它可以在高速和低GPU内存下进行推断,并且具有很长的上下文。
pre-train
Pre-training data
去重:采用基于LSH (Locality-Sensitive hash)的方法对数据进行模糊重删。
LSH:locality sensitive
hashing(LSH),中文名为局部敏感哈希,用于解决在高维空间中查找相似节点的问题。如果直接在高维空间中进行线性查找,将面临维度灾难,效率低下,LSH的作用就是把原来高维空间上的点都映射到一个或多个hashtable的不同的位置上,这个位置术语上称作桶(buckets)。它映射的原则是:原来在高维空间中就很接近的点,会以很大的概率被映射到同一个桶中。这样,如果再给你一个高维空间上的点,你只需要按照同样的方式也把这个点映射到一个桶中,而在同一个桶中点都是有很大概率在原来高维空间中是相似的,这样就可以直接对这个桶中的元素进行查找即可,大大的提高了查找的效率。
过滤不安全的数据:用Bert分类打分,过滤掉toxic数据。
阈值设置经验:为每个领域量身定制阈值/使用验证集来简化流程,只关注边缘情况
Alignment
COOL RLHF
COOL RLHF首先引入了一种条件奖励机制来协调不同的偏好,使奖励模型能够根据特定的条件动态地将注意力分配到不同的偏好上,从而实现多种偏好的最优整合。此外,COOL RLHF采用多轮在线RLHF策略,使LLM能够迅速适应新的人类反馈,减少奖励黑客的发生。

相比LLaMA2,COOL RLHF使用单个奖励模型对多个偏好进行建模。
long-context code的获取:


2258

被折叠的 条评论
为什么被折叠?



