浅谈大语言模型原理

news2025/7/20 3:19:52

1.反向传播算法

  1. 背景
    在这里插入图片描述
    反向传播算法是当前深度学习的核心技术。

  2. 神经网络

    在这里插入图片描述

  • x是输入,o是输出,w是需要训练的参数(w有初始值)
  • 三层全连接的神经网络:输入层、隐藏层、输出层
  1. 激活函数

    f ( x ) = 1 1 + x − 1 f(x)=\frac{1}{1+x^{-1}} f(x)=1+x11 (sigmod函数)

    激活函数必须是非线性的

  2. 前向传播

    z 1 = x 1 ∗ w 1 + x 2 ∗ w 3 + b 1 z_1=x_1*w_1+x_2*w_3+b_1 z1=x1w1+x2w3+b1

    f ( z 1 ) = 1 1 + z 1 − 1 f(z_1)=\frac{1}{1+z_1^{-1}} f(z1)=1+z111

    i 1 = f ( z 1 ) ∗ w 5 + f ( z 2 ) ∗ w 7 + b 2 i_1=f(z_1)*w_5+f(z_2)*w_7+b_2 i1=f(z1)w5+f(z2)w7+b2

    o 1 = f ( i 1 ) = 1 1 + i 1 − 1 o_1=f(i_1)=\frac{1}{1+i_1^{-1}} o1=f(i1)=1+i111

    注:b为常数

  3. 损失函数

    E = 1 / 2 ∗ ( o 1 − t a r g e t 1 ) 2 + 1 / 2 ∗ ( o 2 − t a r g e t 2 ) 2 E=1/2*(o_1-target_1)^2+1/2*(o_2-target_2)^2 E=1/2(o1target1)2+1/2(o2target2)2

  4. 梯度计算

    链式求导法则: ∂ ( E ) ∂ ( w 5 ) = ∂ ( E ) ∂ ( o 1 ) ∗ ∂ ( o 1 ) ∂ ( i 1 ) ∗ ∂ ( i 1 ) ∂ ( w 5 ) \frac{\partial(E)}{\partial(w_5)} = \frac{\partial(E)}{\partial(o_1)}*\frac{\partial(o_1)}{\partial(i_1)}* \frac{\partial(i_1)}{\partial(w_5)} (w5)(E)=(o1)(E)(i1)(o1)(w5)(i1)

    ∂ ( E ) ∂ ( o 1 ) = − ( o 1 − t a r g e t 1 ) \frac{\partial(E)}{\partial(o_1)}= -(o_1-target_1) (o1)(E)=(o1target1)

    ∂ ( o 1 ) ∂ ( i 1 ) = f ( z 1 ) ∗ ( 1 − f ( z 1 ) ) \frac{\partial(o_1)}{\partial(i_1)}=f(z_1)*(1-f(z_1)) (i1)(o1)=f(z1)(1f(z1))

    ∂ ( i 1 ) ∂ ( w 5 ) = f ( z 1 ) \frac{\partial(i_1)}{\partial(w_5)}=f(z_1) (w5)(i1)=f(z1)

  5. 反向传播

    沿着梯度相反的方向更新参数:

    w 5 + = w 5 − η ∗ ∂ ( E ) ∂ ( w 5 ) w_5^+=w_5-\eta * \frac{\partial(E)}{\partial(w_5)} w5+=w5η(w5)(E)

    学习率 η \eta η不可太大也不可太小,太大会导致震荡,太小会导致收敛速度慢,太大错过最优点。

  6. 反复迭代上述过程,直至E值达到全局最小(大)值。
    在这里插入图片描述

  7. 常见的神经网络层

    • 全连接层
    • 卷积层
    • 池化层
    • 循环层
    • dropout层
    • 归一化

每个模型的参数量,层数,神经元连接方式,激活函数,损失函数,参数更新方式都可能不同。

  1. 大模型

    • 通过训练模型来学习从输入到输出的映射关系。

    • 这种映射关系通常由一组权重和偏置参数来定义,这些参数是通过优化损失函数来获得的。

    • 通过调整这些参数,模型可以逐渐改进其预测和生成结果的能力。

    • 大模型和传统神经网络最本质区别是什么?

      规模效应带来的涌现能力是最本质区别。传统模型依赖专门设计的架构解决特定任务,大模型通过海量参数和数据习得通用能力,并能迁移到未见过的任务。

2.训练深度神经网络

深度神经网络由多层神经元组成,每层神经元都可以学习到输入数据的不同特征。

