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

Re53:读论文 How Can We Know What Language Models Know?

诸神缄默不语-个人CSDN博文目录
诸神缄默不语的论文阅读笔记和分类

论文名称:How Can We Know What Language Models Know?

ArXiv网址:https://arxiv.org/abs/1911.12543

官方GitHub项目(prompt之类的都有):https://github.com/jzbjyb/LPAQA

本文是2020年TACL论文,作者来自卡耐基梅隆大学和博世北美研究所。

本文关注探索LM中蕴含的知识。以前已经有工作用完形填空的方式来探查知识(Obama is a __ by profession),但是这些填空模版(prompt)都是手工做的,因此可能是sub-optimal的(在上一篇论文最后也提及了),不能充分发挥LM的能力。
本文的解决方案是自动挖掘prompt(远程监督、回译、集成)

这篇工作的实验真的多,这也太能做了。

文章目录

  • 1. 探查知识的方案
  • 2. 实验
    • 1. 数据集
    • 2. LM
    • 3. baseline
    • 4. 实验设置
    • 5. 主实验结果
    • 6. 实验分析
      • Prediction Consistency by Prompt
      • POS-based Analysis
      • Cross-model Consistency
      • Linear vs. Log-linear Combination
    • 7. 失败trick集合

1. 探查知识的方案

在这里插入图片描述

从数据库中获取知识是deterministic的,但从LM中获取知识(完形填空)是不可靠的。
本文用的都是双向LM,做填空题的那种。

  1. mining-based methods:远程监督:从维基百科中找三元组出现的句子。
    1. 方法一:Middle-word Prompts(subject prompt object)
    2. 方法二:Dependency-based Prompts(句法分析→subject和object之间的依存路径)
      在这里插入图片描述
      (句法分析这块我也不懂总之大概是这么个意思吧)
  2. paraphrasing-based methods:对人工或挖掘得到的种子prompt进行回译
  3. 挑选和集成prompt
    1. Top-1 Prompt Selection:选择在训练集上准确率最高的prompt(这个准确率的公式定义比较复杂,但是反正就这个prompt对应的关系里object预测正确的占所有样本的比例)
    2. Rank-based Ensemble:top-K概率求和在这里插入图片描述
    3. Optimized Ensemble:大意是说对每个关系的T个prompt分别训练权重
      在这里插入图片描述
      在这里插入图片描述

这篇paper里面还提及了BERT跟LM的标准定义严格来说不一样这一茬:
在这里插入图片描述
感觉现在已经没人在乎了=== 随便吧==

2. 实验

1. 数据集

在这里插入图片描述

2. LM

BERT-base
BERT-large

增强了外部的实体表征:
ERNIE
Know-Bert

3. baseline

  1. Majority
  2. Man:手工prompt
  3. Mine
  4. Mine+Man
  5. Mine+Para
  6. Man+Para
  7. TopK:求平均
  8. Opti.:加权平均
  9. Oracle:所有prompt中有一个能预测正确,就算LM知道这个知识

4. 实验设置

mine 40个prompts
回译7个prompts

清洗噪音prompts

Adam
batch size: 32

5. 主实验结果

评估指标:micro-averaged accuracy

在这里插入图片描述

与手工prompt相比,效果得到了提升:
在这里插入图片描述

集成权重:
在这里插入图片描述

K的选择:
在这里插入图片描述

prompt做轻微修改也能改变效果:
在这里插入图片描述

两种远程监督方案的对比:
在这里插入图片描述

不同LM的实验结果:
在这里插入图片描述

在LAMA-HUN(一个比LAMA更难的benchmark)上的表现:
在这里插入图片描述

在Google-RE上的表现:
在这里插入图片描述

6. 实验分析

Prediction Consistency by Prompt

在这里插入图片描述
divergence是两个prompt预测结果不同的程度:
在这里插入图片描述
皮尔森相关系数是0.25,说明编辑距离和divergence之间确实存在弱相关性(prompt差别越大,预测结果差别越大)

