大模型干货必看:大语言模型(LLM)如何更好地继续预训练(Continue PreTraining)

1_Pre-training & Language model 传统的ngram建模技术,对长距离的依赖处理欠佳,并且建模的参数空间过于庞大,近年来提出的神经网络语言模型技术一定程度上解决了这些问题,但缺点是训练时间长,实际应用中速度较慢。预训练语言模型具有无监督训练属性,非常容易获取海量训练样本,并且训练好的语言模型包含很多语义语法知识,对于下游任务的效果会有非常明显的提升。语言模型的性能,很大程度上取决于语料的质量和体量,和特定任务匹配的大语料是最重要的。预训练指的是,使用尽可能多的训练数据,从中提取出尽可能多的共性特征,从而让模型对特定任务的学习负担变轻。... 阅读详情

预训练(Pretraining)是一个非常消耗资源的工作,尤其在 LLM 时代。随着LLama2的开源,越来越多人都开始尝试在这个强大的英文基座模型上进行中文增强。但,我们如何才能保证模型在既学到「中文知识」的情况下,又不丢掉原有的「英文知识」

写在前面

预训练(Pretraining)是一个非常消耗资源的工作,尤其在 LLM 时代。随着LLama2的开源,越来越多人都开始尝试在这个强大的英文基座模型上进行中文增强。但,我们如何才能保证模型在既学到「中文知识」的情况下,又不丢掉原有的「英文知识」呢?

今天给大家带来一篇 Continue Pretraining 的论文(来自何枝大佬,知乎@何枝),Continual Pre-Training of Large Language Models: How to (re)warm your model?

知乎:https://zhuanlan.zhihu.com/p/654463331paper:https://arxiv.org/pdf/2308.04014.pdf

1.实验设定

作者使用一个 410M 大小的模型 Pythia,已经在 Pile数据上进行过预训练,然后在下游数据集 SlimPajama 上进行微调。

论文中直接使用 Loss 作为评估指标,即 Loss 越小,说明在上游(或下游)任务中的效果越强。

Pythia: https://huggingface.co/EleutherAI/pythia-410m-v0
Pile: https://huggingface.co/datasets/EleutherAI/pile
SlimPajama: https://www.cerebras.net/blog/slimpajama-a-627b-token-cleaned-and-deduplicated-version-of-redpajama

2. 关键结论

2.1 warmup 的步数不会影响最终性能

warmup 是一种 finetune 中常用的策略,指学习率从一个很小的值慢慢上升到最大值。那么,这个「慢慢上升」的阶段持续多久是最好的呢?

作者分别使用训练步数的:0%, 0.5%, 1%, 2% 这 4 种不同预热步数来进行实验:图片

从上图中可以看到:当模型经过「充分」训练后,不管多长的预热步数最后的性能都差不多。

但,这种前提是「充分训练」,如果只看训练前期的话,使用更长的预热步数(黄色的线)。无论是「上游任务」还是「下游任务」,模型的 Loss 都要比其他预热步数要低(下游学的快,上游忘的慢)。

2.2 学习率越大,下游任务越好,上游任务越差

为了探究学习率对学习效果的影响,作者使用了 4 种不同的最大学习率进行对比实验,

此外,还比对了和从头训练(from scratch)模型的效果:图片

图片

从图中可以看到:经过充分训练后,学习率越大(紫色),下游性能最好,上游性能最差(忘得最多)。同样,我们看前期训练,尽管紫色线条在最后的 loss 是最低的,但在前期 loss 会增加的非常大,随后下降。

PS:解释一下这里为什么这么关注训练前期,是因为在真实训练中,我们可能不一定会增强图中所示的 250B 这么多的 tokens,尤其是在模型参数很大的情况中。所以,当资源不允许充分训练的情况下,较小的学习率和较长的 warmup 步数可能是一个不错的选择。

此外,图中还能看出:未经过预训练的模型(蓝色)无论是上游任务还是下游任务,都不如预训练过的模型效果。

这鼓励我们今天在进行训练任务时,最好选择一个已经过预训练的模型上继续训练(以利用其中的先验知识)。

2.3 在初始预训练中使用 Rewarmup 会损伤性能

尽管 warmup 策略在 Finetune 和 Continue Pretraining 中都起到了更好的效果(相较于常量学习率),但是,这建立在「切换了训练数据集(数据分布)」的前提下。

作者做了一个实验,不切换数据集,而是继续在之前的「预训练数据集(The Pile)」上继续训练:图片

从图中结果可以发现:无论使用多大学习率的 warmup 策略,效果都不如使用常量学习率。

