【浦语大模型开源探索】InternLM实战营第二期:技术笔记与全链路解析

news2025/1/16 3:56:47

本次课程链接在GitHub上:
InternLM/Tutorial at camp2 (github.com)

第一次课程录播链接:
书生·浦语大模型全链路开源体系_哔哩哔哩_bilibili

InternLM2技术报告:
arxiv.org/pdf/2403.17297.pdf

一、书生·浦语大模型全链路开源体系笔记

InternLM2是在2.6万亿token的高质量语料上训练得到的。沿袭第一代书生·浦语(InternLM)的设定,InternLM2包含
7B及20B
两种参数规格及基座、对话等版本,满足不同复杂应用场景需求。

书生·浦语大模型开元历程

  1. 20230607 -
    InternLM千亿参数语言大模型
    发布
  2. 20230706 -
    InternLM千亿参数大模型
    全面升级,支持 8K 语境、26 种语言,全面开源,免费商用,InternLM-7B 模型、全链条开源工具体系
  3. 20230814 - 书生·万卷 1.0
    多模态
    预训练语料库开源发布
  4. 20230821 - 升级版对话模型
    InternLM-Chat-7B
    v1.1 发布,
    开源智能体框架 Lagent
    支持从语言模型到智能体升级转换
  5. 20230828 - InternLM 干亿参数模型参数量升级至
    123B
  6. 20230920 - 增强版
    InternLM-20B
    开源,
    开源工具链全线升级
  7. 20240117 - InternLM 2 开源

主要亮点

相比较于1代的InternLM,2代的InterLM2实现了全方位的性能提升(吊打)

    1. 20w上下文,
    1. 推理数学代码能力提升,
    1. 结构化创作
    1. 工具调用能力
    1. 内生计算、代码解释

书生·浦语全链条开源开放体系

数据、预训练、微调、部署、评测、应用

模型的构建离不开数据作为基础,开放高质量语料数据集可以在OpenDataLab上获取:https://opendatalab.org.cn

大模型的下游应用中,增量续训(如:以文章书籍代码等为训练数据,让基座模型学习到某个领域的一些新知识)和有监督微调(如:以高质量对话、问答数据等为训练数据,让模型学会理解各种指令进行对话,或者注入少量领域知识)是经常会用到的两种方式。

微调

  1. 增量续训
    1. 使用场景 - 新知识,垂类领域知识
    2. 训练数据 - 文章、书籍、代码
  2. 有监督微调(全量参数微调、部分参数微调)
    1. 使用场景 - 注入少量领域知识,对话
    2. 训练数据 - 高质量对话&问答数据

部署

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

Agent智能体

基于开源轻量级的智能体框架Lagent和多模态的智能体工具箱AgentLego,其中Lagent可以支持多种类型的智能体能力,支持ReAct,ReWoo,AutoGPT不同的智能体Pipeline,灵活支持多种大模型,简单易拓展,支持丰富的工具。而AgentLego提供了一系列多功能的工具集合,支持多个主流智能体系统例如LangChain等,灵活的多模态工具调用接口,支持多模态扩展,包括视觉感知、图像生成与编辑、语音处理以及视觉-语言推理等功能,一键式远程工具部署,轻松使用和调试大模型智能体。

二、InternLM2技术报告笔记

概述

InternLM2是一个开源的大型语言模型(LLM),它在多个维度和基准测试中展现出了超越先前方法的能力。该模型通过创新的预训练和优化技术,在长序列建模和开放性主观评估方面表现突出。报告详细阐述了InternLM2的基础设施、模型结构、预训练数据、预训练设置、预训练阶段、对齐策略、评估和分析等内容。

