InternLM2论文笔记
这里是阅读InternLM2论文的笔记
微调方式
在大模型的下游应用中,可以有两种微调方式
- 增量续训
即无监督的方式,让模型学习一些新知识,比如某些垂直领域的新知识
使用的数据有:书籍,文章,代码等1. 有监督微调
为了让模型学会理解指令进行对话,或者注入少量的领域知识
使用的数据为高质量的对话和问答的数据
全量参数微调
部分参数微调 (lora等)
扩展上下文长度
必要性:
1. 检索增强生成(RAG)需要检索的时候返回很长的上下文
2. Agent应用时,用户的历史对话数据很长
LLaMA的transformer的更新
- 将 LayerNorm (Ba et al., 2016) 替换为 RMSNorm (Zhang & Sennrich, 2019)1. 将激活函数设置为 SwiGLU (Shazeer, 2020)
数据流水线:
数据格式化:爬的网页提取正文和检测语言
规则处理:随机爬的网页很多脏数据,针对标点符号的异常断行、异常字符出现频率、标点符号分布情况等设计了一系列启发式过滤规则
重复数据过滤:使用minhash (5-gram) ,0.7阈值
安全过滤:采用“域名屏蔽”、“词屏蔽”、“色情分类”和“毒性分类”相结合的综合安全策略对数据进行过滤
毒性分类模型过滤 (基于kaggle相关数据集训练的bert)
质量过滤:互联网来源的数据包含大量低质量的内容,人工按照一些维度标注,然后训练模型二次过滤
技术报告
InternLM2的模型结构创新
基于Transformer架构,并加入以下4个创新点以优化训练效率和模型性能:
层归一化部分代替传统的LayerNorm,采用RMSNorm或其他归一化方法来提高训练效率。
激活函数选择了SwiGLU之类的激活函数,提升了模型的性能。
对模型中的权重矩阵如Wk, Wq, Wv进行了调整,以支持不同的张量并行转换,并提高训练速度。
为了支持长上下文,采用了Grouped-Query Attention (GQA)结构,以便在处理非常长的上下文时保持高速和低GPU显存消耗。
InternLM2论文笔记
https://abigail61.github.io/2024/11/23/原创-- InternLM2论文笔记/