图像识别,语音识别、自然语言处理、自动驾驶、推荐系统、游戏等都广泛应用。

  1. 算法+算力+数据

    深度学习能成功的三大马车。

    • 合适的的数据:
      • 数据标注、数据清洗、数据增强、数据裁剪
    • 合适的网络:
      • 参数量大小,网络层数
      • 参数初始化:随机、平均、归一化
      • 激活函数、损失函数、学习率、优化器
      • 参数与GPU显存使用直接相关
    • 合适的神经元连接方式:
      • 卷积神经网络
        在这里插入图片描述

      • 循环神经网络
        在这里插入图片描述

    • 合适的训练方式:
      • 预训练、迁移学习、微调,生成对抗;

      • 深度学习四大范式 :深度监督、无监督、半监督、强化学习;

        • https://developer.baidu.com/article/details/3034262
      • 强化学习:

        • 智能体与环境的不断交互(即在给定状态采取动作),进而获得奖励,此时环境从一个状态转移到下一个状态。
        • 智能体通过不断优化自身动作策略,以期待最大化其长期回报或收益(奖励之和)。

        在这里插入图片描述

  2. 常见的问题:

    • 过拟合是指模型过于拟合训练数据,而欠拟合是指模型拟合不足
    • 梯度消失是指在反向传播过程中,梯度值随着层的深度而减小,导致深层神经元的梯度值接近于零
    • 梯度爆炸是指在反向传播过程中,梯度值随着层的深度而增大,导致深层神经元的梯度值变得非常大
  3. 常见的深度学习框架

    • TensorFlow:谷歌
    • PyTorch:Facebook
    • MXNet:亚马逊
    • Caffe:伯克利大学
    • Horovod:优化分布式训练的框架

    这些框架提供了丰富的API和工具用于构建、训练、验证、评价模型。

3.大语言模型构建

  1. NLP模型发展:统计模型(马尔可夫假设)-> 神经网络(循环神经网络) -> 预训练语言模型 -> 大语言模型(超大参数量,千、万亿级别)

  2. 大语言模型:在海量无标注文本数据上预训练的得到的大型预训练语言模型 —>强大的语言理解能力和复杂任务求解能力。

    • 扩展法则:小算力去预估大算力后性能,早期性能去预估后期性能。–>减少试验成本
    • 涌现能力:模型扩展到一定规模时,模型的特定的任务性能突然出现显著跃升的趋势(无法解释!)。
      • 上下文学习
      • 指令遵循:听人的话执行任务
      • 逐步推理:思维连–>引入中间推理步骤做数学应用题
  3. 相关资源:

    • 模型检查点
    • 公共API:可以采用自己的数据来微调,以便更好地适用于个性化应用场景
    • 数据集
      • 预训练数据集:网页、书籍、代码数据集
      • 指令微调数据集
      • 人类对齐数据集

3.1大规模预训练

编码世界,知识注入(几T数据,清洗、词元化–>算力消耗)

3.1.1数据准备

  1. 数据:文本、百科、代码
  2. 数据预处理:质量过滤,敏感内容过滤,去重
  3. 词元化:将原始文本分割成模型可识别和建模的词元序列,用于模型输入。把文本拆转成更小的单元,再转成数字。
  4. 数据调度:各种数据的混合比例和用与训练的顺序

3.1.2模型架构

