刘知远团队大模型技术与交叉应用L6-基于大模型文本理解和生成介绍

介绍

NLP的下游运用可以分为:NLU(理解)和NLG(生成)
信息检索:NLU
文本生成:NLG
机器问答:NLU+NLG
在这里插入图片描述

大模型在信息检索

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

大模型在机器问答

在这里插入图片描述

大模型在文本生成

在这里插入图片描述

信息检索-Information Retrieval (IR)

背景

谷歌搜索引擎目前同时集成了文档排序和问答系统。

在这里插入图片描述

定义和评测

如何定义IR任务

IR系统分为两个阶段:
Retrieval阶段:对整个文档库排序后,抽回一部分相关文档的子集。主要考虑召回率。
Re-Rankink阶段:精排序

在这里插入图片描述

如何评测

IR中常用的评价指标为MRR、MAP、NDCG

平均倒数排名-MRR

只会考虑排名最靠前的相关文档的排名
在这里插入图片描述

平均准确率-MAP

会考虑所有相关文档。
在这里插入图片描述

归一化的折损累计增益-NDCG

这个指标是商业的搜索引擎或是推荐系统中最常用的评价指标。
前两个指标抽回的文档只有相关和不相关两个等级。NDCG有更细粒度的相关等级划分。
在这里插入图片描述

传统方法

BM25

BM25是一种典型的基于词汇匹配的IR方法。
其中k和b是可调节的超参数。
tf是词频:query中的每个词在文档中出现的频率。
idf是逆文档的频率:评估查询中的一个词汇在所有文档中常见或稀缺的程度。例如一个查询词在所有文档中都常见,则idf分数会很低。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

存在的问题-词汇失配

在这里插入图片描述

存在的问题-语义失配

在这里插入图片描述

神经网络方法-大模型

下面介绍两种架构:Cross-Encoder,Dual-Encoder

Neural IR

在Re-ranking阶段主要使用cross-encoder架构:query和doc进行词汇级别的拼接,然后喂给大模型。经过大模型之后生成q-d的表示,最后得到相关性分数。
好处是:精细,效果好。
缺点是:计算代价高。

在Retrieval阶段主要使用Dual-encoder架构:使用双塔架构,对query和doc分别进行编码,经过大模型,形成两个独立向量,再去计算向量的相似性。
好处是:计算开销较小。
在这里插入图片描述

Cross-Encoder

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

Dual-Encoder

在这里插入图片描述
Dual-Encoder的好处是,因为是分开编码的。所以可以对整个文档库提前编码好,将其向量存起来。有新的query进来,只需要编码query,然后用最近邻找到相关的文档。

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

前沿热点

Fine-tuning中的负例增强

in-batch negative:同一batch的正例可以作为其他query的负例
random negative:随机从文档库中采样,作为负例
BM25 negative:先用BM25针对每个query抽回一些top k文档,再把相关的删除,剩余就是不相关的。
在这里插入图片描述
下面介绍一篇ICLR2021的工作:训练过程中,使用模型本身去挖掘更难的负样本。
具体地,在模型训练过程中,异步维护一个inferencer的程序。每隔k步将最新的模型拿去做inference,把排名靠前的难负样本抽回来。再加到新的一轮训练中,不断迭代。

在这里插入图片描述
在这里插入图片描述
RocketQA引入了建模更精细的Cross-Encoder帮助Dual-Encoder筛选难负例,再加到Dual-encoder的训练中。
在这里插入图片描述

预训练阶段

为encoder配置弱的decoder,迫使中间的cls token具有更强的表达能力。

在这里插入图片描述

Few-Shot IR

有些网页天然缺乏用户的点击,用户的监督。
有一些涉及到隐私的个人检索,企业检索,他们的数据无法公开获得。
在医学和法律的检索领域,人工标注比较昂贵。
在这里插入图片描述
所以一部分研究是考虑如何用弱监督的数据去取代监督数据。生成弱监督数据的方式可以包含,titile和文档组成的q-d对,锚文本和文档组成的q-d对,文档和相应大语言生成q-d对。

在这里插入图片描述
弱监督数据的筛选:
但这些弱监督数据没有经过人工标注,可能存在噪声。于是可以经过筛选,具体的,通过训练和反馈的方式构建强化学习过程。
在这里插入图片描述
另一种方法是:meta-learning数据筛选
在这里插入图片描述

