首页 > 其他分享 >第二期书生浦语大模型实战营第一次作业(大模型技术报告解读)

第二期书生浦语大模型实战营第一次作业(大模型技术报告解读)

时间:2024-04-02 13:58:05浏览次数:24  
标签:第二期 训练 模型 RLHF 开源 文本 数据 浦语

书生·浦语大模型全链路开源体系

上海人工智能实验室与商汤科技联合香港中文大学、复旦大学发布新一代大语言模型书生·浦语2.0(InternLM2)。这个大模型包含70亿和200亿两种参数规格,以及基座、对话等版本,向全社会开源并提供免费商用授权。

书生·浦语2.0(英文名:InternLM2)核心理念:回归语言建模的本质,致力于通过提高语料质量及信息密度,实现模型基座语言建模能力获得质的提升,进而在数理、代码、对话、创作等各方面都取得长足进步,综合性能达到同量级开源模型的领先水平。InternLM2是在2.6万亿token的高质量语料上训练得到的。沿袭第一代书生·浦语(InternLM)的设定,InternLM2包含7B及20B两种参数规格及基座、对话等版本,满足不同复杂应用场景需求。秉持“以高质量开源赋能创新”理念,上海AI实验室继续提供InternLM2免费商用授权。

各个平台的开源地址

GitHub:github.com/InternLM/InternLM

HuggingFace:huggingface.co/internlm

ModelScope:modelscope.cn/organization/Shanghai_AI_Laboratory

OpenXLab:openxlab.org.cn/models/InternLM

2023年6月7日正式上线千亿大模型InternLM,2024年1月17日InternLM2开源

8c755e3cd4d74109ba1d22b172ac2f43.png

模型的的关键还是高质量的语言文本,包括评估、高质量语料富集以及相关的语料的补齐

 

5df9db5898f94cedaaacdfa716b44464.png

在同量级的开源模型处于领先地位

d801aa518ddf4feeb1cfdbb10e091191.png

可以进行复杂工具的调用

77af21a9ded54700bf872abd251171da.png

配合代码解释器后,数学、代码、推理等能力大幅提升

84266ea8af444b7fb0f87f7e92111193.png

模型到应用的典型流程

377a34ddeffd4c6287e3fb6161948622.png

针对这个流程,书生浦语开发了全流程,可以便捷调用

e196043c39bd408aaf3de1bbc16d4f67.png

开源的多维的语料数据库 ,可以自由寻找需要的数据集
OpenDataLab 引领AI大模型时代的开放数据平台https://opendatalab.org.cn/f7feca54e6af44cfad1157ab518bbcf2.png

可以使用微调方式,减小算力开销,比如模仿Lora的方法进行微调,可以较高性价比的提高模型的力

包括增量续训和有监督微调,同时发布微调框架XTuner,可以适配多种微调算法和开源生态,覆盖多场景。

ae347bc5761140828877a397d0d3c298.png

LMDeploy是一个全面的开源平台,是一个高效部署、优化和管理机器学习模型及其在GPU加速系统上的推理工作流程。它的目标是为开发者提供一个全链条、开放且高性能的解决方案。

c172502f772c43968732e67c7bc512c5.png

 

InternLM2技术报告

摘要

这篇技术报告主要在介绍预训练和优化技术,其中数据准备包括文本、代码和长上下文本数据,训练微调技术主要为监督微调(SFT)和在线强化学习(COOL RLHF)策略。

介绍

大语言模型开发阶段:

  1. 预训练
  2. 监督微调(SFT)
  3. 人类反馈的强化学习

预训练中,数据的质量是最关键的因素,数据处理发挥重要作用。本文详细介绍了包括为预训练准备文本、代码和长文本数据。

在处理延长LLM的上下文长度中,采用分组查询注意力(GQA)来在推断长序列时减少内存占用。预训练阶段,先使用4k训练,再过渡到高质量的32k文本处理。