当前的大语言模型都是基于Tansformer模型设计的。

  1. Transformer:由多层的多头自注意力模块堆叠而成的神经网络模型。

    • 循环神经网络的劣势

      • 输出取决于先前的隐藏状态和当前的输入,要等上一个步骤完成后,才能进行当前的计算。
      • RNN不擅长处理长序列,因为难以捕捉到长距离依赖性的语义关系。
    • transformoer架构

      • 编解码器,Transformer通常包括一个编码器用于处理输入序列和一个解码器用于生成输出序列,这使其适用于序列到序列的任务,如机器翻译。
      • 输入编码:转化成具有位置信息的词向量,因为 Transformer 不采用 RNN 的结构,而是使用全局信息,不能利用单词的顺序信息,而这部分信息对于 NLP 来说非常重要。所以Transformer 中使用位置 Embedding 保存单词在序列中的相对或绝对位置。
      • 多个编码器串联,多个解码器串联
        在这里插入图片描述
    • tansformer实现
      在这里插入图片描述

      • 前馈网络层:引入非线性映射变换,提升模型表达能力,更好捕获复杂交互关系。
      • ADD & Nomral层:解决网络训练中的一些问题。
      • softmax层:输出预测词的概率
      • 自注意力机制:自注意力机制允许模型根据输入序列中的不同部分来赋予不同的注意权重,从而更好地捕捉语义关系。
        • Self-Attention 接收的是输入(单词的表示向量x组成的矩阵X) 或者上一个 Encoder block 的输出。而Q,K,V是输入和矩阵的乘积。

        • $Q_1 = W_Q * X_1; K_1 = W_KX_1; V_1 = W_KX_1 $ (可并行计算 GPU,TPU)

        • Z 1 = A ( Q , K , V ) Z_1 = A(Q,K,V) Z1=A(Q,K,V) (需要拿输入句子中的每个单词对本单词打分,帮助模型对本单词更好地进行编码)

        • 卷积神经网络代替循环神经网络:卷积层多次层叠后,可以获取更大的上下文信息。

      • 多头自注意力机制:多个Self-Attention并列,对输入X 生成多个Z,多个Z拼接再乘一个权重矩阵,得到输出。
        核心创新,建模任意词元的交互关系,进而有效捕获长程依赖关系,具有更强的序列建模能力。
        每个单元关注不同的地方。
      • Decoder block 的第一个 Multi-Head Attention 采用了 Masked 操作。
        因为在翻译的过程中是顺序翻译的,即翻译完第 i 个单词,才可 以翻译第 i+1 个单词。
        通过 Masked 操作可以防止第 i 个单词知道 i+1 个单词之后的信息。
      • outputs 是之前预测的输出结果。(根据之前的输出求解此次的输出)
  2. 大模型:使用了更长的向量维度,更深的层数,更多参数的解码器架构。

    • 大语言模型是Transformer架构的规模化扩展,通过量变引发质变,获得了更强大的语言理解和生成能
    • GPT1为例,它有1.17亿个参数,到了GPT2,参数有15亿个参数。而GPT3参数有1750亿个参数,96层和96个头数,GPT4有1.8万亿参数。
    • 编解码器可以单独使用
      • BERT为编码器架构
      • GPT为解码器架构

3.1.3 模型预训练方法

  1. 语言建模:预测下一个单词的能力
  2. 参数优化设置:
    • 大批次, 逐渐增大批次大小(尽快收敛->稳定收敛)
    • 学习率从一个非常小的值现行增加到一个较大阈值,再逐步衰减
    • 优化器:梯度修正
    • 其他:模型存档,dropout等
  3. 其他训练技术(3D并行)
    • 数据并行:将模型参数和优化器分到多个GPU,在每个GPU上获取梯度,使用梯度平均值更新所有GPU上的参数。
    • 流水线并行:不同层的参数分配到不同GPU,累积前向传播多个批次后,再更新参数。
    • 张量并行:矩阵运算 I W = [ I W 1 , I W 2 ] IW=[IW1,IW2] IW=[IW1,IW2],将矩阵W分解成W1,W2两个矩阵,将W1,W2放置到两个GPU上,并行执行两个矩阵运算,通过GPU通信,合并结果。

3.2指令微调

  • 有监督训练,使用任务输入与输出的配对数据(模仿学习,激发作用)–>通过问答进行任务求解。
  • 让模型听懂人的指令。
  • 数据集仅预训练过程万分之一的大小。
  1. 指令数据集
    • 输入:数据(language)+任务描述(翻译成中文);输出:语言
      • NLP数据集:从公开NLP数据集中构建(人工标注任务描述)
      • 日常对话数据集:从用户给模型的指令(对话)中,构建数据集
      • 合成数据集:半自动化构建:提示模型,让模型帮忙生成数据集,再过滤
    • 引入思维链数据:算数推理等
  2. 指令微调的作用
    • 小训练模型能力大提升
    • 解决未见过的任务:如补全英文句子->补全日文句子
    • 面向特定领域指令微调
  3. 指令微调训练
    • 较小的学习率和批次小幅度调整
    • 数据组织:
      • 样本比例混合(NLP、日常对话、合成数据集三个数据集混合)
      • 多阶段:三个数据集先后训练
      • 指令微调阶段引入预训练数据->模型更加稳定

3.3人类对齐

  • 对齐标注难以通过形式化的目标来优化,引入人类反馈指导。
  • 基于人类反馈的强化学习,训练符合人类价值观的模型,防止产生冒犯偏见和事实错误文本。
  1. 标准
    • 有用性:简洁高效完成任务,了解用户真实意图
    • 诚实性:客观,准确,适当表达不确定性避免误导
    • 无害性:消除冒犯性和歧视性,查询敏感主图时,应拒绝
  2. 步骤
    1. 奖励模型训练
      • 使用模型生成多个候选输出,人为标注排序
      • 训练模型来预测这个排序,有效的拟合人类偏好
    2. 强化学习训练
      • 强化学习算法:策略梯度,PPO