Zero-shot IR

训练好一个大模型之后,直接迁移到其他领域。

在这里插入图片描述

其他课题

  • 对话检索
  • 如何检索长文档
    在这里插入图片描述

机器问答

介绍

主要的机器问答类型:机器阅读理解、开放域问答、基于知识库问答、对话式QA

在这里插入图片描述

机器阅读理解

任务定义

在这里插入图片描述

  • 完形填空
    在这里插入图片描述
  • 多选
    在这里插入图片描述
  • 抽取式阅读理解(原文找答案)
    在这里插入图片描述

经典方法和pipeline

1.文档和问题分别进行编码
2.汇成一个向量
3.文章和问题进行交互
4.融合后的向量通过MLP来进行预测

在这里插入图片描述
实例:BiDAF
在这里插入图片描述

大模型方法

只需要大模型就可以将前三层直接替代

在这里插入图片描述
基于bert的问答系统
将问题和doc输入到bert中,再拿cls embedding出来,然后进行分类任务
在这里插入图片描述
在SQuAD这个非常流行的抽取式QA数据集上,只用bert就取得了很好的成绩。

在这里插入图片描述
除了简化了pipeline,大模型用于QA的另一个好处是可以统一不同任务的形式,统一为text to text的形式。这保证了迁移性。
在这里插入图片描述

开放式QA

有语料库,但是没有具体的文档。开放式QA有两种类型:生成式方法、检索式的方法

生成式方法

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

检索式方法

在这里插入图片描述

大模型之前

检索
在这里插入图片描述
阅读理解
在这里插入图片描述

大模型方法

如何用检索来辅助大模型的预训练过程。让大模型在下游的机器问答环节中表现更好。
REALM在预训练过程中也加入检索任务。相当于把预训练也当成开放式QA的任务,在预训练时,同时训练大模型和知识的检索器。

在这里插入图片描述
让大模型根据检索到的语料库来回答答案。
在这里插入图片描述

WebGPT

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

文本生成

介绍

data-to-text: 可以把一些非语言性的表示的信息,通过模型,以人类可以理解的语言表示出来。
text-to-text

在这里插入图片描述

文本生成任务

在这里插入图片描述

Data-to-Text

在这里插入图片描述

对话生成

在这里插入图片描述

机器翻译

在这里插入图片描述

诗歌生成

在这里插入图片描述

风格转义

在这里插入图片描述

故事生成

在这里插入图片描述

总结生成

在这里插入图片描述

神经网络文本生成

语言建模-Language Modeling

在这里插入图片描述

有条件的语言建模

在这里插入图片描述
例子:seq2seq

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

比较知名的模型:T5

在这里插入图片描述
T5是在一个被清洗过的爬取的数据集上训练的。输入时,会将其中一部分mask,
在这里插入图片描述

自回归的生成

在这里插入图片描述
经典的模型:GPT
在这里插入图片描述
GPT-2

在这里插入图片描述

非自回归的生成

在这里插入图片描述
非自回归的生成,可以一下子同时生成文本。
在这里插入图片描述

解码策略

模型得到的是概率。如何将概率解码得到文本。

贪心编码-Greedy Decoding

选择概率最大的token。
但是可读性可能比较差。
在这里插入图片描述

Beam Search Decoding

寻找一个子序列。但这样只是获得了局部的最优解,并不一定是全局的。
在这里插入图片描述
过程演示:
在这里插入图片描述
参数k很重要。
增大k的话,会生成更通用,但是和input text更无关的句子。
在这里插入图片描述
在这里插入图片描述

Sampling-based Decoding
  • Pure sampling:随机从词表选token,对于概率大的词以较大概率去选。模型的多样性会大大增加。

为了防止一些概率很小的词出现,又引入top-n和top-p来限制模型生成的范围。

  • Top-n sampling:不是在整个词表上采样,而是在n个最有可能概率的词上采样。
  • Top-p sampling:首先是概率最大的token,而且这些token的概率加起来大于等于阈值p

在这里插入图片描述

  • Sampling with temperature
    送入softmax之前会除以一个temperature。不同的temperature对应的是不同的生成策略。
    t高,则生成的文本更多样。
    t低,则生成的文本更相关。

在这里插入图片描述

受控文本生成

如何保持文本控制性和文本质量是一种重要课题。

Prompt methods
  • 文本前面加prompt
    在这里插入图片描述
  • 模型前面加prefix
    在这里插入图片描述
