LLM学习记录

概述

语言模型经历过四个阶段的发展,依次从统计语言模型到神经网络语言模型(NLM),到出现以 BERT 和 Transformer 架构为代表的预训练语言模型(PLM),最终到大型语言模型阶段(LLM)。

NLM

使用神经网络(如循环神经网络RNN、长短时记忆网络LSTM等)来构建语言模型。这些模型通过学习输入文本序列,预测下一个单词或字符的概率分布

PLM阶段

大规模的未标注文本语料库上进行无监督预训练,学习通用的语言结构和表达。

LLM阶段

大型语言模型通常指的是具有极大量参数的预训练模型,如几千亿甚至上万亿参数。这些模型由于其庞大的规模,能够学习到更加丰富和精细的语言结构和知识

Transformer

谷歌在2017年的论文《Attention Is All You Need》1提到了 Transformer 模型框架。模型提到了“自注力”(self-attention)机制,

基本架构

如图是 Transformer 模型架构图,该架构分为左侧的编码器和右侧的解码器,编码器将新的输入字符序列映射成连续特征序列,解码层每次产生一个字符的输出序列,每次模型将自动递归,每产生下一个字符输出序列时,消耗之前产生的字符作为额外输入。

输入和输出

Inputs:新的字符输入通道,将位置编码向量与词嵌入相加,得到带有位置信息的输入向量:
X p o s = E p o s + P E p o s X_{pos}=E_{pos}+PE_{pos} Xpos=Epos+PEpos

E p o s E_{pos} Epos是第pos个词的词嵌入向量, P E p o s PE_{pos} PEpos是位置pos的位置编码向量。

Ouputs(shifted right):上一次的输出序列
Ouput Probabilities:输出序列

在这里插入图片描述

Encoder

包含6个识别层,每个识别层都有两个子层。
第一层时多头自注力机制层,第二层时一个简单的位置识别的全连接前馈神经网络。

Decoder

自注力机制

能够把单一序列的不同位置联系起来,从而能计算出这个序列的含义。

Scaled Dot-Product Attention

在这里插入图片描述 A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q,K,V)=softmax(\frac{QK^T}{\sqrt{d_{k}}})V Attention(Q,K,V)=softmax(dk QKT)V

Q,K,V 据论文描述是 Query、Key 和 Value 单词的缩写, K T K^T KT是K的转置。

Q = X W Q Q=XW_Q Q=XWQ
K = X W K K=XW_K K=XWK
V = X W V V=XW_V V=XWV

Q K T QK^T QKT可以理解为词向量的接近程度,详细可参考该文2的第4章节。
除以 d k \sqrt{d_{k}} dk 是为了把 Q K T QK^T QKT矩阵变成标准正态分布,使得softmax归一化之后的结果更加稳定,以便反向传播的时候获取平衡的梯度。

softmax的计算

Softmax 函数是一种将一个 K 维实数向量(或矩阵的最后一维)转化为一个归一化概率分布的函数。在机器学习和深度学习中,尤其是在多分类问题中,softmax 函数常常被用作输出层的激活函数,将模型预测的原始得分转换为概率值。
即对于一个K维向量 z = [ z 1 , z 2 , . . . , z K ] z=[z_1,z_2,...,z_K] z=[z1,z2,...,zK],则softmax的输出向量s为:
s j = e z j ∑ k = 1 K e z k s_j=\frac{e^{z_j}}{\sum_{k=1}^{K} e^{z_k}} sj=k=1Kezkezj

Multi-Head Attention

如图所示,V、K、Q经过Linear拆分后,得到heads个矩阵,每个结果都经过上述Scaled Dot-Product Attention计算,最后通过Concat拼接起来,最后再作Linear操作。

在这里插入图片描述
M u l t i H e a d ( Q , K , V ) = C o n c a t ( h e a d 1 , . . . , h e a d h ) W O MultiHead(Q,K,V)=Concat(head_1,...,head_h)W^O MultiHead(Q,K,V)=Concat(head1,...,headh)WO
其中 h e a d i = A t t e n t i o n ( Q W i Q , K W i K , V W i V ) head_i=Attention(Q{W_i}^Q,K{W_i}^K,V{W_i}^V) headi=Attention(QWiQ,KWiK,VWiV)

残差连接

如下图所示,将Multi-Head Attention的输入和输出连接,继而累加,即为残差连接。这样引入捷径的方式,使得信息能够更快的bypass地穿过深层网络,从而改善模型地训练效果和性能。
在这里插入图片描述

层归一化

