【书生·浦语大模型实战营第二期】学习笔记1

1. Introduction

开源llm举例:LLaMA 、Qwen 、Mistral 和Deepseek
大型语言模型的发展包括预训练、监督微调(SFT)和基于人类反馈的强化学习(RLHF)等主要阶段
InternLM2的显著特点

  1. 采用分组查询注意力(GQA)来在推断长序列时减少内存占用
  2. 预训练:4k个上下文文本——高质量的32k文本——位置编码外推
  3. 监督微调(SFT)和基于人类反馈的强化学习(RLHF)
  4. 条件在线RLHF(COOL RLHF)
  5. 多轮Proximal Policy Optimization(PPO)缓解奖励作弊问题

2. Infrastructure

2.1 InternEvo

在预训练、有监督微调和RLFH期间使用的训练框架InternEvo
特点:数据、张量、序列和管道并行技术
多种Zero Redundancy Optimizer (ZeRO, 2020)策略、FlashAttention技术、混合精度训练(Mixed Precision Training)
MFU:模型计算量利用率
减少通信开销:自适应分片技术(如Full-Replica、Full Sharding和Partial-Sharding)
通信与计算的重叠
长 序 列 训 练:InternEvo将GPU内存管理分解为四个并行维度 (数据、 张量、 序列和管道) 和三个分片维度(参数、梯度和优化器状态)
容错性:异步保存机制、冷存储

2.2 Model Structure

LLaMA的结构设计原则:在Transformer的基础架构上,将LayerNorm替换为RMSNorm,采用SwiGLU作为激活函数,分组查询注意力(GQA)

3. Pre-train

详细描述如何为预训练准备文本、代码和长文本数据

3.1 Pre-training Data

文本数据
以JSON Lines (jsonl)格式存储
处理步骤包括:数据格式化、应用启发式统计规则清洗数据、使用局部敏感哈希(LSH)方法进行数据去重、采用复合安全策略过滤数据
image.png

代码数据

通过训练代码数据,有可能提升推理能力

数据源分布
格式清理:转换为markdown格式
代码去重
质量筛选
依赖排序

长文本数据
数据过滤管道:长度选择、统计过滤器、语言模型perplexity过滤器

3.2 Pre-training Settings

分词Tokenization
预训练中超参数设置
AdamW优化器、余弦退火学习率衰减策略

3.3 Pre-training Phases

三个阶段:
不超过4k长度的预训练语料库——不超过32k长度的预训练数据——特定能力增强数据

4. Alignment

4.1 有监督微调

将数据样本转换为 ChatML 格式

4.2 COOL RLFH

用Proximal Policy Optimization (PPO)方法设置reward函数
RLHF存在的问题

  1. 偏好冲突:有益和无害
  2. 奖励作弊(reward hacking)的问题

条件在线RLHF
整合多个偏好且减少奖励作弊
作用机理:将不同的系统提示(system prompt)应用于不同类型的偏好
image.png

如何减少奖励作弊:
RLHF分为两个路径:
快速路径(Fast Path)用于立即、有针对性的改进
慢速路径(Slow Path)则用于长期、全面地优化奖励模型

4.3 长上下文微调

一类来自书籍的长序列文本,另一类是来自GitHub仓库的数据

4.4 工具增加的llm

代码解释器(<|interpreter|>)和外部插件(<|plugin|>)

5. 评估和分析

5.1 总体性能

使用OpenCompass进行评估

5.2 在下游任务上的表现

(1) 全面测试,(2) 语言和知识,(3) 推理和数学,(4) 多种编程语言编程,(5) 长文本建模,(6) 工具利用

5.3 对齐表现

6. 结论

参考资料

InternLM技术报告

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572351.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【3D目标检测】Det3d—SE-SSD模型训练(前篇):KITTI数据集训练

SE-SSD模型训练 1 基于Det3d搭建SE-SSD环境2 自定义数据准备2.1 自定义数据集标注2.2 训练数据生成2.3 数据集分割 3 训练KITTI数据集3.1 数据准备3.2 配置修改3.3 模型训练 1 基于Det3d搭建SE-SSD环境 Det3D环境搭建参考&#xff1a;【3D目标检测】环境搭建&#xff08;OpenP…

任何程序员错过这些宝藏接单平台,都会难过好吗?