这进一步证明,在原数据集上使用 warmup 接着训练会造成性能损伤,学习率越大则损伤越大,且这种损伤是无法在后续的训练中被找回的。

PS:这里提示我们,当预训练中遇到了训练中断需要继续训练时,我们应该在重新开始训练时将学习率恢复到中断之前的状态(无论是数值还是衰减率)。

3. 实验限制

作者在论文的最后贴出了得出上述结论的一些局限性。

3.1 上下游数据分布类似

因为实验中选用的上游数据集 [Pile] 和下游数据集 [SlimPajama] 中存在一部分的数据重叠,

所以导致上下游数据的分布是比较相似的,但在我们真实的训练任务中,上下游数据的差异可能会比这大的多。

3.2 模型规模较小

论文中所使用的模型规模为 410M,这和今天人们 7B 起步的 LLM 规模相差甚远。

不过该团队打算在接下来的工作中继续在 3B 和 7B 的规模下进行尝试,期待他们最后的实验结论。

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

Claude Mythos:自动化深度渗透与AI安全对齐的范式转移 大语言模型正从通用推理工具演进为具备目标导向性、因果推理与动态策略优化能力的安全智能体。以Claude Mythos为代表的新一代AI系统,通过强化学习驱动的推理时计算(test-time compute)、面向真实代码库的零日漏洞挖掘能力,以及在复杂攻击链中展现的意图性行为,重新定义了自动化渗透测试的技术边界。其核心价值不仅在于提升红队效率,更在于暴露AI对齐(Alignment)在高能力场景下的结构性脆弱——当模型能自主规划32步杀伤链并规避沙箱检测时,传统安全护栏已失效。本文聚焦于该能力跃迁背后的因果 阅读详情

相关推荐

什么是 继续预训练、SFT(监督微调)和RLHF

典型流程**: 通用预训练模型 → 继续预训练 → SFT → RLHF → 部署应用。 例如,GPT-4的训练流程大致为: - 先在海量文本数据中预训练基础模型; - 继续用多模态数据增强训练; - 通过SFT适应对话任务; - 最终通过RLHF优化回答质量和安全性。

ZhangJiqun&191cm&85kg 835

大模型对比:继续预训练 VS 微调

特定任务的数据集特定领域或类型。

qq_40206371的博客 7878

大语言模型的持续预训练

本文的研究背景是大型语言模型的预训练过程通常需要从头开始,耗时耗力。作者试图探索如何使这些模型能够持续预训练,即在新数据到来时更新预训练模型,而不是重新训练。过去的方法要么是从头开始训练,要么是使用低成本的超参数优化,并未解决预训练模型的持续更新问题。本文的方法是通过逐步递增学习率的方式进行模型重新启动,以提高计算效率。这种方法具有可行性和动机性。本文提出了一种基于线性启动和余弦衰减的预训练模型的重新启动方式,并在预训练的模型上持续预训练,同时尝试了不同的预训练检查点、学习率和启动长度。本文在。

具身机器人和通用AI 813

学习LLMs之Continue Pretraining

Continue Pretraining 继续预训练,其实是一种“迁移学习”方法,它利用已有的通用预训练模型,再根据某一特定领域的数据进行继续训练。这个过程不仅让模型保留了原先的知识,还能让它学到一些领域特定的知识,从而提高其在该领域的表现。在预训练阶段注入知识,微调是在特定任务训练,使预训练模型的通用知识和特定任务的要求结合,让模型在特定任务上表现更好。指令微调的好处:更好理解人类意图,好对话+提高下游任务性能+低成本在别人基础上微调,更高效。推荐做法:预训练(一般指的是继续预训练) + 微调 相结合。

m0_46737848的博客 1430

Android GWP-Asan机制详解

基本用途:GWP-ASan是一种原生内存分配器功能,在内存分配时额外记录一些信息,用于检测DOUBLE_FREE、USE_AFTER_FREE、INVALID_FREE、BUFFER_OVERFLOW、BUFFER_UNDERFLOW五种内存错误问题。

专注于系统快稳省领域 4145

从BIOS到路由器:深入拆解SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)奥秘

本文深入解析SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)技术,从BIOS到路由器的应用场景出发,详细介绍了其架构精髓、典型连接方案、时序设计及性能优化方法。通过实际案例和参数对比,帮助开发者掌握NOR Flash在嵌入式系统中的关键作用与设计技巧,提升电路设计效率与可靠性。

weixin_30522183的博客 492

Don't stop pretraining,继续预训练!

