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

news2025/1/19 11:15:50

参考网络课程: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来进行计算的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

【深度学习:视频注释】如何为机器学习自动执行视频注释

【深度学习:视频注释】如何为机器学习自动执行视频注释 #1:多目标跟踪 (MOT) 以确保帧与帧之间的连续性#2:使用插值来填补空白#3: 使用微模型加速人工智能辅助视频注释#4: 自动目标分割提高目标分割质量 自动视频标记通…

Sora将创造多少算力需求?

1.1 Sora 训练与推理算力需求初步测算 Sora发布表现亮眼,TransformerDiffusion架构或成为文生视频大模型新范式。据Sora技术报告,类似于LLM将不同文本数据统一为token,Sora可将不同类型的视频和图像等视觉数据统一为patches,具体…

<script> 标签中的type

typetext/javascript typeapplication/javascript 前者是比较早的版本&#xff0c;已经废弃&#xff0c;但是浏览器大都还支持 后者是最新的规范&#xff0c;但是会有兼容性问题&#xff0c;不兼容ie6-10 typeapplication/json 比较特殊&#xff0c;不常用 简单示例 <!DOCTY…

设计模式学习笔记 - 面向对象 - 7.为什么要多用组合少用继承?如何决定该用组合还是继承?

前言 在面向对象编程中&#xff0c;有一条非常经典的设计原则&#xff1a;组合优于继承&#xff0c;多用组合少用继承。 为什么不推荐使用继承&#xff1f; 组合比继承有哪些优势&#xff1f; 如何判断该用组合还是继承&#xff1f; 为什么不推荐使用继承&#xff1f; 继承…

如何在本地电脑部署HadSky论坛并发布至公网可远程访问【内网穿透】

文章目录 前言1. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3 Cpolar稳定隧道&#xff08;本地设置&#xff09;2.4 公网访问测试 总结 前言 经过多年的基础…

uvloop,一个强大的 Python 异步IO编程库!

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站零基础入门的AI学习网站~。 目录 ​编辑 前言 什么是uvloop库&#xff1f; 安装uvloop库 使用uvloop库 uvloop库的功能特性 1. 更…

redis的缓存穿透,缓存并发,缓存雪崩,缓存问题及解决方案

缓存穿透 问题原因 解决方案 缓存并发 缓存雪崩 缓存失效时间设置一致导致的。 解决方案&#xff1a; 1&#xff09;方案一 2&#xff09;方案二 如何设计一个缓存策略&#xff0c;缓存热点数据&#xff1f;

自动化部署证书 acme.sh 使用教程

简介 acme.sh 是一个开源的 ACME 协议的客户端工具&#xff0c;用于自动化申请、更新和部署 SSL/TLS 证书。通过使用 acme.sh&#xff0c;用户可以轻松地在服务器上设置 HTTPS 加密连接&#xff0c;而无需手动操作。它支持多种 DNS 接口和证书颁发机构&#xff0c;可以与各种 …

多进程完成文件拷贝:2024/2/20(已修改)

作业1&#xff1a;使用多进程完成两个文件的拷贝&#xff0c;父进程拷贝前一半&#xff0c;子进程拷贝后一半&#xff0c;父进程回收子进程的资源 代码&#xff1a; #include<myhead.h>//定义获取文件长度的函数 int get_file_len(const char *srcfile, const char *de…

静态时序分析:SDC约束命令set_drive详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html 目录 指定电阻值 指定端口列表 简单使用 指定上升、下降沿 指定最大最小、条件 写在最后 本章将讨论使用set_drive命令&#xff0c;它用于对输入端口的驱动能力建模。首先需要说明的…

【计算机网络】深度学习使用应用层的HTTP协议

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【计算机网络】深度学习使用应用层的HTTP协议 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 文章目录 一:HTTP是什么二:HTTP请求1.HTTP请求的组成2.HTTP请求的方法…

freeswitch 权威指南 --- 高级篇

官网文档&#xff1a;https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/ 关于 freeswitch 的公开教程&#xff1a;https://zhuanlan.zhihu.com/p/451981734 内容来自 《FreeSWITCH 权威指南》&#xff1a;目录&#xff1a;https://juejin.cn/post/702058079…

C++ 游戏飞机大战, 字符型的

//#define _CRT_SECURE_NO_WARNINGS 1 用于禁止不安全函数的警告 #include<iostream> #include<stdlib.h> #include<string> #include<conio.h> #include<Windows.h> #include<time.h> #include <graphics.h> using namespace std;…

STL - 图

1、图的基本概念 图是由顶点集合及顶点间的关系组成的一种数据结构&#xff1a;G (V&#xff0c; E)&#xff0c;其中&#xff1a; 顶点集合 V {x|x属于某个数据对象集}是有穷非空集合&#xff1b; 边的集合 E {(x,y)|x,y属于V}或者E {<x&#xff0c;y>|x,y属于V …

1_怎么看原理图之GPIO和门电路笔记

一、GPIO类 如下图&#xff1a;芯片输出高电平/3.3V&#xff0c;LED亮&#xff1b;当芯片输出低电平&#xff0c;则LED暗 如下图&#xff1a;输入引脚&#xff0c;当开关闭合&#xff0c;则输入为低电平/0V&#xff0c;当开关打开&#xff0c;则输入为高电平/3.3V 现在的引脚都…

前端本地化部署

前言 现在成熟的前端团队里面都有自己的内部构建平台&#xff0c;我司云长便是我们 CI/CD 的提效利器。我先来简单介绍下我司的云长&#xff0c;此云长非彼云长&#xff0c;云长主要做的是&#xff1a;获取部署的项目&#xff0c;分支&#xff0c;环境基本信息后开始拉取代码&…

Servlet使用Cookie和Session

一、会话技术 当用户访问web应用时&#xff0c;在许多情况下&#xff0c;web服务器必须能够跟踪用户的状态。比如许多用户在购物网站上购物&#xff0c;Web服务器为每个用户配置了虚拟的购物车。当某个用户请求将一件商品放入购物车时&#xff0c;web服务器必须根据发出请求的…

大厂面试-美团高频考察算法之重排链表

本文学习目标或巩固的知识点 学习如何处理链表重排类题目 巩固反转链表巩固快慢指针巩固合并链表 提前说明&#xff1a;算法题目来自力扣、牛客等等途径 &#x1f7e2;表示简单 &#x1f7e1;表示中等 &#x1f534;表示困难 &#x1f92e;表示恶心 博主真实经历&#xff0c;…

docker-compose 搭建laravel环境

laravel环境包含nginx,mysql,php7.4,redis 一、安装好docker后pull镜像 1.nginx镜像 docker pull nginx:latest单独启动容器 docker run --name nginx -p 80:80 -d nginx 2.php镜像 docker pull php:7.4-fpm3.mysql镜像 docker pull mysql:5.74.redis镜像 docker pull r…

React18原理: React核心对象之Update、UpdateQueue、Hook、Task对象

Update 与 UpdateQueue 对象 1 ) 概述 在fiber对象中有一个属性 fiber.updateQueue是一个链式队列&#xff08;即使用链表实现的队列存储结构&#xff09;是和页面更新有关的 2 &#xff09;Update对象相关的数据结构 // https://github.com/facebook/react/blob/v18.2.0/pa…