主要贡献

  1. 模型开源与发布
    • InternLM2以不同规模(18亿、70亿和200亿参数)的模型形式公开发布,这些模型在主观和客观评估中都展现出了卓越的性能。
    • 报告还发布了不同训练阶段的模型,以便社区能够分析监督微调(SFT)和基于人类反馈的条件在线强化学习(Conditional Online RLHF)训练后的模型变化。
  2. 长序列处理能力
    • InternLM2设计了具有200k上下文窗口的能力,使其在长序列任务中表现出色。特别是在“大海捞针”实验中,使用200k上下文几乎完美地识别出所有目标。
    • 报告分享了在整个训练过程中(预训练、SFT和RLHF)训练长序列语言模型的经验和策略。
  3. 数据准备指南
    • 报告详细阐述了数据准备的各个环节,包括预训练数据、领域特定增强数据、SFT数据和RLHF数据的收集、处理和使用。
    • 这些详细的数据准备指南将有助于社区更好地理解和训练LLMs,提高模型性能和泛化能力。
  4. 创新的RLHF训练技术
    • 报告引入了条件在线RLHF(COOL RLHF)方法,用于协调不同的偏好,从而显著提高了InternLM2在各种主观对话评估中的性能。
    • 报告还进行了初步的主观和客观RLHF结果的分析和比较,为社区提供了对RLHF技术的深入理解。

基础设施

在人工智能领域,特别是在自然语言处理(NLP)方面,高效且强大的训练框架对于模型的开发和优化至关重要。InternEvo作为一个训练框架,在预训练、SFT(Supervised Fine-Tuning,有监督微调)以及RLHF(Reinforcement Learning from Human Feedback,从人类反馈中进行的强化学习)等关键阶段都发挥了关键作用。

InternEvo作为训练框架,在预训练、SFT和RLHF阶段展现了高效性和扩展性,通过数据并行等技术优化训练效率,支持灵活微调,并整合人类反馈优化模型表现,为大型语言模型的开发提供了坚实基础。

模型架构

该模型架构基于LLaMA的设计原则,不仅继承了RMSNorm和SwiGLU激活函数的优点,还在权重矩阵和注意力机制方面进行了创新。具体来说,模型对权重矩阵Wk、Wq、Wv进行了精心调整,以更好地支持不同的张量并行转换,从而显著提高了训练速度。这一改进使得模型在处理大规模数据时能够更加高效。

为了支持长上下文的处理,模型引入了分组查询注意力(GQA)结构。这种结构使得模型在处理非常长的上下文时能够保持高速运算和低GPU显存消耗,从而扩展了模型的应用范围。GQA结构通过分组处理查询向量,有效降低了计算复杂度和内存需求,使得模型在处理长文本时更加高效稳定。

预训练数据

预训练数据是构建大型语言模型(LLM)的基石,对于模型的性能至关重要。在本项目中,使用了海量的文本数据作为预训练数据,这些数据涵盖了多个领域,包括新闻、科技、文学、社交媒体等。通过收集这些多样化的数据,确保了模型能够从多个角度学习语言的规律和结构。

在数据预处理阶段,对原始数据进行了清洗和过滤,去除了重复、低质量和与任务不相关的内容。同时,还进行了分词、词频统计等处理,以便模型更好地理解和处理文本数据。

预训练设置

在预训练阶段,采用了多机多卡的方式进行分布式训练,以充分利用计算资源。具体来说,我们使用了数百个GPU进行并行训练,以加速模型的收敛速度。

在模型设置方面,采用了LLaMA的结构设计原则,并在此基础上进行了一些改进。使用了RMSNorm作为归一化方法,并采用了SwiGLU作为激活函数。这些选择有助于提高模型的稳定性和性能。

此外,还对模型的超参数进行了精心调整,包括学习率、批处理大小、训练轮数等。通过多次实验和调优,找到了一组适合本项目的超参数设置。

预训练阶段

预训练阶段是整个模型构建过程中最为耗时的部分。在这个阶段,模型通过无监督学习的方式从预训练数据中学习语言的规律和结构。采用了大规模并行化的训练策略,以加快训练速度。

