CMU 10423 Generative AI:lec2

文章目录

  • 1 概述
  • 2 部分摘录
    • 2.1 噪声信道模型(Noisy Channel Models)
      • 主要内容:
      • 公式解释:
      • 应用举例:
    • 2.2 n-Gram模型
      • 1. 什么是n-Gram模型
      • 2. 早期的n-Gram模型
      • 3. Google n-Gram项目
      • 4. 模型规模与训练数据
      • 5. n-Gram模型的局限性
      • 总结
    • 2.3 当今前沿大模型的训练数据量和参数量
    • 2.4 计算图的概念
      • 1. 计算图(Computation Graph)简介
      • 2. 图中各部分的详细解释
      • 3. 计算图的要点
      • 总结:
    • 2.5 Deep BiLSTM 长什么样、LSTM系列变种问题
    • 2.6 为什么transformer中需要加入位置编码?
      • 解释:
        • 关键点:
    • 2.7 关于 GPT3 的模型结构和参数
  • 3 阅读材料(LSTM, transformer, 讲解博客)

1 概述

该文件主要介绍了Transformer语言模型的背景、架构以及与其他语言模型的对比。以下是主要内容的概述:

  1. 语言模型的历史:文件首先介绍了在2017年之前使用的噪声信道模型在语音识别和机器翻译中的应用。这些模型通过结合转导模型和语言模型来进行预测。
  2. 大规模语言模型的发展:讨论了早期的n-Gram语言模型,如Google n-Gram模型,这些模型基于网页文本进行训练,并覆盖多种语言。接着,文件还对比了近年来的一些大规模语言模型(LLMs),如GPT-2、GPT-3、PaLM等。
  3. 递归神经网络(RNNs)及其局限性:介绍了RNN语言模型的基本概念,并讨论了RNN在学习长距离依赖时的困难。
  4. 长短期记忆网络(LSTM):详细解释了LSTM如何通过其内部结构(如输入门、遗忘门、输出门等)克服RNN的梯度消失问题,并帮助记忆长时间步的信息。
  5. 双向LSTM(BLSTM):讲述了将LSTM与双向RNN结合形成的深度双向LSTM(DBLSTM)如何用于处理更复杂的任务。
  6. Transformer语言模型:文件详细介绍了Transformer模型的架构,包括多头注意力机制、前馈神经网络、层归一化、残差连接等。
  7. 模型实现细节:文件还包括了Transformer模型的实现细节,展示了矩阵版本的单头注意力机制等。

2 部分摘录

2.1 噪声信道模型(Noisy Channel Models)

在这里插入图片描述

主要内容:

  1. 噪声信道模型的背景
  • 在2017年之前,语言模型被广泛应用于两个主要任务:语音识别和机器翻译。

  • 在这些任务中,噪声信道模型是一种重要的工具。

  • 噪声信道模型的定义

    • 噪声信道模型结合了一个转导模型(transduction model)和一个语言模型(language model)。
    • 转导模型的作用是计算将输出y转化为输入x的概率,而语言模型则计算y的概率。
  • 噪声信道模型的目标

    • 该模型的目标是从输入x中恢复出最可能的输出y。
    • 对于语音识别,x是声学信号,y是相应的转录文本。
    • 对于机器翻译,x是源语言中的句子,y是目标语言中的句子。

公式解释:

公式表示的内容是从x推断出最可能的y值。这是通过找到使得( p(y | x) )最大化的y值来实现的。在噪声信道模型中,这一过程被分解为两个部分:首先是计算给定y生成x的概率( p(x | y) )(即转导模型),然后是计算y本身的概率( p(y) )(即语言模型)。最终的目标是找到使得这两个概率的乘积最大的y值。

应用举例:

  • 语音识别:模型的输入是声学信号(x),目标是找出最有可能的文本转录(y)。
  • 机器翻译:模型的输入是源语言的句子(x),目标是找出最有可能的目标语言翻译(y)。

这种方法为早期的语音识别和机器翻译任务奠定了基础,并在这些领域中得到了广泛应用。

2.2 n-Gram模型

在这里插入图片描述

“Large (n-Gram) Language Models” 部分主要介绍了早期的大规模n-Gram语言模型的发展与应用。以下是详细介绍:

1. 什么是n-Gram模型