POS-based Analysis

在这里插入图片描述

在这里插入图片描述
用排名分布而不是准确率分布,在脚注解释了一下是因为不同关系的准确率的量级不同

Cross-model Consistency

检测prompts能不能跨模型通用

在这里插入图片描述

在这里插入图片描述

Linear vs. Log-linear Combination

求和的权重

在这里插入图片描述

7. 失败trick集合

这块真实诚啊

  1. LM-aware Prompt Generation
    在这里插入图片描述
  2. Forward and Backward Probabilities
    在这里插入图片描述

相关文章:

Re53:读论文 How Can We Know What Language Models Know?

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称:How Can We Know What Language Models Know? ArXiv网址:https://arxiv.org/abs/1911.12543 官方GitHub项目(prompt之类的都有):https:…...

YARN工作流程详解

图1 图2 图1 -作业提交阶段: 1、client 提交job,向 ResourceManager【RM】 申请job_id; 2、RM 返回 job_id 及资源提交路径 给 client 3、client 把job所需的资源提交 到 3中指定的路径中 4、client 上传完成资源后,向RM 发送执行作业请求,RM…...

力扣373场周赛题解

第一题: 这个题是一个简单题,数据范围也特别小,所以直接使用模拟方式暴力解答。 直接进行行移动的过程,然后检查移动后的结果是否与移动前相同。 代码: ​ public class Solution {// 将指定行循环右移k次pri…...

编程语言发展史:Rust语言的出现和特点

一、Rust语言的出现 Rust语言是一种由Mozilla开发的系统级编程语言,该语言于2010年首次公布,由Graydon Hoare在Mozilla的工作期间开发,最初是为了替代C而设计的。Rust语言的目标是提供一种安全、高效、并发性强的编程语言,同时保…...

Centos Bind安装与排错

1.配置Centos系统静态IP vi/etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTOstaticIPADDR192.168.1.100NETMASK255.255.255.0GATEWAY192.168.1.1DNS18.8.8.8:wqsudo systemctl restart network.service 2.安装BIND(需要服务器连接互联网,如果服务…...

spark中write算子和format算子详解

在spark中,想要往数据库或者某sink路径里面写数据,存到外部存储系统,如文件系统、数据库或数据仓库,经常会用到write算子。 具体来说,write算子通常与DataFrame或Dataset API一起使用,用于将数据写入持久化…...

设计模式—接口隔离原则(ISP)

1.背景 2002 年罗伯特C.马丁给“接口隔离原则”的定义是:客户端不应该被迫依赖于它不使用的方法(Clients should not be forced to depend on methods they do not use)。该原则还有另外一个定义:一个类对另一个类的依赖应该建立…...

Jenkins用126邮箱发邮件为什么发不出去

1、检查 Jenkins Location中的邮件地址配置与发邮件的地址配置是否一致 Manage Jenkins -》 system 2、检查地址和端口号 3、检查邮箱的登录配置是否正确(这个地方的配置方式网上一抓一大把,自己搜一下就好) 4、126邮箱发邮件不需要勾选ssl协…...

怎么给数据库某个字段建立一个前缀索引

说明:SQL调优中重要的一个环节是建立索引,其中有一条是字段值过长字段应该建立前缀索引,即根据字段值的前几位建立索引,像数据库中的密码字段、UUID字段。 因为其随机性,其实根据前几位就可以锁定某一条记录了。前缀索…...

C# 图片下载工具类

写在前面 从浏览器的Html文本中获取图片链接并保存到本地,同时对图片的分辨率和品质进行处理,以满足某些平台的规格需求;可以放到多线程中调用以提高下载效率。 代码实现 public class ImageDownloader{private int minImageSize 1024 * 1…...

嵌入式硬件电路·电平

目录 1. 电平的概念 1.1 高电平 1.2 低电平 2. 电平的使用场景 2.1 高电平使能 2.2 低电平使能 2.3 失能 1. 电平的概念 电平是指电信号电压的大小或高低状态。在数字电子学中,电平有两种状态,高电平和低电平,用来表示二进制中…...

Python文件路径常用操作

1 文件路径 在进行数据处理时,经常要用代码去读文件里的数据,那么首先就得知道这个文件的文件路径。文件路径简单地说就是文件的存放位置。文件路径分为两块:文件夹路径和文件名,文件名又分为文件基本名和扩展名。 举例说明&…...

Redis-Redis 高并发分布式锁

集群分布式场景高并发 1.negix配置代理和路由 高并发场景超卖问题 1.使用原生redis控制超卖时(若是商品,则可以将商品id作为锁对象),会遇到的问题 问题一:若直接使用:将获取锁的对象和设置的超时的时间分开,则不能控…...

【推荐系统】MMOE笔记 20231126

paper阅读 任务差异带来的固有冲突实际上会损害至少某些任务的预测,特别是当模型参数在所有任务之间广泛共享时。(在说ESMM) 共享底层参数可以减少过拟合风险,但是会遇到任务差异引起的优化冲突,因为所有任务都需要在…...

4. 标准 IO 库

4. 标准 IO 库 1. 标准 IO 简介2. FILE 指针3. 标准输入、标准输出和标准错误4. fopen() 和 flose()5. fread() 和 fwrite()6. fseek 定位7. 检查或复位状态7.1 feof()7.2 ferrof()7.3 clearerr() 8. 格式化 IO8.1 格式化输出8. 2 格式化输入 9. IO 缓冲9.1 文件 IO 的内核缓冲…...

SAP Smartform小结

SAP系统做打印单据用的, 感觉很不好用, 特别是要嵌入韩文时必须使用嵌入的word编辑器,运行速度简直不可忍受. 见过一些Adobe interactive form的示例, 看着相当不错, 不过据说需要花money额外买licence, 哪有smartform这种免费东西来得实惠. 一般打印需求,会要求有标题抬头,打…...

KVM虚拟机的NAT网络模式原理及过程展示

NAT的方式及原理 NAT方式是KVM安装后的默认方式。 它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。 default是宿主机安装虚拟机支持模块的时候自动安装的。 其中 virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接…...

亚马逊云科技向量数据库助力生成式AI成功落地实践探秘(一) ​

随着大语言模型效果明显提升,其相关的应用不断涌现呈现出越来越火爆的趋势。其中一种比较被广泛关注的技术路线是大语言模型(LLM)知识召回(Knowledge Retrieval)的方式,在私域知识问答方面可以很好的弥补通…...

C# MemoryCache的使用和封装

封装个缓存类,方便下次使用。 using Microsoft.Extensions.Caching.Memory; using System; using System.Collections.Generic;namespace Order.Core.API.Cache {public class GlobalCache C#有偿Q群:927860652{private static readonly MemoryCache …...

【nlp】4.2 nlp中标准数据集(GLUE数据集合中的dev.tsv 、test.tsv 、train.tsv)

nlp中标准数据集 1 GLUE数据集合介绍1.1 数据集合介绍1.2 数据集合路径2 GLUE子数据集的样式及其任务类型2.1 CoLA数据集文件样式2.2 SST-2数据集文件样式2.3 MRPC数据集文件样式2.4 STS-B数据集文件样式2.5 QQP数据集文件样式2.6 (MNLI/SNLI)数据集文件样式2.7 (QNLI/RTE/WNLI…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

EtherNet/IP转DeviceNet协议网关详解

一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

倒装芯片凸点成型工艺

UBM(Under Bump Metallization)与Bump(焊球)形成工艺流程。我们可以将整张流程图分为三大阶段来理解: 🔧 一、UBM(Under Bump Metallization)工艺流程(黄色区域&#xff…...

【java面试】微服务篇

【java面试】微服务篇 一、总体框架二、Springcloud(一)Springcloud五大组件(二)服务注册和发现1、Eureka2、Nacos (三)负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...