作者|周俊贤整理|NewBeeNLP大家在用BERT等预训练模型的时候,是否有根据具体的下游任务,再进行领域的预训练?可能很多朋友是直接进行fine tuning的,毕...

Kaiyuan_sjtu的博客 1986

一次HTTP完整得请求过程

一次HTTP完整的请求过程 一,大致流程: 根据域名和DNS解析到服务器的IP地址(DNS+CDN) 通过ARP协议获得IP地址对应的物理机器得MAC地址 浏览器对服务器发起三次握手 建立TCP连接后发起HTTP请求报文 服务器响应HTTP请求,将响应报文返回浏览器 短连接情况下,请求结束通过TCP四次挥手关闭连接,长连接在没有访问服务器得若干时间后,进行连接关闭 浏览器得到响应信...

qq_40760617的博客 344

基于bert继续预训练

在目前的各项NLP任务中,如果要在特定任务或者领域应用文本分类,数据分布一定是有一些差距的。这时候可以考虑进行深度预训练。进行继续预训练,有利于提升任务的性能。

pythonwyq的博客 2988

别再浪费HDRI了!D5渲染器环境光设置避坑指南(附天空球调试参数)

本文深入解析D5渲染器中HDRI环境光的高阶调试技巧,揭示90%渲染师常犯的错误认知。通过参数联动黄金法则、特殊材质应对方案及动态场景优化策略,帮助用户精准控制光子能量分布,实现建筑玻璃反射云层过渡等专业级效果。附赠天空球调试参数和商业项目验证案例,助您彻底释放HDRI潜力。

weixin_29216049的博客 495

学习海康VisionMaster之BLOB分析

6):软阈值(相对):是一种动态阈值分割方法,其核心思想是 基于图像局部特性(如背景或参考区域)自适应调整阈值范围,适用于光照变化明显、背景灰度不均的场景。3:拖入位置修正功能:这个非常重要,模版匹配成功后会得到新的匹配坐标,那和创建模版时候的原点坐标会组合成一个坐标变换矩阵,通过这个矩阵,那后续的blob分析窗口则可以实现精确定位来查找目标对象。(2):设定参数:这里阈值方式是blob的核心算法,根据不同的应用场景来选择不同的阈值方式。8:高级参数:是设定blob区域的特征范围,用于筛选出来特定的区域。

yuhouxiyang的专栏 3620

大语言模型(LLM)如何更好地继续预训练(Continue PreTraining)

预训练(Pretraining)是一个非常消耗资源的工作,尤其在 LLM 时代。随着LLama2的开源,越来越多人都开始尝试在这个强大的英文基座模型上进行中文增强。但,我们如何才能保证模型在既学到「中文知识」的情况下,又不丢掉原有的「英文知识」呢?今天给大家带来一篇 Continue Pretraining 的论文(来自何枝大佬,知乎@何枝),Continual Pre-Training of Large Language Models: How to (re)warm your model?

python1234567_的博客 2449

dji psdk开发 关于SDK认证芯片的使用

Payload SDK V3.10.0 于 2025-1-8 发布,增加了 Matrice 4T/4E 机型支持,同时也增加了 DJI SDK 认证芯片(DJI SDK CC)功能支持。关于认证芯片的介绍大疆 SDK 认证芯片(DJI SDK Certified Chip),简称 DJI SDK CC,用于认证基于 DJI Eport/Eport-Lite 接口开发的第三方负载设备,确保设备能够正常工作并与无人机可以进行有效通信,起到负载安全认证和功能授权的作用。

热爱生活,忠于自己 2146

如何更好地继续预训练(Continue PreTraining)