修改概率分布

除了基础模型,还会训练两个模型:生成非歧视文本的天使LM,生成有歧视文本的恶魔LM。
生成的时候希望生成语言的概率贴近天使模型,而去远离恶魔模型。
在这里插入图片描述

修改模型结构

在这里插入图片描述

文本生成测评

通用度量
  • BLEU
    生成的文本有多少与金标准的文本是类似的。BP是对短句的惩罚。我们希望尽量生成长句。

  • PPL
    在测试集上进行计算,会去验证模型有多大概率生成某个sample。PPL越低越好。

在这里插入图片描述

翻译和总结的通用度量

在这里插入图片描述

其他度量

在这里插入图片描述

文本生成的挑战

  • 在训练和模型策略上
    总是生成重复的词
    在seq2seq中,teacher forcing会引入一些exposure bias。

  • 逻辑一致性
    缺少逻辑一致性

  • 控制性
    很难保证有很好的控制性和很好的语言质量

  • 评估
    合理的度量和数据集
    在这里插入图片描述

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

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

相关文章

NLP入门系列—Attention 机制

NLP入门系列—Attention 机制 Attention 正在被越来越广泛的得到应用。尤其是 [BERT]火爆了之后。 Attention 到底有什么特别之处?他的原理和本质是什么?Attention都有哪些类型?本文将详细讲解Attention的方方面面。 Attention 的本质是什…

Mac M1使用PD虚拟机运行win10弹出“内部版本已过期立即安装新的windows内部版本”

一、问题 内部版本已过期立即安装新的windows内部版本 二、解决 1、如图所示打开zh-CN目录 C:\windows\system32\zh-CN找到licensingui.exe文件 将该文件重命名为licensingui_bak.exe 2、修改完成效果如下 (1)但操作中发现,需要TrustedIns…

闲的无聊,做了几个微信红包封面,才发现好像没啥用,索然无味

这几天闲的无聊,正好也快要过年了,心血来潮搞几个微信红包封面。 折腾了大半天,又是ps,又是开通微信红包封面平台。 弄了100多个图,选出来50个,最后就提交了1个到微信平台,也通过审核了。 最…

【Kafka】服务器Broker与Controller详解

这里写自定义目录标题 Broker概述Broker总体工作流程Broker重要参数 Controller为什么需要Controller具体作用数据服务Leader选举选举流程脑裂问题羊群效应触发leader选举 Broker 概述 Kafka服务实例,负责消息的持久化、中转等功能。一个独立的Kafka 服务器被就是…

vue2 对接 海康摄像头插件 (视频WEB插件 V1.5.2)

前言 海康视频插件v.1.5.2版本运行环境需要安装插件VideoWebPlugin.exe,对浏览器也有兼容性要求,具体看官方文档 对应下载插件 去海康官网下载插件 里面有dome等其他需要用到的 地址: 安装插件 打开下载的文件里的bin文件 安装一下Video…

修改Vim编辑器的缩进和显示行数

一、Vim编辑器的缩进和显示行数 1.指令 sudo vi /etc/vim/vimrc2.插入内容 set tabstop4 set shiftwidth4 set nu 注意输入的格式,前后不要留空格 tabstop是输入按下tab缩进4个 shiftwidth是批量缩进4个 nu是显示行数

革命性的写作:MDX 让你的 Markdown 全面动起来

1. MDX MDX 是一种标记语法,它结合了 Markdown(一种流行的文本到 HTML 的转换工具)和 JSX(React 中用于描述 UI 组件的语法扩展)。MDX 允许你在 Markdown 文档中直接写入 JSX,这意味着你可以在 Markdown 内…

IPv6协议讲解

IPv6协议讲解 IPv6是互联网协议的第六版(Internet Protocol Version 6),它用于在互联网上路由数据包,旨在替代IPv4,它提供了更多的IP地址和改进的网络功能。IPv6是为了应对互联网快速发展带来的挑战而设计的,它的引入不仅解决了地…

【教学类-40-08】A4骰子纸模制作8.0(2.97CM嵌套骰子表格相连 一页7个 油墨打印A4铅画纸)

作品展示(一页7个骰子,表格连在一起,一行一个(2嵌套)) 背景需求: 制作三嵌套盒子并实践后,感觉套起来很紧,还是用2嵌套的铅画纸做骰子比较好, https://blog…

