【书生·浦语大模型实战营第二期】学习笔记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.mzph.cn/news/777307.shtml

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

相关文章

IP组播基础

原理概述 IANA ( Internet Assigned Numbers Authority &#xff09;将 IP 地址分成了 A 、 B 、 C 、 D 、 E5类&#xff0c;其中的 D 类为组播 IP 地址&#xff0c;范围是224.0.0.0~239.255.255.255。 一个 IP 报文&#xff0c;其目的地址如果是单播 IP 地址&#xff…

螺旋矩阵的算法刷题

螺旋矩阵的算法刷题 本文主要涉及螺旋矩阵的算法 包括三个题目分别是 59. 螺旋矩阵 II54. 螺旋矩阵 中等LCR 146. 螺旋遍历二维数组 文章目录 螺旋矩阵的算法刷题一 、螺旋矩阵简单1.1 实现一&#xff08;我认为这个方法更巧妙&#xff01;&#xff01;&#xff09;1.2 实现二&…

Python手册(Machine Learning)--XGBoost

title: Python(Machine Learning)–XGBoost tags: Python机器学习 categories:PythonMachine Learning cover: /img/XGBoost-cover.svg top_img: /img/XGBoost-cover.svg abbrlink: c46d5dae date: 2024-01-25 22:15:00 description: Quick Start XGBoost本质上还是一个GBDT&…

短视频矩阵系统--技术3年源头迭代

短视频矩阵系统核心技术算法主要包括以下几个方面&#xff1a; 1. 视频剪辑&#xff1a;通过剪辑工具或API从各大短视频平台抓取符合要求的视频。这些视频通常符合某些特定条件&#xff0c;如特定关键词、特定时间段发布的视频、视频点赞评论转发等数据表现良好的视频。 2. 视…

Java基础知识总结(25)

代理模式 什么是代理模式&#xff1f; 代理模式是指&#xff0c;为其他对象提供一种代理以控制这个对象的访问。一个对象不适合或者不能直接引用另一个对象&#xff0c;而代理对象可以在客户和目标对象之间起到中介的作用。换句话说&#xff0c;代理模式&#xff0c;是在不修…

2024年【熔化焊接与热切割】报名考试及熔化焊接与热切割模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 熔化焊接与热切割报名考试考前必练&#xff01;安全生产模拟考试一点通每个月更新熔化焊接与热切割模拟试题题目及答案&#xff01;多做几遍&#xff0c;其实通过熔化焊接与热切割作业考试题库很简单。 1、【单选题】…

基于随机森林与LSTM神经网络的住宅用电比较分析及预测 代码+论文 完整毕设

摘要 本文旨在探讨基于随机森林&#xff08;Random Forest&#xff09;与长短期记忆神经网络&#xff08;Long Short-Term Memory, LSTM&#xff09;的住宅用电比较分析及预测方法。随机森林是一种集成学习方法&#xff0c;通过构建多个决策树进行预测&#xff0c;具有较强的鲁…

[疑难杂症2024-002]一个“显而易见“的问题,是如何进入生产环境的?

本文由Markdown语法编辑器编辑完成。 1. 前言 最近在处理一个在医院上线的系统的问题。这个问题&#xff0c;由于关联的模块比较多&#xff0c;至少涉及到3个模块之间的功能调用。因此&#xff0c;协调大家都有时间来排查问题不是很方便。这个问题就拖了有一周左右。医院那边…

钡铼技术R40路由器助力智能船舶航行数据实时传输与分析

钡铼技术R40路由器在智能船舶领域的应用&#xff0c;对于航行数据的实时传输与分析具有重要意义。随着航运业的不断发展和智能化水平的提升&#xff0c;船舶航行数据的及时传输和有效分析对船舶的安全、运营效率等方面至关重要。而引入钡铼技术R40路由器&#xff0c;则可以实现…

libVLC 捕获鼠标、键盘事件

在实现播放器的时候&#xff0c;我们需要捕获键盘、鼠标事件进行视频快进、快退&#xff0c;或者双击全屏/退出全屏窗口、鼠标右键弹出菜单栏。默认情况下&#xff0c;在使用libVLC库的时候&#xff0c;我们无法捕获这些事件&#xff0c;因为我们将Qt的视频窗口传递给了libVLC。…

工厂数据分析系统用这个开源库准没错

ScottPlot是一款简单易用、高度定制、性能卓越的.NET绘图库&#xff0c;支持跨平台操作。除提供标准图表类型外&#xff0c;还支持交互式操作&#xff0c;呈现生动的数据展示。在工厂数字化系统中&#xff0c;可用于生产数据可视化、设备监测和质量控制。无论用于科学研究、数据…

Springboot基础之——自定义starter

引言 在实际开发中&#xff0c;经常会定义一些公共的组件&#xff0c;提供给各个项目团队使用。而在SpringBoot项目中&#xff0c;一般会将这些公共组件封装成SpringBoot的starter。 如果想要自定义starter的话&#xff0c;就要先了解自动配置原理。 1 自动配置原理 1.1 什…

【阅读笔记】《一个聪明的投资者》

格雷厄姆传记 全名&#xff1a;一个聪明的投资者——本杰明格雷厄姆 作者&#xff1a;[美]Joe Carlen 翻译&#xff1a;李莉、吴传珍 笔记 CH1 家族没落 CH2 安全边际 在牛市时&#xff0c;其他人被高收益蒙蔽了双眼&#xff0c;但格雷厄姆主要关心本金的安全&#xff0c;其…

地物波谱库共享网站汇总

ENVI自5.2版本重新梳理了原有的标准波谱库&#xff0c;新增一些物质波谱&#xff0c;在ENVI5.6中存放在…\Harris\ENVI56\ resource\speclib&#xff0c;分别存放在四个文件夹中&#xff0c;储存为ENVI波谱库格式&#xff0c;有两个文件组成&#xff1a;.sli和.hdr。 ENVI保留…

代码随想录——搜索插入位置(Leetcode35)

题目链接 class Solution {public int searchInsert(int[] nums, int target) {int len nums.length;int left 0;int right len - 1;int index -1;while(left < len / 2){if(nums[left] target || target < nums[left]){index left;break;}else{left;}if(nums[ri…

HTML 怎么解决上下标问题呢?

当我们阅读内容时&#xff0c;经常会遇到特殊格式的文本&#xff0c;如化学式的下标和数学公式的上标&#xff0c;sub 标签和sup 标签就是用来解决这个问题的。 1. 基础语法 什么是 sub 和sup标签 sub 标签用于定义下标文本&#xff0c;而 sup 标签用于定义上标文本。 这些…

每日一题(洛谷2386):盘子里放苹果-dfs

题目描述 把 m 个同样的苹果放在 n 个同样的盘子里&#xff0c;允许有的盘子空着不放&#xff0c;问共有多少种不同的分法。&#xff08;5,1,15,1,1 和 1,1,51,1,5 是同一种方法&#xff09; 输入格式 第一行是测试数据的数目 t&#xff0c;以下每行均包括二个整数 m 和 n&a…

通过Caliper进行压力测试程序,且汇总压力测试问题解决

环境要求 第一步. 配置基本环境 部署Caliper的计算机需要有外网权限;操作系统版本需要满足以下要求:Ubuntu >= 16.04、CentOS >= 7或MacOS >= 10.14;部署Caliper的计算机需要安装有以下软件:python 2.7、make、g++(gcc-c++)、gcc及git。第二步. 安装NodeJS # …

高效 CUDA 调试:将 NVIDIA Compute Sanitizer 与 NVIDIA 工具扩展结合使用并创建自定义工具

高效 CUDA 调试&#xff1a;将 NVIDIA Compute Sanitizer 与 NVIDIA 工具扩展结合使用并创建自定义工具 NVIDIA Compute Sanitizer 是一款功能强大的工具&#xff0c;可以节省您的时间和精力&#xff0c;同时提高 CUDA 应用程序的可靠性和性能。 在 CUDA 环境中调试代码既具有挑…