3.4 评测

  1. 建模能力:反映模型对语言的基本理解和建模能力(可根据前文预测后文的能力)。困惑度
  2. 分类任务和问答:真正例,真负例,假正例,假负例。精确率,召回率,F1分数。
  3. 文本生成:衡量文本生成的质量,连贯性逻辑性等。BLEU(生成文本和参考范文之间的相似度)
  4. 执行任务能力:成功率(比如代码生成后能通过编译的成功率)
  • 每一种能力的测评,都有相关的公开数据集。

3.5 提示学习

经过预训练、指令微调和人类对齐后,提示学习方法可有效地使用大语言模型解决实际任务。

  1. 人工提示
    任务描述:清晰具体
    输入数据:明确的数字
    上下文信息:提供参考文档
    提示策略:如“让我们一步步思考”
  2. 自动提示:将提示词作为可训练参数
  3. 上下文学习:将示例样本格式化的输入到大模型

3.5 AI agent

在这里插入图片描述

参考文献

  • 词元化:https://zhuanlan.zhihu.com/p/17845281626
  • 反向传播算法:https://blog.csdn.net/ft_sunshine/article/details/90221691
  • 大模型概述:https://llmbook-zh.github.io/
  • transformer:
    • https://zhuanlan.zhihu.com/p/163909808
    • https://blog.csdn.net/weixin_42475060/article/details/121101749
    • https://blog.csdn.net/weixin_42475060/article/details/121101749
    • https://blog.51cto.com/u_16213711/13024654
    • https://blog.csdn.net/weixin_42475060/article/details/121101749

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

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

相关文章

Clickhouse 迁移到 Doris 的最佳实践

一、引言 在将数据从 Clickhouse 迁移到 Apache Doris / SelectDB Cloud 的过程中,涉及表结构迁移、查询语句迁移以及数据迁移等多个关键环节。每个环节都有其复杂性和需要注意的细节,本文将详细介绍这些内容及对应的最佳实践方法。 二、表结构迁移 &…

WebSocket的原理及QT示例

一.WebSocket 介绍 1.概述 WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议,它在 2011 年被 IETF 定为标准 RFC 6455,并由 RFC7936 补充规范。与传统的 HTTP 协议不同,WebSocket 允许服务器和客户端之间进行实时、双向的数据传输&a…

vue3:十二、图形看板- echart图表-柱状图、饼图

一、效果 如图展示增加了饼图和柱状图,并且优化了浏览器窗口大小更改,图表随着改变 二、 饼图 1、新建组件文件 新增组件EchartsExaminePie.vue,用于存储审核饼图的图表 2、写入组件信息 (1)视图层 写入一个div,写入变量chart和图表宽高 <template><div ref…

2025年best好用的3dsmax插件和脚本

copitor 可以从一个3dsmax场景里将物体直接复制到另一个场景中 Move to surface 这个插件可以将一些物体放到一个平面上 instancer 实体器&#xff0c;举例&#xff1a;场景中有若干独立的光源&#xff0c;不是实体对象&#xff0c;我们可以使用instancer将他变成实体。 paste …

HAProxy + Keepalived + Nginx 高可用负载均衡系统

1. 项目背景 在现代Web应用中&#xff0c;高可用性和负载均衡是两个至关重要的需求。本项目旨在通过HAProxy实现流量分发&#xff0c;通过Keepalived实现高可用性&#xff0c;通过Nginx提供后端服务。该架构能够确保在单点故障的情况下&#xff0c;系统仍然能够正常运行&#…

5.12 note