在训练过程中,使用了梯度下降等优化算法来更新模型的参数。同时,还采用了学习率衰减、梯度裁剪等技术来防止模型过拟合和梯度爆炸等问题。

随着训练的进行,模型的性能逐渐提升,能够更好地理解和生成自然语言文本。

对齐策略

在对齐策略方面,采用了对齐损失函数来确保模型在生成文本时能够保持与原始文本的一致性。具体来说,计算了生成文本与原始文本之间的相似度或距离,并将其作为损失函数的一部分进行优化。

通过优化对齐损失函数,能够使模型在生成文本时更好地保留原始文本的信息和意图,提高生成文本的质量和相关性。

评估和分析

为了评估模型的性能,采用了多种评估指标,包括困惑度(Perplexity)、BLEU分数、ROUGE分数等。这些指标能够从不同角度评估模型在文本生成和理解方面的能力。

通过对模型在不同数据集和任务上的评估,发现模型在多个方面都取得了显著的性能提升。同时,还对模型的内部表示进行了可视化分析,以更好地理解其工作原理和性能瓶颈。

结论

InternLM2是一个功能强大且开源的大型语言模型,它在多个方面展现出了卓越的性能和创新能力。通过发布不同训练阶段和模型大小的版本,报告为社区提供了宝贵的洞察和参考。同时,训练框架InternEvo的高效性和可扩展性也为大型语言模型的训练提供了有力支持。这些贡献将有助于推动LLM领域的发展和应用。

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

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

相关文章

页面速度是如何影响SEO的?

搜索引擎使用复杂的算法来衡量您网站的重要方面,以决定是否向您发送流量。 搜索引擎使用您网站的小元素来确定您网站的质量和真实性,然后此操作将转化为您的网页在搜索引擎结果页面 中出现的位置。提高您在 SERP 中的排名的过程称为搜索引擎优化 (SEO)。…

.net 项目中配置 Swagger

一、前言 二、Swagger 三、.net 项目中添加Swagger 1、准备工作 (1).net项目 (2)SwaggerController (3)XML文档注释 2、安装Swagger包 3、 添加配置swagger中间件 (1)添加S…

提升效率就靠它们啦

Hey小伙伴们~👋 知道你们都在忙碌的工作中寻求高效的秘诀,今天就给大家安利五款超实用的国产工作App,让你的工作生活更加得心应手哦!💼✨ 1️⃣【亿可达】 作为一款自动化工具,亿可达被誉为国内…

数据结构-----【链表:基础】

链表基础 1、链表的理论基础 1)基础: 链表:通过指针串联在一起的线性结构,每个节点由两部分组成,一个是数据域,一个是指针域(存放指向下一个节点的指针),最后一个指针…

重塑电商版图:全民拼购的崛起与魅力

在数字化浪潮的推动下,电子商务领域正经历着前所未有的变革,其中,全民拼购作为一种创新的电商玩法,正逐步成为市场的新宠。本文旨在深入探讨全民拼购的核心理念、运作机制、独特优势及其引人入胜的参与方式,为行业内外…

如何挑选适合的无线模块?哪些方面值得关注

市场上的无线模块种类繁多,如LoRa模块,WiFi模块,蓝牙模块,UWB模块等涵盖了各种不同的通信标准和应用需求,为满足模块的特定需求并能实现模块最大的性能价值,那么在选择无线模块的时候可以考虑以下几个方面。…

跟我练习100道FPGA入门题目~(1/100)

难度指数:一颗星 关键词:组合逻辑、入门基础 题目介绍: 多路选择器又称为数据选择器,请参考真值表设计一个二选一多路选择器。 其中s为控制信号,d0,d1为两个输入信号,y为输出信号。当s为低电…

金蝶云星空字段之间连续触发值更新