在残差连接计算后,需要对结果归一化处理,从而改善模型中地梯度传播问题,进而提高模型地训练效率和性能。具体计算方式:
对于矩阵每一行x,计算器均值 μ \mu μ和方差 σ 2 \sigma^2 σ2
μ = 1 m ∑ i = 0 n − 1 x i \mu=\frac{1}{m}\sum_{i=0}^{n-1} x_i μ=m1i=0n1xi
σ 2 = 1 m ∑ i = 0 n − 1 ( x i − μ ) 2 \sigma^2=\frac{1}{m}\sum_{i=0}^{n-1} (x_i-\mu)^2 σ2=m1i=0n1(xiμ)2
归一化地处理如下,其中 ϵ \epsilon ϵ是一个较小地常数, γ \gamma γ β \beta β是标量参数,通过反向传播和梯度下降学习:
L a y e r N o r m ( x ) = γ x i − μ σ 2 + ϵ + β LayerNorm(x)=\gamma\frac{x_i-\mu}{\sqrt{\sigma^2+\epsilon}}+\beta LayerNorm(x)=γσ2+ϵ xiμ+β

前馈神经网络(FFN)

FFN是一个全连接的前馈神经网络结构,内部结构包括两个线性变换层,中间插入一个非线性激活函数。
在这里插入图片描述

第一层线性变换