财富自由何时才能实现&#xff1f;首先&#xff0c;可以很负责地告诉你&#xff1a;安安心心地当一头牛马肯定是不能&#xff01;兢兢业业十几年&#xff0c;归来仍是马喽。 说实在的&#xff0c;这两年经济下行&#xff0c;互联网红利又日渐褪去。前者既争又抢&#xff0c;后…

低功耗、低成本 NAS 的可能性

使用现状&#xff1a;多台工作电脑&#xff0c;家里人手一台&#xff0c;还在两个住处 有好几台工作电脑&#xff0c;不同电脑有不同的用途&#xff0c;最大的问题就是各个电脑上文件的同步问题&#xff0c;这里当然就需要局域网里的公共文件夹&#xff0c;在NAS的问题上查了网…

SQLServer CONCAT 函数的用法

CONCAT函数用于将多个字符串值连接在一起。以下是一个简单的示例&#xff0c;演示了如何使用CONCAT函数&#xff1a; -- 创建一个示例表 CREATE TABLE ExampleTable (FirstName NVARCHAR(50),LastName NVARCHAR(50) );-- 插入一些示例数据 INSERT INTO ExampleTable (FirstNam…

搜维尔科技【应急推演】虚拟仿真技术的发展为煤炭矿井的安全生产找到新的出口

煤炭矿井的安全生产一直是我国关注的重大事项&#xff0c;保证煤炭矿井的安全生产&#xff0c;减少人员伤亡等不可逆的损失成为重中之重。虚拟仿真技术的发展为煤炭矿井的安全生产找到了新的出口。依托虚拟仿真技术&#xff0c;对煤炭矿井进行实时的生产监测&#xff0c;对矿井…

c# RichTextbox添加行号

使用另一个RichTextBox放在要添加行号的左边 使用以下代码 //uiRichTextBox1为右侧文本框&#xff0c;uiRichTextBox2为左侧文本框int lineIndex 0;private void uiRichTextBox1_TextChanged(object sender, EventArgs e){if (lineIndex > uiRichTextBox1.Lines.Length){L…

如何清理释放群晖客户端缓存?

任正菲说&#xff1a;企业最大的浪费&#xff0c;是经验的浪费&#xff01; 而一个一个的经验&#xff0c;又都来自企业的每一个工作者。 因此当我们在工作过程中遇到一些问题时&#xff0c;我们就应该下意识的把解决问题的经验沉淀下来&#xff0c;从而可以与大家进行分享。…

c语言知识点整理------基础c语言框架,数据类型,变量常量,注释

前言 本文不涉及讲解原理&#xff0c;用简洁明了的风格&#xff0c;去整理方便查阅的知识点。 &#xff08;适合有编程基础&#xff0c;或者需要作为笔记的人群使用&#xff09; 程序基本框架 结果会输出hello world。 程序的执行 c语言属于编译型语言。 代码执行分为五个…

OLED i2c屏幕花屏雪花屏的问题解决

当在香橙派上面执行官方的文件时&#xff0c;i2c屏幕会出现雪花 解决思路&#xff1a;找到清理函数进行清除 把这个函数运用到实际开发中 加入清屏函数前&#xff1a; 加入清屏函数后&#xff1a;

【搞不明白】redis和mysql、mybatisplus有啥关系

一个解决三天的bug&#xff0c;到现在也没有搞明白&#xff0c;如题&#xff0c;到底redis和mysql、mybatisplus能有啥关系。三个不相关的嘛 记录下问题&#xff1a; (框架用的Jeecgboot 3.6.0) – 学习使用 看下面的一段代码&#xff0c;是一个分页查询&#xff1a;注意引用的…

全国地质灾害点shp崩塌滑坡泥石流空间分布地质灾害详查等数据集

地质灾害是指在自然或者人为因素的作用下形成的&#xff0c;对人类生命财产造成的损失、对环境造成破坏的地质作用或地质现象。地质灾害在时间和空间上的分布变化规律&#xff0c;既受制于自然环境&#xff0c;又与人类活动有关&#xff0c;往往是人类与自然界相互作用的结果。…

大型网络游戏设计与AI赋能-4

接上文---- 第一个要去搭建的就是这个运行平台层。在此之上&#xff0c;我们会引入一些第三方SDK包。 为什么要引入第三方的SDK包&#xff1f;大家要知道一点&#xff0c;任何研发一款软件从来都不会从头造轮子。就是我们在开发一款软件的时候&#xff0c;从来都不会从头造轮子…