首页 > 其他分享 >第6章 模型训练

第6章 模型训练

时间:2024-11-30 12:29:28浏览次数:9  
标签:存储 函数 训练 模型 6.2 6.1

6.1 目标函数

本节介绍了三种主要的语言模型及其目标函数:

6.1.1 Decoder-only 模型(例如 GPT-3)

  • 条件概率:自回归语言模型定义条件分布 p(xi∣x1:i−1)p(x_i | x_{1:i-1})。
  • 目标:通过最大化似然函数 p(xi∣x1:i−1)p(x_i | x_{1:i-1}),训练模型生成上下文嵌入。
  • 训练目标:最大似然估计(MLE),通过负对数似然函数优化模型参数。

6.1.2 Encoder-only 模型(例如 BERT)

  • 双向上下文嵌入:与 Decoder-only 模型不同,Encoder-only 模型提供双向上下文嵌入,适用于理解任务而非生成任务。
  • BERT的目标函数
    1. 掩码语言模型(Masked Language Modeling):通过对输入序列中部分 token 掩码并预测其原始值来训练模型。
    2. 下一句预测(Next Sentence Prediction):训练模型判断两个句子是否是连续的。

6.1.3 Encoder-decoder 模型(例如 T5, BART)

  • BART(Bidirectional Auto-Regressive Transformers):结合了 BERT 的双向编码和 GPT 的自回归解码,适用于生成任务。
  • T5(Text-to-Text Transfer Transformer):将所有 NLP 任务统一为文本到文本的转换任务,不仅支持分类任务,还能处理生成任务。

6.2 优化算法

优化算法是训练大语言模型的关键。以下是几种常用的优化方法:

6.2.1 随机梯度下降(SGD)

  • 步骤:每次通过小批量样本计算梯度,更新参数。
  • 关键问题:需要平衡收敛速度、数值稳定性和内存效率。

6.2.2 Adam(Adaptive Moment Estimation)

  • 创新:结合了动量和自适应学习率,能加速收敛。
  • 步骤
    1. 计算一阶和二阶动量。
    2. 通过自适应学习率更新模型参数。
  • 存储占用:增加了存储需求(需要存储动量和梯度)。

6.2.3 AdaFactor

  • 目标:减少存储占用。通过只存储矩阵的行和列的和,避免了存储完整的梯度矩阵。
  • 适用模型:用于训练大规模模型,如 T5。

6.2.4 混合精度训练

  • 方法:使用低精度(FP16)进行计算,使用高精度(FP32)存储模型权重。
  • 优势:减少内存使用,提高训练效率。

6.2.5 学习率调整

  • 策略:通常随着训练过程的进行,学习率逐渐衰减。可以通过预热(warmup)来增加训练的稳定性。

6.2.6 初始化方法

  • 标准初始化:如 Xavier 初始化,以避免梯度消失或爆炸。
  • 模型例子:GPT-2 和 GPT-3 使用残差层的额外缩放来进行初始化。

主要总结

  • 目标函数:根据模型类型不同,选择适合的目标函数(如最大似然、掩码语言建模、下一句预测)。
  • 优化算法:使用如 SGD、Adam、AdaFactor 等优化算法,并结合混合精度训练、学习率调整等技术,提升训练效率与稳定性。

标签:存储,函数,训练,模型,6.2,6.1
From: https://blog.csdn.net/weixin_46378554/article/details/144081137

相关文章

  • 代码随想录算法训练营第三十二天|leetcode509. 斐波那契数、leetcode70. 爬楼梯、leet
    1动态规划五部曲文章链接:代码随想录视频链接:从此再也不怕动态规划了,动态规划解题方法论大曝光!|理论基础|力扣刷题总结|动态规划入门_哔哩哔哩_bilibili确定dp数组(dptable)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组2leetcode509.斐......
  • 自然语言处理:第六十九章 大模型推理框架神器 - VLLM部署篇
    本人项目地址大全:Victor94-king/NLP__ManVictor:CSDNofManVictor官方文档:WelcometovLLM!—vLLM项目地址:vllm-project/vllm:Ahigh-throughputandmemory-efficientinferenceandservingengineforLLMs写在前面:笔者更新不易,希望走过路过点个关注和赞,......
  • 简单讲讲 mobile aloha 代码---训练阶段的encoder
    简单讲讲mobilealoha代码---训练阶段的encoder图片来源于mobilealoha论文; 训练和推理的核心的代码是这两个文件:detr/models/detr_vae.pydetr/models/transformer.py参见论文(https://arxiv.org/pdf/2304.13705)的第6页"C.ImplementingACT"和第14页"C.Detailed......
  • 大模型应用开发基础 : 再探提示词工程
    大家好,我是Edison。所谓提示词工程,就是研究怎么写AI易懂的提示词。为了引导大模型给出更好的答案,提示词工程必不可少,本篇我们再探提示词,看看几个必须知道的技巧。(少)样本提示对于一些较为通用的任务,我们不需要给大模型过多的提示信息,就可以完成一个任务。这种提示词通常也叫作“......
  • 解释下css3的flexbox(弹性盒布局模型),以及它应用场景有哪些?
    CSS3的Flexbox,即弹性盒布局模型,是一种用于页面布局的强大工具。它提供了一种更有效的方式来排列、对齐和分配容器内项目的空间,即使它们的大小是未知的或动态的。Flexbox解决了传统布局方法(如浮动和定位)在处理复杂布局时的许多限制。核心概念:Flexbox布局由两个主要组成部分......
  • T5模型口语化解析
    引言        在自然语言处理(NLP)领域,T5(Text-to-TextTransferTransformer)代表了一种革命性的方法。它不仅继承了Transformer架构的强大能力,而且通过将所有任务转化为文本到文本的形式,简化了任务之间的迁移学习过程。这种统一的方法使得T5能够在翻译、问答、摘要生成......
  • 【随笔】AI大模型对软件开发的影响
    随着AI技术的不断发展,AI大模型正在重塑软件开发流程,从代码自动生成到智能测试,未来,AI大模型将会对软件开发者、企业,以及整个产业链都产生深远的影响。欢迎探讨AI是如何重塑软件开发的各个环节以及带来的新的流程和模式变化,并展望未来的发展趋势~流程与模式在AI产于的软......
  • 实战评测Qwen2.5-Coder:开源代码大模型的性价比之选?
    引言在人工智能快速发展的今天,代码生成大模型作为重要的开发工具,正在深刻改变着软件开发的方式。阿里云通义千问团队最新发布的Qwen2.5-Coder系列模型,不仅标志着开源代码大模型的重大突破,更展现了中国AI技术在全球舞台上的实力。之前正好研究了一下通义千问的代码模式,单网......
  • Java的内存模型是如何工作的?深入浅出解读堆、栈、方法区和程序计数器的作用
    Java的内存模型是如何工作的?深入浅出解读堆、栈、方法区和程序计数器的作用Java的内存模型是如何工作的?深入浅出解读堆、栈、方法区和程序计数器的作用摘要引言Java内存模型的组成部分JVM内存结构1.堆(Heap)堆的作用:堆内存的细节:新生代与老年代垃圾回收的影响代码示例:......
  • 大模型落地应用
    大模型(如大型语言模型、深度学习模型等)在各个领域的落地应用已经成为当前技术发展的热点。这些模型通常具备强大的数据处理和分析能力,能够在多个行业中提供智能化的解决方案。以下是一些大模型落地应用的具体场景和案例,涵盖金融、医疗、制造、教育等多个领域。前排提示,文末......