n-Gram模型是一种通过统计方法预测下一个词出现概率的语言模型。它基于这样一个假设:一个词的出现概率只取决于前面n-1个词。例如,三元组模型(trigram)就是基于前两个词预测下一个词的出现概率。

2. 早期的n-Gram模型

早期的大型语言模型使用的是n-Gram模型,其中最具代表性的是Google的n-Gram模型。这些模型通过分析大量的文本数据来统计词序列的频率,并由此预测词的出现概率。

3. Google n-Gram项目

  • 第一次发布 (2006年): Google发布了首个英语n-Gram数据集,训练数据来自于1万亿个token(词或词的单位),涵盖了95亿个句子。该模型包含了1-gram(单词)、2-gram(双词组)、3-gram(三词组)、4-gram(四词组)和5-gram(五词组)。
  • 扩展至其他语言 (2009-2010年): 随后,Google将n-Gram模型扩展至其他语言,包括日语、中文、瑞典语、西班牙语、罗马尼亚语、葡萄牙语、波兰语、荷兰语、意大利语、法语、德语和捷克语。

4. 模型规模与训练数据

  • 模型规模: 英语n-Gram模型的参数量约为30亿个。与现代的大型语言模型相比,这样的规模已经非常庞大。
  • 训练数据的规模: 模型的训练数据包括了1万亿个token和95亿个句子,这样的大数据量为n-Gram模型的预测提供了强大的支持。

5. n-Gram模型的局限性

尽管n-Gram模型在其时代取得了重要的成功,但其也存在一定的局限性:

  • 上下文限制: n-Gram模型只能考虑有限个(n-1)前缀词,这使得它无法捕捉长距离的依赖关系。
  • 数据稀疏性: 随着n的增大,模型的参数量迅速增加,导致模型容易遇到数据稀疏问题,因为许多n-gram可能在训练数据中很少甚至从未出现过。

总结

n-Gram语言模型是早期自然语言处理中的重要工具,它通过统计词序列的出现频率来预测文本。然而,随着计算能力的提高和更复杂模型的出现,如基于深度学习的Transformer模型,n-Gram模型的应用逐渐减少,但它为语言模型的发展奠定了基础。

2.3 当今前沿大模型的训练数据量和参数量

