当前位置: 首页 > news >正文

深度学习系列60: 大模型文本理解和生成概述

参考网络课程:https://www.bilibili.com/video/BV1UG411p7zv/?p=98&spm_id_from=pageDriver&vd_source=3eeaf9c562508b013fa950114d4b0990

1. 概述

包含理解和分类两大类问题,对应的就是BERT和GPT两大类模型;而交叉领域则对应T5
在这里插入图片描述

2. 信息检索(IR)

在这里插入图片描述

2.1 传统方法:BM25

传统IR方法BM25基于tf-idf,介绍如下在这里插入图片描述
根据单词去匹配有两类问题:有时候同一个词有很多意思;有时候同一个意思使用完全不同的词表达的;这样就会产生precision和recall两方面的问题。

2.2 大模型方法

大模型IR的逻辑如下:将查询q和文档库D都输入神经网络,得到q的向量和D中所有d的向量,然后查询和q相似度最高的d。
在这里插入图片描述
大模型IR方法有两种:cross-encoder和dual-encoder。
在这里插入图片描述
一般会分两步:先使用右边的de进行粗筛,然后使用左边的ce进行精排。
在这里插入图片描述

在这里插入图片描述

3. 知识问答

3.1 理解类QA

在这里插入图片描述
举个例子,我们英语考试的阅读理解:
在这里插入图片描述
传统模型如下:
在这里插入图片描述
一个具体的实现方法如下:

有了大模型之后,整体的架构变得极为简单:
在这里插入图片描述
下面是一个基于BERT的例子,把问题和reference输入bert,然后把cls的embedding拿出来,接上一个分类层即可。
在这里插入图片描述

还有一种更简单的prompt learning的方式:
在这里插入图片描述

3.2 开放类QA

在这里插入图片描述
包括两类:
1) 生成式问答
在这里插入图片描述
在这里插入图片描述

2)检索式问答
在这里插入图片描述
在这里插入图片描述
第一步的检索工作,可以使用大模型来训练:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 微调代码

下面是使用openDelta进行微调知识问答的例子:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 文本生成

在这里插入图片描述

4.1 语言建模LM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
大模型中的seq2seq代表是BART和T5,使用下面的方法,学习到了很强的填空能力
在这里插入图片描述

GPT是自回归的模型,结构上是把transformer的decoder单独拿出来。GPT学习到的是预测下一个词的能力
在这里插入图片描述
而BERT则是非回归的模型,结构上可以理解为transformer的encoder。没有时序关系,因此可以做上下文理解任务。
在这里插入图片描述

4.2 解码过程

LM的结果是词表的概率分布,我们需要解码成人类可读的语言
从最简单的greedy decoding开始:
在这里插入图片描述
这种myopic的方法,效果只能说是一般。
第二种是beam search的方法:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
第三种是不追求概率最大,而是以一定概率去随机解码
在这里插入图片描述
temperature是softmax之前处以的一个数,这个数字越大的话,采样就越平均,也就是随机性增加了(多样性增加了,但是可能不相关)。
在这里插入图片描述

4.3 可控文本生成

有3类方法
在这里插入图片描述

4.3.1 prompt方法

可以在输入文本前面加prompt
在这里插入图片描述
也可以在模型前加prefix(也就是prefix-tuning的做法)
在这里插入图片描述

4.3.2 修改概率分布

使用正样本和负样本生成器来知道原模型:
在这里插入图片描述

4.3.3 直接修改模型结构

如下图,有两个encoder,其中一个用来编码guidance,并且会先解码,其结果再和source文本编码的结果一起进行解码
在这里插入图片描述

4.4 测评

BLUE指的是生成的文本的n-gram有多少与token的text是相似的,其中BP是对短句的惩罚,然后N一般取4,也就是计算1-gram到4-gram的相似度平均值。
PPL指的是生成目标概率的负相关系数。
ROUTE是一个基于recall-oriented来进行计算的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

深度学习系列60: 大模型文本理解和生成概述

参考网络课程:https://www.bilibili.com/video/BV1UG411p7zv/?p98&spm_id_frompageDriver&vd_source3eeaf9c562508b013fa950114d4b0990 1. 概述 包含理解和分类两大类问题,对应的就是BERT和GPT两大类模型;而交叉领域则对应T5 2.…...

SpringBoot 使用 JWT 保护 Rest Api 接口

用 spring-boot 开发 RESTful API 非常的方便,在生产环境中,对发布的 API 增加授权保护是非常必要的。现在我们来看如何利用 JWT 技术为 API 增加授权保护,保证只有获得授权的用户才能够访问 API。 一、Jwt 介绍 JSON Web Token (JWT)是一个开…...

大蟒蛇(Python)笔记(总结,摘要,概括)——第10章 文件和异常

目录 10.1 读取文件 10.1.1 读取文件的全部内容 10.1.2 相对文件路径和绝对文件路径 10.1.3 访问文件中的各行 10.1.4 使用文件的内容 10.1.5 包含100万位的大型文件 10.1.6 圆周率中包含你的生日吗 10.2 写入文件 10.2.1 写入一行 10.2.2 写入多行 10.3 异常 10.3.1 处理Ze…...