将自注力机制的输出结果记为 X X X,通过一个线性映射将输入转换成新的向量表示:
H = W 1 X + b 1 H=W_{1}X+b_1 H=W1X+b1
并通过ReLU激活函数进行非线性处理:
H ′ = R e L U ( H ) H^{'}=ReLU(H) H=ReLU(H)

第二层线性变换

对ReLU激活后的向量 H ′ H^{'} H再次进行线性映射:
F F N ( X ) = W 2 H ′ + b 2 FFN(X)=W_{2}H^{'}+b_2 FFN(X)=W2H+b2

计算特征

输入位置编码向量与词嵌入相加

浮点数的加法操作

自注力矩阵的计算

Q K T QK^T QKT的矩阵乘计算, d k \sqrt{d_k} dk 的根号运算,以及两个结果相除计算
再将结果进行softmax函数计算,包括乘法、求和、除法运算。
s o f t m a x ( Q K T d k ) softmax(\frac{QK^T}{\sqrt{d_{k}}}) softmax(dk QKT)

multi-Head Attention的conact和linear操作

残差求和操作

层归一化

平均数求和和除法操作
求方差操作
归一化处理(求差、除法等)

FFN的两级线性乘加运算

参考文献


  1. Google:《Attention Is All You Need》 ↩︎

  2. 知乎:大模型背后的Transformer模型究竟是什么? ↩︎

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

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

相关文章

Linux 下常用命令

Ubuntu 清空回收站 sudo rm -rf ~/.local/share/Trash/*在图形界面点清空很慢,文件多了会无响应 寻找文件 定位文件 locate filename更新数据库 sudo updatedb Atom 实时预览 Markdown 快捷键 CtrlShiftM菜单栏 Packages -> Markdown Preview -> Toggle P…

四十六、 医药行业跨境传输的常见场景有哪些?

在医药行业中,不论是有意于海外市场发展的中资企业,还是深耕中国市场的跨国企业,均广泛地涉及不同场景下的跨境数据传输。这些数据传输广泛存在于从研发到上市、商业化以及跨境许可交易等场景下。 在医药研发过程中,国际多中心临床…

数学建模比赛介绍与写作建议

0 小序 本文的写作起因是导师要求我给打算参加相关竞赛的师弟们做一次讲座和汇报。我梳理了一个ppt提纲,并经过整理,因此有了这篇文章。 我打算从数学建模论文写作格式和写作技巧入手,接着介绍数学建模常用的数学模型,最后提出一…

Ruby 环境变量

Ruby 环境变量 概述 环境变量在编程中扮演着重要的角色,尤其是在Ruby这样的动态编程语言中。它们是操作系统用来存储有关其操作环境的信息的变量,可以在程序运行时影响其行为。Ruby程序可以通过环境变量来获取配置信息、系统细节或用户特定的设置。本文将深入探讨Ruby中环境…

【数据结构(邓俊辉)学习笔记】二叉搜索树04——AVL树

文章目录 1.重平衡1.1 AVL BBST1.2 平衡因子1.3 适度平衡1.4 接口1.5 失衡 复衡 2. 插入2.1 单旋2.2 双旋2.3 实现 3. 删除3.1 单旋3.2 双旋3.3 实现 4. (3 4)-重构4.1 "34"重构4.2 "34"实现4.3 rotateAt4.4 综合评价 1.重平衡 1…

【Python】利用代理IP爬取当当网数据做数据分析

前言 在数字化浪潮的推动下,电商平台已经彻底改变了我们的购物方式。从简单的在线交易到复杂的用户交互,电商平台积累了海量的用户数据。这些数据,如同隐藏在深海中的宝藏,等待着被发掘和利用。通过分析用户的浏览、搜索、购买等行…

NGINX、HAProxy、AWS ELB、Google Cloud Load Balancer负载均衡器之间的优缺点

负载均衡器是分布式系统中非常重要的组件,用于分发网络流量以确保系统的高可用性和高性能。NGINX、HAProxy、AWS ELB 和 Google Cloud Load Balancer 是常见的负载均衡解决方案,它们各有优缺点,适用于不同的应用场景。以下是对这些负载均衡器…

冥想第一千二百零五天

1.今天周六带着溪溪去游泳,她是一点也不憋气吸气。给我气坏了,回来后。游泳圈忘了带了然后又返回,自由泳练习后回家,练习期间又趴在池边练腿,让后就导致了,晚上后半夜,疼醒的切腹疼痛。可能是练…

(4.2)Sourcegraph(Chrome插件)——github实现源码阅读

一、下载 下载方式参考:如何安装 Chrome 插件?以 Show_Rank 为例 下载链接一:从Chrome应用商店直接搜索,https://chromewebstore.google.com/detail/sourcegraph/dgjhfomjieaadpoljlnidmbgkdffpack?utm_sourceext_app_menu 如…

可燃气体报警器检测周期:企业安全管理体系中的关键环节

可燃气体报警器作为现代工业安全监测的重要工具,对于预防火灾、爆炸等安全事故起着至关重要的作用。 而检测周期的设置,直接关系到报警器的准确性和可靠性。 接下来,佰德将深入探讨可燃气体报警器检测周期的重要性,并通过案例分…

mysql优化查询

sql语句的优化 避免使用通配符,特别是在where子句的开始部分避免在where子句中使用不必要的条件考虑将多个单个查询语句合并为一个复合查询语句,以减少数据库的访问次数使用explain语句分析查询语句的执行计划,找出潜在的性能瓶颈避免使用sel…

九、浏览器事件机制

上一篇👉: 浏览器同源策略 目录 浏览器事件机制1.事件概念及模型事件模型 2.事件冒泡3.事件委托(1)事件委托的概念(2)事件委托的特点(3)局限性(4)优化建议使用场景示例 …

嫦娥六号成功带回月球背面土壤,嫦娥七号整装待发,2030年前实现载人登月!

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 嫦娥六号圆满成功 嫦娥六号任务是中国探月工程的一次重大成功,探测器于5月3日在中国文昌航天发射场发射升空并进入地月转移轨道。经…

Mini-Contract电子合同在线签署小程序源码

Mini-Contract电子合同在线签署小程序源码,采用的是uniapp Vue3框架搭建,只有前端源码是一个聚合市场上各类电子合同解决方案商的工具,让用户无需一个个对接电子合同厂商,节省时间和精力。该程序提供了简洁的代码和最新的技术栈&a…

隐私计算实训营第二期第12基于隐语的VisionTransformer框架

01 MPCViT:安全且高效的MPC友好型 Vision Transformer架构 总体框架: 首先分析了ViT产生较大延时的原因,思考能否去除这些操作。 然后,对比不同的注意力机制,发现它们中有的具有很好的效率,有的则具有很…

gin会话控制

一. 会话控制 1.1 介绍 HTTP是无状态的协议,不会记录用户的任何信息,服务器也不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否是同一个客户端发出的。Cookie是解决HTTP协议无状态的方案之一Cookie实际就是服务器保存在浏览器上…

2010-2022年 政府透明度指数报告整理

政府透明度指数报告是衡量政府透明度的重要工具,它由独立的评估机构或研究机构发布,用以反映政府在不同方面的表现。以下是对政府透明度指数报告的详细介绍: 数据简介 定义:政府透明度指数报告衡量的是政府在信息公开、政策制定…

Linux——/etc/passwd文件含义,grep,cut

/etc/passwd文件含义 作用 - 记录用户账户信息:共分为7段,使用冒号分割 含义 - 文件内容意义:账户名:密码代号x:UID:GID:注释:家目录:SHELL - 第7列/sbin/nologin&#x…

无人机赋能自然资源调查

确权 业务挑战 由于测绘人员难以到达现场,确权区域大,传统人工测绘覆盖 不全面,信息不完整 传统测绘成果单一,现场核实难度高,确权采集信息不对称 无人机优势 数据采集效率是人工的10倍以上,可自动将…

分布式限流:Spring Cloud Gateway 限流

分布式限流:Spring Cloud Gateway 限流 在现代微服务架构中,流量控制是一个至关重要的部分。分布式限流作为一种有效的流量控制手段,能够帮助我们保护系统不被突发的流量冲垮。Spring Cloud Gateway支持多种限流方式。 什么是分布式限流 分…