模型名称开发者发布年份训练数据(# Tokens)模型规模(# 参数量)
GPT-2OpenAI2019~10 billion (40GB)1.5 billion
GPT-3 (ChatGPT)OpenAI2020300 billion175 billion(1750亿)
PaLMGoogle2022780 billion540 billion
ChinchillaDeepMind20221.4 trillion70 billion
LaMDA (Bard)Google20221.56 trillion137 billion
LLaMAMeta20231.4 trillion65 billion
LLaMA-2Meta20232 trillion(2万亿)70 billion
GPT-4OpenAI2023??

2.4 计算图的概念

在这里插入图片描述

这张图片展示了如何绘制神经网络的计算图(Computation Graph)以及计算图的一些基本原则和元素。下面详细解释每个部分的含义:

1. 计算图(Computation Graph)简介

计算图是用来表示算法的图形化工具。在计算图中:

  • 节点(Nodes):表示算法中的中间变量。节点在图中通常用矩形表示。
  • 边(Edges):表示变量之间的依赖关系,边是有方向的,指向依赖项。
  • 无标签的边:在计算图中,边通常不需要标签,因为边的方向已经表明了依赖关系。

2. 图中各部分的详细解释

  • (A) Input: 这一部分表示输入层。每个输入变量 (x_i) 被表示为节点。图中也指出,每个输入参数 (\alpha_{ij}) 也需要在图中表示出来。
  • (B) Hidden (linear): 这一层表示神经网络中的隐藏层的线性部分。计算公式为 (a_j = \sum_{i=0}^{M} \alpha_{ji} x_i),这表示每个隐藏层的节点 (a_j) 是输入 (x_i) 的线性组合。
  • © Hidden (sigmoid): 隐藏层的非线性部分,使用sigmoid函数。公式为 (z_j = \frac{1}{1 + \exp(-a_j)})。这一步是将线性组合后的结果通过激活函数(如sigmoid)转换。
  • (D) Output (linear): 输出层的线性部分,计算公式为 (b = \sum_{j=0}^{D} \beta_j z_j),即对隐藏层的输出再做一次线性组合。
  • (E) Output (sigmoid): 最终输出结果通过sigmoid函数转换,公式为 (y = \frac{1}{1 + \exp(-b)})。
  • (F) Loss: 损失函数 (J = \frac{1}{2} (y - y*)2) 用于衡量模型输出 (y) 与真实值 (y^*) 之间的误差。

3. 计算图的要点

  • 拦截项作为节点:在神经网络中,每个拦截项(bias)都应被表示为一个节点,除非它已被整合进其他部分。
  • 每个参数都应在图中表示:这确保了计算图的完整性和清晰性。
  • 常数、标签等应在图中表示:例如,真实标签 ( y^* ) 应在图中作为节点出现。
  • 可以包含损失节点:将损失函数作为图的一部分是完全可以的。

总结:

通过计算图,能够直观地理解数据如何在网络中流动,以及如何通过每一层的计算得到最终的输出。这种图示法对于理解复杂的神经网络模型非常有帮助,尤其是在进行反向传播和梯度计算时。

2.5 Deep BiLSTM 长什么样、LSTM系列变种问题

相比BiLSTM大概就是多个跳跃连接,感觉有点类似残差,防止梯度消失。

在这里插入图片描述

LSTM系列变种问题:

  • 他们仍然在处理长距离依赖方面存在困难
  • 他们的计算本质上是串行的,因此无法轻松地在GPU上并行化
  • 尽管他们(大多数情况下)解决了梯度消失问题,但仍可能会遭遇梯度爆炸的困扰。

2.6 为什么transformer中需要加入位置编码?

一句话总结:注意力机制无法捕捉到词序信息,而词序蕴含的信息很重大,因此需要通过额外的位置编码将位置信息融入到词嵌入编码中。

在这里插入图片描述

位置嵌入(Position Embeddings)

  • 问题:由于注意力机制是位置不变的,因此我们需要一种方法来学习关于位置的信息。
  • 解决方案:使用(或学习)一组特定于位置的嵌入:( p_t ) 表示在位置 ( t ) 处的含义。将其与词嵌入 ( w_t ) 相加。关键思想是,每个出现在位置 ( t ) 的词都使用相同的位置嵌入 ( p_t )。
  • 位置嵌入有多种形式:
    • 一些是固定的(基于正弦和余弦),而另一些是学习到的(类似于词嵌入)。
    • 一些是绝对的(如上所述),但我们也可以使用相对位置嵌入(即相对于查询向量的位置)。

注释

  • ( P_1 \neq P_3 )(位置1的嵌入不等于位置3的嵌入)。
  • ( W_1 = W_3 )(词“cat”的嵌入在两个位置上是相同的)。

解释:

这张图和文本介绍了在Transformer模型中使用的位置嵌入(Position Embeddings)。在Transformer架构中,注意力机制本身是位置不变的,这意味着它不会直接考虑词语在句子中的顺序。然而,句子中的词语顺序在理解语义时是非常重要的。因此,引入了位置嵌入来弥补这一点。

关键点:
  1. 位置嵌入的必要性
  • 由于注意力机制不考虑词语的顺序,因此引入位置嵌入来为每个词语添加位置信息,以便模型能够区分同一个词在不同位置上的不同含义。

  • 如何实现

    • 每个位置 ( t ) 都有一个对应的位置嵌入 ( p_t ),它表示该位置的特定含义。该位置嵌入与词嵌入 ( w_t ) 相加,形成包含位置信息的输入向量。这样,模型就可以在处理时保留位置信息。
  • 位置嵌入的种类

    • 固定位置嵌入:这些位置嵌入通常基于正弦和余弦函数生成,不随训练过程变化。
    • 学习位置嵌入:类似于词嵌入,通过训练过程动态学习和调整。
    • 绝对位置嵌入:表示词语的具体位置(如第一个词、第二个词)。
    • 相对位置嵌入:表示一个词相对于另一个词的位置关系。
  • 示例解释

    • 在图中,词语“Cat”和“saw”在不同的位置上分别有其位置嵌入 ( p_1, p_2 ),并与词嵌入 ( w_1, w_2 ) 相加,以便模型知道“Cat”和“saw”分别出现在句子的什么位置。
    • 在例子中,尽管“Cat”在两个不同的位置上出现(位置1和位置3),它的词嵌入 ( W_1 ) 和 ( W_3 ) 是相同的,但其位置嵌入 ( P_1 ) 和 ( P_3 ) 不同,从而帮助模型区分它们在句子中的不同角色。

通过位置嵌入,Transformer模型能够更好地理解词语的顺序和语境,从而提升对序列数据的处理能力。

2.7 关于 GPT3 的模型结构和参数

GPT的全称:Generative Pre-trained Transformer,即生成式预训练变换模型。

核心思想:GPT本质上是一个基于Transformer架构的语言模型(LM),其特别之处在于拥有大量的参数。

属性/版本解释GPT (2018)GPT-2 (2019)GPT-3 (2020)
层数Transformer的层数(# layers)。表示模型的深度,层数越多,模型能捕捉到的特征越复杂。124896
状态维度每层Transformer的输出向量维度(dimension of states)。更高的维度允许模型捕捉更丰富的信息。768160012288
内部状态维度前馈神经网络(FFN)的中间层维度(dimension of inner states)。通常是状态维度的4倍,用于增强非线性能力。30724*12288
注意力头数量多头自注意力机制中的头的数量(# attention heads)。更多的注意力头可以捕捉更多的序列特征。1296
参数数量模型中的总参数数量(# params)。包括所有可训练的权重和偏置,参数数量越大,模型的表达能力越强。117M1542M175000M

3 阅读材料(LSTM, transformer, 讲解博客)

  • The Long Short-Term Memory and Other GatedRNNs. Ian Goodfellow, Yoshua Bengio, & Aaron Courville (2016). Deep Learning, Chapter 10.10-10.12.
  • Attention Is All You Need. Vaswani et al. (2017). NeurIPS.
  • The Illustrated Transformer. Alammar (2018).

第一个就是花书中的LSTM及其变种部分。

第二个就是鼎鼎大名的XXX is all you need原论文。

第三个是广泛被国内转载并引用原图的某位国外作者撰写的讲解Transformer论文的博文。(有十几个语种的翻译版。。。)

原版地址:https://jalammar.github.io/illustrated-transformer/

中文版1:https://blog.csdn.net/yujianmin1990/article/details/85221271

中文版2:https://blog.csdn.net/qq_36667170/article/details/124359818

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

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

相关文章

AI科学家:自动化科研的未来之路

随着人工智能(AI)技术的不断进步,AI已经在众多领域中展现了强大的潜力,尤其是在科研方面的应用正在引起广泛关注。最近,Sakana AI与牛津大学和不列颠哥伦比亚大学联合推出了一款被称为“AI科学家”的自动化科研工具&am…

Stable Diffusion抠图插件爬坑经历,StableDiffusion实操案例(附整合资料)

今天给大家分享使用后期处理插件stable-diffusion-webui-rembg实现抠图功能。 👉AI绘画必备工具👈 温馨提示:篇幅有限,已打包文件夹,获取方式在:文末 👉AI绘画基础速成进阶使用教程&#x1f…

聚铭网络入选“2024年南京市工程研究中心”认定名单

为深入实施创新驱动发展战略,因地制宜发展新质生产力充分发挥工程研究中心对推进产业强市的重要支撑作用,根据《南京市工程研究中心管理办法》,南京市发展和改革委员会于2024年5月组织开展了本年度南京市工程研究中心遴选工作。经企业申报、各…

[iBOT] Image BERT Pre-Training with Online Tokenizer

1、目的 探索visual tokenizer编码下的MIM(Masked Image Modeling) 2、方法 iBOT(image BERT pre-training with Online Tokenizer) 1)knowledge distillation(KD) distill knowledge from the…

Linux下快速判断当前终端使用的是bash or csh

在Linux下设置环境变量的时候,可能你也遇到过export: Command not found一类的错误。这是因为当前终端使用的不是bash,如何快速判断当前终端使用的是哪种类型的shell呢? echo $0判断shell类型 最简单的方法就是在终端输入echo $0&#xff0…

Linux---文件(2)---文件描述符缓冲区(语言级)

目录 文件描述符 基础知识 文件描述符 对“Linux一切皆文件”的理解 文件描述符分配规则 缓冲区 刷新策略 存放位置 解释一个"奇怪的现象" 格式化输入输出 文件描述符 基础知识 在系统层面上,文件操作都是通过文件描述符来操作的。 程序在启…

leetcode回文链表

leetcode 回文链表 题目 题解 两种方式进行题解 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, Li…

JavaWeb JavaScript 9.正则表达式

生命的价值在于你能够镇静而又激动的欣赏这过程的美丽与悲壮 —— 24.8.31 一、正则表达式简介 正则表达式是描述字符模式的对象。正则表达式用简单的API对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。 1.语法 var pattnew RegExp(pattern,modi…

DataWorks数据质量监控方案

背景 日常的调度监控,可以查看实例任务的运行情况,对运行失败的实例进行告警,但是却无法对运行成功的实例进行数据质量的判断。而有些情况下,即使实例任务运行成功了,数据也仍然存在问题,这时候就需要对数…

uniapp / uniapp x UI 组件库推荐大全

在 uniapp 开发中,我们大多数都会使用到第三方UI 组件库,提起 uniapp 的UI组件库,我们最常使用的应该就是uview了吧,但是随着日益增长的需求,uview 在某些情况下已经不在满足于我们的一些开发需求,尽管它目…

第66期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

DOCKER(国内镜像源,安装相关微服务组件,py以及jar包的docker打包(上传私有云以及输出本地文件))

前言 之前单独在旧的帖子下面更新的时候,码字码了1000多字的时候电脑蓝了,重启什么东西都没有,我红了。平台上面的自动保存是针对新文章的。 这周因为隔壁有项目要验收了,我的好大哥就把我派过去配合赶进度了,还体验了…

java fastxml json 科学计数法转换处理

背景: 由于 canal 切换为 tx dbbridge后,发现dbbridge对于canal的兼容性存在较大问题,从而引发 该文档的实践。 就目前发现 dbbrige 的字段 大小写 和 数据类型格式 从binlog 写入kafka 同canal 都会存在差异。 canal之前导出都是小写&…

【ArcGIS/GeoScenePro】Portal和Server关系

简介 以下是ArcGIS的整体架构图 上图简化后 从图中我们可以看出可以将其分为三层其中: 最上层:应用层 中间层(门户):连接应用层和服务器,对server上发布的服务进行管理、分享和权限分配 最低层:服务器(Server层) 其中Enterprise = portal(中间层)+server(最底…

Tomato靶场渗透测试

1.扫描靶机地址 可以使用nmap进行扫描 由于我这已经知道靶机地址 这里就不扫描了 2.打开网站 3.进行目录扫描 dirb http://172.16.1.113 发现有一个antibot_image目录 4.访问这个目录 可以看到有一个info.php 5.查看页面源代码 可以发现可以进行get传参 6.…

3. GIS后端工程师岗位职责、技术要求和常见面试题

本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

表连接查询之两个left join与递归SQL

一、如下SQL1 SELECT i.*,su1.name as createName,su2.name as updateNameFROM information ileft join sys_user su1 on su1.idi.create_idleft join sys_user su2 on su2.idi.update_id 二、分析 1、SELECT i.*,su.name as createName,sua.name as updateName FROM informati…

深度学习特征提取魔改版太强了!发文香饽饽!

要说CV领域经久不衰的研究热点,特征提取可以占一席,毕竟SLAM、三维重建等重要应用的底层都离不开它。 再加上近几年深度学习兴起,用深度学习做特征提取逐渐成了主流,比传统算法无论是性能、准确性还是效率都更胜一筹。 目前比较…

汽车制造商设备运维案例

汽车产线有很多传动设备需要长期在线运行,会出现老化、疲劳、磨损等问题,为了避免意外停机造成损失,需要加装一些健康监测设备,监测设备运行状态。天津三石峰科技采用无线温振传感器汇聚网关方案,将现场设备数据数据上…

linux~~目录结构远程登录教程(xshell+xftp)

目录 1.目录结构 2.远程登录xshell 2.1所需工具 2.2了解虚拟机IP 2.3查看是否正常连接 2.4xshell进行连接 3.文件传输xftp7 3.1xftp6安装 3.2相关设置 3.3效果展示 3.4文件之间的传输过程 1.目录结构 bin目录里面主要存放这个我们经常使用的指令,例如这个…