使用JDBC操作数据库(IDEA编译器)

目录 JDBC的本质 ​ JDBC好处 JDBC操作MySQL数据库 1.创建工程导入驱动jar包 2.编写测试代码 ​相关问题 JDBC的本质 官方(sun公司) 定义的一套操作所有关系型数据库的规则,即接口各个数据库厂商去实现这套接口,提供数据库驱动jar包我们可以使用这…...

Vue图片浏览组件v-viewer,支持旋转、缩放、翻转等操作

Vue图片浏览组件v-viewer,支持旋转、缩放、翻转等操作 之前用过viewer.js,算是市场上用过最全面的图片预览。v-viewer,是基于viewer.js的一个图片浏览的Vue组件,支持旋转、缩放、翻转等操作。 基本使用 安装:npm安装…...

大蟒蛇(Python)笔记(总结,摘要,概括)——第2章 变量和简单的数据类型

目录 2.1 运行hello_world.py时发生的情况 2.2 变量 2.2.1 变量的命名和使用 2.2.2 如何在使用变量时避免命名错误 2.2.3 变量是标签 2.3 字符串 2.3.1 使用方法修改字符串的大小写 2.3.2 在字符串中使用变量 2.3.3 使用制表符或换行符来添加空白 2.3.4 删除空白 2.3.5 删除…...

SpringCloud-Gateway网关的使用

本文介绍如何再 SpringCloud 项目中引入 Gateway 网关并完成网关服务的调用。Gateway 网关是一个在微服务架构中起到入口和路由控制的关键组件。它负责处理客户端请求,进行路由决策,并将请求转发到相应的微服务。Gateway 网关还可以实现负载均衡、安全认…...

想要学习编程,有什么推荐的书籍吗

如果你要变得更好,C语言是一个极佳的选择,其原因有二。首先,C语言缺乏任何现代的安全功能,这意味着你必须更为警惕,时刻了解真正发生的事情。如果你能写出安全、健壮的C代码,那你就能用任何编程语言写出安全…...

LWM(LargeWorldModel)大世界模型-可文字可图片可视频-多模态LargeWorld-视频问答成功运行-实现循环问答多次问答

Large World Model(LWM)现在大火,其最主要特点是不仅能够针对文本进行检索交互,还能对图片、视频进行问答交互,自从上文《LWM(LargeWorldModel)大世界模型-可文字可图片可视频-多模态LargeWorld-详细安装记录》发出后&…...

线阵相机之帧超时

1 帧超时的效果 在帧超时时间内相机若未采集完一张图像所需的行数,则相机会直接完成这张图像的采集,并自动将缺失行数补黑出图,机制有以下几种选择: 1. 丢弃整张补黑的图像 2. 保留补黑部分出图 3.丢弃补黑部分出图...

模型转换案例学习:等效替换不支持算子

文章介绍 Qualcomm Neural Processing SDK (以下简称SNPE)支持Caffe、ONNX、PyTorch和TensorFlow等不同ML框架的算子。对于某些特定的不支持的算子,我们介绍一种算子等效替换的方法来完成模型转换。本案例来源于https://github.com/quic/qidk…...

js 数组排序的方式

var numberList [5, 100, 94, 71, 49, 36, 2, 4]; 冒泡排序: 相邻的数据进行两两比较,小数放在前面,大数放在后面,这样一趟下来,最小的数就被排在了第一位,第二趟也是如此,如此类推&#xff0…...

手机连接电脑后资源管理器无法识别(识别设备但无法访问文件)

问题描述 小米8刷了pixel experience系统,今天用电脑连接后无法访问手机文件,但是手机选择了usb传输模式为文件传输 解决办法 在设备和打印机页面中右键选择属性 点击改变设置 卸载驱动,注意勾选删除设备的驱动程序软件 卸载后重新连接手机,电脑弹出希望对设备进行什么操作时…...

安装unget包 sqlsugar时报错,完整的报错解决

前置 .net6的开发环境 问题 ? 打开unget官网,搜索报错的依赖Oracle.ManagedDataAccess.Core unget官网 通过unget搜索Oracle.ManagedDataAccess.Core查看该依赖的依赖 发现应该是需要的依赖Oracle.ManagedDataAccess.Core(>3.21.100)不支持.net6的环境 解…...

oracle数据库事务的四大特性与隔离级别与游标