监督微调(SFT)和基于人类反馈的强化学习(RLHF)部分,构建了相应的32k文本,确保高效遵循人类指令。还引入了COOLRLHF),条件奖励模型来协调多样但可能冲突的偏好,并通过多轮Proximal Policy Optimization(PPO)来缓解每个阶段出现的奖励作弊问题。

模型贡献关键亮点:

  1. 不同规模的模型(包括18亿、70亿和200亿参数)
  2. 200k上下文窗口
  3. 数据训练指南
  4. RLHF技术

基础设施

训练框架InternEvo,针对预训练、SFT和RLHF。

InternLM2模型架构基于LLaMA,LLaMA在Transformer架构基础上进行了改进,将LayerNorm替换为RMSNorm,并采用作为激活函数。同时模型在Wk、Wq和Wv矩阵合并并且重新配置了矩阵布局,增加速度和灵活性。为了处理长文本,使用了分组查询注意力(GQA)。

预训练

文本数据可以根据来源分为网页、论文、专利和书籍,通过转为特定格式,以JSON格式储存,转为预训练数据集。接下来处理步骤包括:基于规则的过滤、数据去重、安全过滤和质量过滤。

        预训练数据

1.文本数据数据处理流程

格式化数据(JSON)eq?%5Crightarrow清洗数据eq?%5Crightarrow去重数据(MinHash)eq?%5Crightarrow安全数据(过滤器)eq?%5Crightarrow高质量预训练数据
abc4892bc1fa435e9753364b5467d3bf.png
 

2.代码数据

格式清理(markdown)eq?%5Crightarrow代码去重eq?%5Crightarrow质量筛选(评分器模型)eq?%5Crightarrow依赖排序

3.长文本数据

数据过滤管道,长度过滤、统计过滤和语言模型困惑度过滤。

        预训练设置

1.分词

GPT4分词方法,参考cl100k词汇表

2.预训练超参数

AdamW优化器和余弦退火学习率衰减策略

        预训练阶段

用于预训练1.8B、7B和20B模型的总tokens量范围从2.0万亿到2.6万亿。

1.  4k文本训练

2.长文本训练

模型从4k过渡到32k训练

3.特定能力的增强训练