Leetcode 图 邻接矩阵的dfs遍历 class Solution { private: vector<vector<int>> paths; vector<int> path; void dfs(vector<vector<int>>& graph, int node) { // 到n - 1结点了保存 if (node graph.size() - 1)…

跨时钟域(CDC,clock domain crossing)信号处理

参考视频&#xff1a; 数字IC&#xff0c;FPGA秋招【单bit信号的CDC跨时钟域处理手撕代码合集】_哔哩哔哩_bilibili 一、亚稳态 原因是&#xff1a;建立时间和保持时间没有保持住。然后在下图的红框里面&#xff0c;产生亚稳态。因为电路反馈机制&#xff0c;最后大概率会恢复…

OBS studio 减少音频中的杂音(噪音)

1. 在混音器中关闭除 麦克风 之外的所有的音频输入设备 2.在滤镜中增加“噪声抑制”和“噪声门限”

智能手表 MCU 任务调度图

智能手表 MCU 任务调度图 处理器平台&#xff1a;ARM Cortex-M33 系统架构&#xff1a;事件驱动 多任务 RTOS RTOS&#xff1a;FreeRTOS&#xff08;或同类实时内核&#xff09; 一、任务调度概览 任务名称优先级周期性功能描述App_MainTask中否主循环调度器&#xff0c;系统…

S7-1500——零基础入门2、PLC的硬件架构

PLC的硬件架构 一,西门子PLC概述二,CPU介绍三,数字量模块介绍四,模拟量模块介绍五,其他模块介绍一,西门子PLC概述 本节主要内容 西门子PLC硬件架构,主要内容包括PLC概述、组成、功能及S7-1500 demo的组成与安装演示。 介绍了PLC的定义、功能、应用场合,以及与继电器控…

【PmHub后端篇】Skywalking:性能监控与分布式追踪的利器

在微服务架构日益普及的当下&#xff0c;对系统的性能监控和分布式追踪显得尤为重要。本文将详细介绍在 PmHub 项目中&#xff0c;如何使用 Skywalking 实现对系统的性能监控和分布式追踪&#xff0c;以及在这过程中的一些关键技术点和实践经验。 1 分布式链路追踪概述 在微服…

利用“Flower”实现联邦机器学习的实战指南

一个很尴尬的现状就是我们用于训练 AI 模型的数据快要用完了。所以我们在大量的使用合成数据&#xff01; 据估计&#xff0c;目前公开可用的高质量训练标记大约有 40 万亿到 90 万亿个&#xff0c;其中流行的 FineWeb 数据集包含 15 万亿个标记&#xff0c;仅限于英语。 作为…

【RabbitMQ】应用问题、仲裁队列(Raft算法)和HAProxy负载均衡

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【中间件】企业级中间件剖析 一、幂等性保障 什么是幂等性&#xff1f; 幂等性是指对一个系统进行重复调用&#xff08;相同参数&#xff09;&#xff0c;无论同一操作执行多少次&#xff0c;这些请求…

软件设计师-错题笔记-系统开发与运行

1. 解析&#xff1a; A&#xff1a;模块是结构图的基本成分之一&#xff0c;用矩形表示 B&#xff1a;调用表示模块之间的调用关系&#xff0c;通过箭头等符号在结构图中体现 C&#xff1a;数据用于表示模块之间的传递的信息&#xff0c;在结构图中会涉及数据的流向等表示 …

C#简易Modbus从站仿真器

C#使用NModbus库&#xff0c;编写从站仿真器&#xff0c;支持Modbus TCP访问&#xff0c;支持多个从站地址和动态启用/停用从站&#xff08;模拟离线&#xff09;&#xff0c;支持数据变化&#xff0c;可以很方便实现&#xff0c;最终效果如图所示。 项目采用.net framework 4.…

【深度学习】目标检测算法大全

目录 一、R-CNN 1、R-CNN概述 2、R-CNN 模型总体流程 3、核心模块详解 &#xff08;1&#xff09;候选框生成&#xff08;Selective Search&#xff09; &#xff08;2&#xff09;深度特征提取与微调 2.1 特征提取 2.2 网络微调&#xff08;Fine-tuning&#xff09; …

视觉-语言-动作模型:概念、进展、应用与挑战(下)

25年5月来自 Cornell 大学、香港科大和希腊 U Peloponnese 的论文“Vision-Language-Action Models: Concepts, Progress, Applications and Challenges”。 视觉-语言-动作 (VLA) 模型标志着人工智能的变革性进步&#xff0c;旨在将感知、自然语言理解和具体动作统一在一个计…

一键解锁嵌入式UI开发——LVGL的“万能配方”

面对碎片化的嵌入式硬件生态&#xff0c;LVGL堪称开发者手中的万能配方。它通过统一API接口屏蔽底层差异&#xff0c;配合丰富的预置控件&#xff08;如按钮、图表、滑动条&#xff09;与动态渲染引擎&#xff0c;让工程师无需深入图形学原理&#xff0c;效率提升肉眼可见。 L…

智慧城市综合运营管理系统Axure原型

这款Axure原型的设计理念紧紧围绕城市管理者的需求展开。它旨在打破传统城市管理中信息孤岛的局面&#xff0c;通过统一标准接入各类业务系统&#xff0c;实现城市运营管理信息资源的全面整合与共享。以城市管理者为中心&#xff0c;为其提供一个直观、便捷、高效的协同服务平台…

Qwen智能体qwen_agent与Assistant功能初探

Qwen智能体qwen_agent与Assistant功能初探 一、Qwen智能体框架概述 Qwen&#xff08;通义千问&#xff09;智能体框架是阿里云推出的新一代AI智能体开发平台&#xff0c;其核心模块qwen_agent.agent提供了一套完整的智能体构建解决方案。该框架通过模块化设计&#xff0c;将L…