数据库事务的四大特性: 这里提到了 ACID 四个特性,分别是: A(Atomicity): 原子性,确保事务中的所有操作要么全部执行成功,要么全部不执行,不存在部分执行的情况。 C(…...

Day25--learning English

一、积累 1.crab 2.scrape 3.crude 4.infect 5.blinds 6.plunk 7.fart 8.expel 9.stamp 10.tongs 11.utensil 12.sticky 13.yolk 14.snap 15.fuzz 16.chuck 17.hamper 18.panel 19.prod 20.eyebrow 二、练习 1.牛津原译 scrape /skreɪp/ REMOVE 除去 1.to remove sth from…...

职业技能鉴定服务中心前端静态页面(官网+证书查询)

有个朋友想做职业技能培训,会发证书,证书可以在自己网站可查。想做一个这样的网站,而且要特别土,一眼看上去像xxx官方网站,像jsp .net技术开发的网站。用htmlcssjquery还原了这样子一个前端页面,这里分享给…...

第六十六天 API安全-接口安全阿里云KEY%postmanDVWSXEE鉴权泄露

第66天 API安全-接口安全&阿里云KEY%postman&DVWS&XEE&鉴权&泄露 知识点 1.HTTP类接口-测评 2.RPC类接口-测评 3.Web Service类-测评 参考链接:https://www.jianshu.com/p/e48db27d7c70 内容点: SOAP(Simple Object Access Prot…...

在Vue3 + Vite项目中使用less

在Vue3 Vite项目中使用less,需要安装less和less-loader两个依赖。 首先,在项目根目录下执行以下命令安装less和less-loader: npm install less less-loader --save-dev安装完成后,在vite.config.js配置文件中添加以下代码&…...

this的指向问题总结

this一般会出现在函数里面,但是一般情况下只有在函数被调用执行时,才能确定this指向哪个对象。一般情况下this是指调用函数的对象。 1.在全局作用域下或者普通函数中this的指向一般都是window对象 window.fn(),普通函…...

jQuery的应用(二)

对上一节内容的补充。 jQuery选择器 jQuery选择器类似于CSS选择器,用来选取网页中的元素 jQuery选择器功能强大,种类也很多,分类如下 通过CSS选择器选取元素: 基本选择器层次选择器属性选择器通过过滤选择器选择元素: 基本过滤选择器可见性过滤选择器表单对象过滤选择器…...

芋道源码(yudao)跳转新页面的几种方式

芋道源码(yudao)跳转新页面的几种方式 导入useRouter const { push, replace, resolve } useRouter() 当前页面跳转 const goToPage (url: string) > {url push(/hot163) }当前页面跳转 const goToPage (url: string) > {url resolve(/h…...

Open AI — Sora 如何发挥其魔力 — 近距离观察该技术

OpenAI 的大模型 Sora 可以制作一整分钟的高质量视频。他们的工作成果表明,使视频生成模型更大是为现实世界创建多功能模拟器的好方法。Sora 是一种灵活的可视化数据模型。它可以创建不同长度、形状和大小的视频和图片,甚至可以创建长达一分钟的高清视频。我阅读了 OpenAI 的…...

密码解密 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 给定一段 “密文”字符串 s ,其中字符都是经过 “密码本” 映射的,现需要将“密文”解密并且输出。 映射的规则: ( a−i ) 分…...

【深度学习】Pytorch教程(八):PyTorch数据结构:2、张量的数学运算(6):高维张量:乘法、卷积(conv2d~四维张量;conv3d~五维张量)

文章目录 一、前言二、实验环境三、PyTorch数据结构1、Tensor(张量)1. 维度(Dimensions)2. 数据类型(Data Types)3. GPU加速(GPU Acceleration) 2、张量的数学运算1. 向量运算2. 矩阵…...

Autosar-Mcal配置详解-GPT

3.3.1添加GPT模块 方法与添加Dio相似,可参加Dio模块添加方法。 3.3.2 创建、配置GPT通道 1)根据需求创建GPT通道(即创建几个定时器) 本例中创建了3个定时器通道:1ms,100us,OsTimer。 2)配置GPT通道 配置T…...

前端面试问题(jwt/布局/vue数组下标/扁平化/菜单树形/url api/新版本)

前端面试问题(jwt/布局/vue数组下标/扁平化/菜单树形/url api/新版本) 1. jwt鉴权逻辑 前端 JWT 鉴权逻辑通常涉及在发起请求时携带 JWT,并在接收到响应后处理可能的授权问题。 1. 用户登录: 用户提供凭证: 用户在登录界面输入用户名和密码…...

Learn HTML in 1 hour

website address https://www.youtube.com/watch?vHD13eq_Pmp8 excerpt All right, what’s going on? everybody. It’s your Bro, hope you’re doing well, and in this video I’m going to help you started with html; so sit back, relax and enjoy the show. If y…...

HashMap的put方法执行过程

根据Key通过哈希算法与与运算得出数组下标如果数组下标位置元素为空,则将key和value封装为Entry对象(JDK1.7中是Entry对象,JDK1.8中 是Node对象)并放⼊该位置如果数组下标位置元素不为空,则要分情况讨论 a. 如果是JDK1…...

一、直方图相关学习

目录 1、灰度直方图1.1 基本概念和作用1.2 代码示例 2、BGR直方图2.1 基本概念和作用2.2 代码示例 3、灰度直方图均衡1. 基本概念和作用2. 代码示例 4、直方图变换(查找)4.1 基本概念和作用4.2 代码示例 5、直方图匹配5.1 基本概念和作用5.2 代码示例 6、…...