文章目录 金蝶云星空字段之间连续触发值更新场景说明具体需求:解决方案 金蝶云星空字段之间连续触发值更新 场景说明 字段A配置了字段B的计算公式,字段B配置了自动C的计算公式,修改A的时候,触发了B的重算,但是C触发不…

如何利用GPT-4o生成有趣的梗图

文章目录 如何利用GPT-4o生成有趣的梗图一、引言二、使用GPT-4o生成梗图1. 提供主题2. 调用工具3. 获取图片实际案例输入输出 三、更多功能1. 创意和灵感2. 梗图知识 四、总结 如何利用GPT-4o生成有趣的梗图 梗图,作为互联网文化的一部分,已经成为了我们…

怎么找到DNS服务器的地址?

所有域都注册到域名名称服务器(DNS)点,以解析域名应指向的IP地址。此查找类似于在查找个人名称并查找其电话号码时的电话簿如何运行。如果DNS服务器设置错误或指向错误的名称服务器,则域可能无法加载相应的网页。 如何查找当前的…

nginx.conf的配置文件

nginx.conf 1.全局模块 worker_processes 1 工作进程数,设置成服务器内核数的2倍(一般不超过8个,超过8个会降低性能4个 1-2个) 处理进程的过程必然涉及配置文件和展示页面,也就是涉及打开文件的数量。 linux默认打…

一键AI抠图太方便啦!不会ps也能成为修图大师

引言 在数字生活中,抠图技能已成为一项日常且必不可少的技能。无论是需要更换证件照的背景色,还是想要将图像中的主体精确分离。 但并非所有人都精通Photoshop,而且对于简单的任务来说,使用Photoshop可能显得过于复杂。因此&…

手机数据恢复篇:如何在恢复出厂设置后的 iPhone 恢复短信

您可能会认为,在恢复出厂设置iPhone后恢复短信时,一切都会丢失,但是仍然有一些方法可以检索您的重要对话。截至 2024 年,数据恢复技术的进步使得从备份甚至直接从设备内存中抢救消息变得更加容易。无论是通过 iCloud、iTunes 还是…

【大数据】什么是数据融合(Data Fusion)?

目录 一、数据融合的定义 二、数据融合的类型 三、数据融合的挑战 四、数据融合的方法 五、数据融合的关键环节 1.数据质量监控指标的制定和跟踪 2.异常检测和处理机制 3.实时数据监测与反馈机制 4.协同合作与知识共享 一、数据融合的定义 数据融合(Data Fusion&…

【linux】网络基础(2)——udp协议

文章目录 引言udp协议的特点udp的头部结构UDP的工作原理简单的UDP网络程序套接字的认识udp服务端代码udp客户端代码服务端运行 引言 用户数据报协议(User Datagram Protocol, UDP)是一种无连接的传输层协议。它是因特网协议家族的一部分,定义…

武汉星起航:无锡跨境电商加速“出海”,物流升级助品牌全球布局

随着全球化的不断深入,跨境电商作为数字外贸的新业态,正逐渐成为无锡企业拓展海外市场的重要渠道。武汉星起航关注到,近年来,无锡市通过积极推进国际物流枢纽建设,完善海外仓布局,以及各特色产业带的积极参…

《单片机》期末考试复习-学习笔记总结

题型 问答题(15分)编程题(65分)编程题1(20分)编程题2(45分)设计题(20分)一、问答题 1.1.单片机概念和特点 1.2. 51单片机的中断结构 1.3.主从式多机通讯的概念及其工作原理 多机通信是指两台以上计算机之间的数据传输,主从式多机通信是多机通信系统中最简单的一种,…

Graspnet复现笔记

前言 参考文章:Baseline model for "GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping" (CVPR 2020).[paper] [dataset] [API] [doc] 代码仓库:https://github.com/graspnet/graspnet-baseline 一、确定配置 Ubunt…

基于springboot的校园商铺管理系统

功能结构图: 实现图: 后台功能: 商品管理 公告管理 前台页面 详情 订单 我的订单