代码随想录算法训练营|day24

第七章 回溯算法 77.组合代码随想录文章详解总结 77.组合 以n5,k3为例 (1)for循环遍历&#xff0c;递归选择符合要求的值加入path&#xff0c;len(path)k时&#xff0c;返回 statrtIndex保证每次递归取到的值不重复 剪枝&#xff1a;i<n-(k-len(path))1 后续需要k-len(pat…

政安晨的AI笔记——示例演绎OpenAI的ChatGPT与DALL·E提示词总原则(并融合创作一副敦煌飞天仙女图)

ChatGPT是由OpenAI开发的一种基于大规模预训练的语言生成模型。它建立在GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型的基础上&#xff0c;通过大量的无监督学习和生成式任务训练来学习语言的概念和模式。 ChatGPT的原理是基于Transformer模型。Transfo…

shell命令以及运行原理 | 权限

Shell命令原理剖析 shell命令以及运行原理&#x1f4a6;Linux权限的概念&#x1f4a6;什么是权限❔Linux下有哪些权限身份❔Linux中文件属性解析 shell命令以及运行原理&#x1f4a6; Linux严格意义上说的是一个操作系统&#xff0c;我们称之为 “核心&#xff08;kernel"…

AS-V1000 视频监控平台产品介绍:客户端功能介绍(一)

目 录 一、引言 1.1 AS-V1000视频监控平台介绍 1.2平台服务器配置说明 二、软件概述 2.1 客户端软件用途 2.2 客户端功能 三、客户端功能说明 3.1 登陆和主界面 3.1.1登陆界面 3.1.2登陆操作 3.1.3主界面 3.1.4资源树 3.2 视频预览 3.2.1视频预览界面 3.2.…

京东微前端框架MicroApp简介

一、MicroApp 1.1 MicroApp简介 MicroApp是由京东前端团队推出的一款微前端框架,它从组件化的思维,基于类WebComponent进行微前端的渲染,旨在降低上手难度、提升工作效率。MicroApp无关技术栈,也不和业务绑定,可以用于任何前端框架。 官网链接:https://micro-zoe.gith…

获取真实 IP 地址(一):判断是否使用 CDN(附链接)

一、介绍 CDN&#xff0c;全称为内容分发网络&#xff08;Content Delivery Network&#xff09;&#xff0c;是一种网络架构&#xff0c;旨在提高用户对于网络上内容的访问速度和性能。CDN通过在全球各地部署分布式服务器节点来存储和分发静态和动态内容&#xff0c;从而减少…

【Linux系统化学习】进程替换

目录 进程程序替换 替换原理 ​编辑替换函数 函数解释 命名理解 函数使用 execl execlp execv execvp 调用其它程序 进程程序替换 替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个…

禁止 ios H5 中 bounces 滑动回弹效果

在开发面向 iOS 设备的 HTML5 应用时&#xff0c;控制页面的滚动行为至关重要&#xff0c;特别是禁用在 Safari 中默认的滑动回弹效果。本文旨在提供一个简洁明了的解决方案&#xff0c;帮助开发者在特定的 Web 应用中禁用这一效果。 1. 什么是滑动回弹效果&#xff1f; 在 iO…

C++输出地址

下面是一段输出地址的程序。 #include <bits/stdc.h> using namespace std;int main() {int s;cout << &s;//原地址return 0; }假如有一个人&#xff08;的朋友&#xff09;后来了&#xff0c;他也想住进的房间&#xff0c;我们可以这样&#xff1a; #includ…

【数据结构】链表OJ面试题2(题库+解析)

1.前言 前五题在这http://t.csdnimg.cn/UeggB 休息一天&#xff0c;今天继续刷题&#xff01; 2.OJ题目训练 1. 编写代码&#xff0c;以给定值x为基准将链表分割成两部分&#xff0c;所有小于x的结点排在大于或等于x的结点之前 。链表分割_牛客题霸_牛客网 思路 既然涉及…

gif动图的裁剪实现思路

项目需求(对app的轮播,以及banner和咨询的图片进行裁剪):前期实现使用用vue-cropper插件对图片进行插件,----后续需求需要裁剪gif动图(vue-cropper、微信自带的截图工具,以及fastStone截图工具,都只能截取静态图片,打开动图时只显示某一帧的静态图片),所以需要研究为什么vue-cr…