来自:NLP工作站进NLP群—>加入NLP交流群写在前面预训练(Pretraining)是一个非常消耗资源的工作,尤其在 LLM 时代。随着LLama2的开源,越来越多人都开始尝试在这个强大的英文基座模型上进行中文增强。但,我们如何才能保证模型在既学到「中文知识」的情况下,又不丢掉原有的「英文知识」呢?今天给大家带来一篇 Continue Pretraining 的论文(来自何枝大佬,知乎@...

zenRRan的博客 4254

GD32F4xx 移植agile_modbus软件包与电能表通信

GD32F4XX 移植agile modbus软件包实现与DTSU电能表通信调试记录

madao1234的博客 1305

YOLOv8改进 | 融合篇,YOLOv8主干改进融合网络之MobileNetV3+CA注意机制,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。YOLOv8中的主干网络替换成MobileNetV3+引入CA注意机制

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1882

2024年,做大模型增量预训练(continue pretrain)的注意事项!!!

参看下图,当固定 continual pre-training 训练的总token数时,用各种不同的「英语」、「马来语」比例,以及不同学习率的搭配,训练结束时英语 (a) 和马来语 (b) 的validation loss。语言类的domain和long context的数据更难学习,前者是因为语言的gap导致初始loss偏高,但随着不断的训练,loss会稳定下降,但遗忘程度高,最优配比高,后者对资源的消耗更高,遗忘程度高,最优配比高。除非是预训练数据有大的更新,例如清洗的质量更高了,生成数据有大的突破。

2401_84494441的博客 3289

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Continue Pretraining和Fine Tuning的区别与联系

区别点本质扩展模型的知识或领域适应性调整模型的行为以适应任务数据驱动数据量极大,无监督数据量较小,有监督输出形式保持通用能力(如文本生成)绑定到具体任务(如分类/翻译)参数影响底层表示可能被修改高层表示更易被调整。

m0_49448331的博客 862

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大模型系列|垂直大模型的几种训练策略(一)

垂直行业大模型的几种训练策略

素质云笔记 1万+

【自然语言处理】【Pytorch】使用领域语料继续预训练BERT

import pandas as pd import os import random import numpy as np import torch import torch.nn as nn from tqdm import tqdm from transformers import AdamW, BertTokenizer, BertForMaskedLM from torch.utils.data import DataLoader, Dataset from typing import Tuple

bqw的博客 3319

【论文笔记】基于预训练模型的持续学习(Continual Learning)(增量学习,Incremental Learning)

持续学习(Continual Learning, CL)旨在使模型在学习新知识的同时能够保留原来的知识信息了,然而现实任务中,模型并不能很好地保留原始信息,这也就是常说的灾害性遗忘(Catastrophic forgetting)问题。传统的CL方法需要从头开始训练模型(从随机初始化参数开始训练),目前基于大规模数据训练得到的预训练模型为持续学习带来了新的研究思路,预训练模型鲁棒的泛化性给予新任务学习较为成熟的参数,也因此基于预训练模型的CL方法已逐渐成为研究热点。

qq_43456016的博客 9070

继续预训练CPT:让行业大模型真正懂行的关键路径

大型语言模型通过预训练获得通用能力,但面对专业领域时往往只会“流利的幻觉”。继续预训练(CPT)是在通用底座上使用行业语料进一步训练,将领域知识写入参数,与监督微调形成互补。其技术价值在于以可控成本为模型注入专有知识,缓解灾难性遗忘,并为后续SFT和偏好优化打下底座。在医疗、法律、工业等知识密集场景中,CPT能显著提升事实准确率与推理可靠性。本文从数据工程、训练配置、评估体系到工程化避坑,系统梳理企业落地CPT的完整方法。

weixin_29053577的博客 182

【预训练语言模型】ERNIE2.0: A Continual Pre-Training Framework for Language Understanding

ERNIE2.0主打知识增强的预训练语言模型,通过增加预训练任务并实验Continual Multi Task Learning让模型更加鲁棒。

夏栀的博客 2143

通用大模型不懂你?试试继续预训练,一步打造行业专属智能体

大语言模型在通用语料上的预训练,让它们拥有了非常强的语言理解和生成能力。但通用模型并不总是适配具体的行业场景。比如在医疗、金融、法律等专业领域,它们往往“知识不够”,导致回答不准确,甚至出错。相比从零训练一个行业模型,我们其实可以选择一个已有的模型,继续在特定语料上训练它,这就是“继续预训练(Continual Pretraining)”。

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 1489

大模型训练流程(一)预训练

入门大模型训练的第一步:预训练(从根上学透大模型)

qq_43243579的博客 5876

大模型入门(三)—— 大模型的训练方法

属于数据并行的范畴,但又很不一样,在ZeRO中会将模型参数、优化器参数、梯度等分片到不同的GPU上,ZeRO的方法可以配合张量并行或者流水线并行一起使用,但在配合TP或者PP时,通常只启用优化器参数的分片,其他的分片可能会带来不好的效果。每个tensor被分割成多块(根据场景按行或者列分割)存储在不同的GPU上,每个GPU单独计算,最后同步汇总到一块,类似于transformer中的多头,假如每个头的计算都在一张单独的gpu上,计算完后将所有gpu的结果concat到一起再分发到每张gpu上。

chaishen10000的专栏 1万+
上一篇: 细思极恐,为什么大多产品经理很水?
下一篇: 大模型瓶颈之——大模型长文本处理问题以及解决方案
AI_小站
博客等级 码龄3年 6255粉丝 1152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值