从来自Hugging Face数据集平台(https://huggingface.co/datasets)的高质量检索数据和各种开源数据中,筛选出来一个丰富的训练集,共24Btoken。使用小批次和较小的学习率进行学习。

最后,模型在编码、推理、问答和考试等任务上表现出显著性能提升。

模型微调

监督微调(SFT)和基于人类反馈的强化学习(RLHF)两个阶段

        监督微调(SFT)

数据样本转换为 ChatML 格式(Cha)进行学习

        基于人类反馈的强化学习(RLHF)

条件在线RLHF(COOL RLHF) COOL RLHF首先引入条件奖励机制来调和多样化的偏好,使奖励模型可以根据特定条件动态地将注意力分配给不同的偏好,从而最优地整合多个偏好。此外,COOL RLHF采用多轮在线RLHF策略,使语言模型能够快速适应新的人类反馈,减少奖励作弊的发生。

        条件奖励模型

条件奖励模型能够无缝融合不同领域(如对话、文章写作、诗歌、摘要、编程、数学和格式化输出)的数据,可以适应不同场景的不同场景的多样化偏好。

c016cc8de4504bb8b06676a1aa844883.png

        Online RLHF

两条路径:快速路径和慢速路径。

快速路径在于快速识别并修复奖励模型中的"奖励滥用"(reward hacking)行为,慢速路径目标是长期持续优化奖励模型,特别是提高高奖励区域的可靠性和鲁棒性。最后可以动态调整和优化奖励模型,从而增强使用人类反馈训练的语言模型的整体性能和可靠性。

         PPO Training

过程中使用了4个模型:行为模型(Actor)、价值模型(Critic)、参考模型(Reference)和奖励模型(Reward)。在训练过程中,后两个模型被冻结,只训练前两个模型。

  总结

本报告阐述了InternLM2的训练过程,包括训练框架、预训练文本数据、预训练代码数据、预训练长文本数据和对齐数据。在创新技术上,针对强化学习后训练(RLHF)过程中遇到的偏好冲突,提出了条件在线RLHF方法,以协调不同的偏好。

附录

一些有意思的提示词prompt示例

4d4e676978904bccadb0b5b908094886.png


 

 

标签:第二期,训练,模型,RLHF,开源,文本,数据,浦语
From: https://blog.csdn.net/chao_666666/article/details/137147035

相关文章

  • 创业:大模型RAG系统三个月的开发心得和思考
    1.前言自从和员外上家公司离职后,我们就自己搞公司投入到了RAG大模型的AI产品应用的开发中,这中间有一个春节,前后的总时间大概是三个月左右,在这三个月期间,基本是昼夜兼程啊,到今天3月底结束,产品目前看是有了一个基础的雏形。在这期间,员外负责整个产品的营销、商业客户的洽谈等方面......
  • 模型转化和移动端部署
    importtorchimporttorchvisionfromtorch.utils.mobile_optimizerimportoptimize_for_mobile#1、导入模型#1.1导入预训练好的模型#model=torchvision.models.mobilenet_v3_small(pretrained=True)#1.1注意如果你的模型是自己定义的,应当像这样进行模型加载mo......
  • 提高三维模型的立面出图技术
    提高三维模型的立面出图技术 摘要:立面出图是三维模型应用中常见的需求,它能够将三维模型呈现为平面立面图,用于建筑设计、室内装饰等领域。本文将介绍几种常用的立面出图技术,包括投影法、剖面法和渲染技术,并分析它们的特点和适用场景。 引言立面出图是将三维模型的立......
  • R语言使用Rasch模型分析学生答题能力|附代码数据
    全文链接:http://tecdat.cn/?p=10175最近我们被客户要求撰写关于Rasch的研究报告,包括一些图形和统计输出。几个月以来,我一直对序数回归与项目响应理论(IRT)之间的关系感兴趣在这篇文章中,我重点介绍Rasch分析。最近,我花了点时间尝试理解不同的估算方法。三种最常见的估算方法是:......
  • 【码银送书第十六期】大模型在金融行业的应用场景和落地路径
    作者:林建明来源:IT阅读排行榜本文摘编自《AIGC重塑金融:AI大模型驱动的金融变革与实践》,机械工业出版社出版文章转自:大模型在金融行业的应用场景和落地路径 这是最好的时代,也是最坏的时代。尽管大模型技术在金融领域具有巨大的应用潜力,但其应用也面临不容忽视的风险和挑......
  • 【雷达】测量聚变 React堆中等离子体的FMCW雷达和相关DSP模型matlab代码
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 基于Linux系统的Llama2模型部署与运行
    一、安装Linux系统(Ubuntu20.04)略。二、安装Nvidia-docker参考:nvidia-docker安装三、环境配置3.1拉取镜像在终端通过docker拉取一个Python版本为3.10的镜像。sudodockerpullpython:3.103.2在容器中的操作1、运行容器sudodockerrunit--name容器名python:3.......
  • 【雷达】基于Matlab模拟固定雷达LFM信号的仿真与压缩,建立了对移动目标的回波模型
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 轻松分钟玩转书生·浦语大模型趣味 Demo
    一、基础作业:使用InternLM2-Chat-1.8B模型生成300字的小故事:使用猪猪模型部署并访问:二、进阶作业:完成Lagent工具调用数据分析Demo部署:熟悉huggingface下载功能,使用huggingface_hubpython包,下载InternLM2-Chat-7B的config.json文件到本地:......
  • JUC:java内存模型(如何保证?可见性、原子性、有序性)
    文章目录java内存模型可见性解决方法原子性有序性流水线技术模式之Balking(犹豫)java内存模型JMM即JavaMemoryModel,它定义了主存、工作内存抽象概念,底层对应着CPU寄存器、缓存、硬件内存、CPU指令优化等。JMM体现在以下几个方面:原子性-保证指令不......