重点解码效果总结#####论文阅读——《Towards a Human-like Open-Domain Chatbot》

本文主要是介绍重点解码效果总结#####论文阅读——《Towards a Human-like Open-Domain Chatbot》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Introduction

开放的chatbot API总结

  • cleverbot API: https://www.cleverbot.com/api/
    • https://github.com/plasticuproject/cleverbotfree
  • xiaobing: https://www.msxiaobing.com/
  • mitsuku: https://www.pandorabots.com/mitsuku/
    • https://github.com/hanwenzhu/mitsuku-api

主要贡献

  • 模型架构:Evolved Transformer
    • 模型输入:多轮对话(最多7轮)
    • 模型输出:回复
    • 最佳模型:2.6B参数,10.2PPL,8K BPE subword vocabulary, 训练数据40B words
  • 评测指标
    • PPL
    • SSA(Sensibleness and Specificity Average)用来评估
      • whether make sense
      • whether specific
    • 人工评测使用static(1477个多轮对话)和interactive(想说啥就说啥)两种数据集,发现SSA和PPL在这两个数据集上高度相关
    • 模型在评测集的表现:
      • 0.72的SSA
      • 经过filtering mechanism 和 tuned decoding后有0.79的SSA,相比于人提供的0.86SSA的回复已经很接近了
  • 方法的局限性
    • 评测数据集的局限性,不能解决所有领域的问题

对话机器人的评价

人工进行评测时的参考标准

  • Sensibleness
    • common sense
    • logical coherence
    • consistency
    • 人工评测时对于可打的标签:confusing, illogical, out of context, factually wrong, make sense
    • 缺陷:对于安全的回答,如I don’t know,无法区分
  • Specificity
    • A: I love tennis. B: That’s nice 应该被标记为not specific,如果 B:Me too, I can’t get enough of Roger Federer!则被标记为specific
    • 已经被标记为not sensible的直接标记为not specific
  • SSA
    • 可以使用Sensibleness和Specificity标记在所有responses的比例来作为参考标准
    • 使用SSA将Sensibleness和Specificity的比例进行了结合

可进行对比的几个开源chatbot框架

  • 基于RNN:https://github.com/lukalabs/cakechat
  • 基于Transformer: https://github.com/microsoft/DialoGPT
    • 762M参数的模型效果更好一些
    • dialogpt没有公开其解码和MMI-reranking的过程,gpt2bot实现了解码:https://github.com/polakowo/gpt2bot
    • 附加一个中文的基于DialoGPT开发的闲聊模型
      • https://github.com/yangjianxin1/GPT2-chitchat
      • https://blog.csdn.net/kingsonyoung/article/details/103803067

构建静态评测集

  • 从单轮开始:http://ai.stanford.edu/~quocle/QAresults.pdf
  • 增加一些个性化问题,如:Do you like cats?
    • A: Do you like movies?; B: Yeah. I like sci-fi mostly; A: Really? Which is your favorite?期待I love Back to the Future这样的回答,对于I don’t like movies这样的回复应标记为not sensible

进行动态评测

  • 机器人以Hi开始,评测人员自由与bot对话,并对每一个bot的回复进行评测。每一个对话至少14轮,至多28轮。

Meena Chatbot

训练数据

  • 来源于public social media
  • 清洗流程
    • 去掉 subword 数目<=2 或 subword 数目 >= 128
    • 去掉 字母比例<0.7
    • 去掉 包含URL
    • 去掉 作者名字bot
    • 去掉 出现100次以上
    • 去掉 跟上文n-gram重复比例过高
    • 去掉 敏感句子
    • 去掉 括号中内容
    • 当一个句子被删除时,则上文全部被删除
  • 共清洗出867M的(context, response)对
  • 使用sentence piece进行BPE分词,得到8K的BPE vocab
  • 最终语料包含341GB的语料(40B word)

模型框架

  • Evolved Transformer
    • 2.6B parameter
    • 1 ET encoder + 13 ET decoder
  • 最大的模型可达到10.2的PPL
  • 最大的传统Transformer模型(32层decoder)可达到10.7的PPL
  • hidden size: 2560
  • attention head: 32
  • 共享编码、解码、softmax的embedding
  • 编码、解码最长是128

训练细节

  • 使用Adafactor optimizer,初始学习率0.01,在前10k step保持不变,使用inverse square root of the number of steps进行衰减
  • 使用https://github.com/tensorflow/tensor2tensor代码进行训练

解码细节

  • 为了避免产生乏味的回复,可以使用多种方法进行解码
    • reranking
    • 基于profiles, topics, and styles
    • 强化学习
    • 变分自编吗
  • 当PPL足够小时,可以使用sample-and-rank策略进行解码
    • 使用temperature T随机产生N个独立的候选

      • T=1产生不经过修正的分布
      • T越大,越容易产生不常见的词,如相关的实体名词,但可能产生错误的词
      • T越小,越容易产生常见的词,如冠词或介词,虽然安全但不specific
      • 解释1
温度是神经网络的超参数,用于在应用softmax之前通过缩放对数来控制预测的随机性。 例如,在TensorFlow的LSTM中,温度代表在计算softmax之前将logit除以多少。当温度为1时,我们直接在logits(较早层的未缩放输出)上计算softmax,并使用温度为0.6的模型在logits/0.6上计算softmax,从而得出较大的值。 在更大的值上执行softmax可使LSTM 更加自信 (需要较少的输入来激活输出层),但在其样本中也更加保守 (从不太可能的候选样本中进行抽样的可能性较小)。 使用较高的温度会在各个类上产生较软的概率分布,并使RNN更容易被样本“激发”,从而导致更多的多样性和更多的错误 。softmax函数通过确保网络输出在每个时间步长都在零到一之间,基于其指数值对候选网络的每次迭代进行归一化。因此,温度增加了对低概率候选者的敏感
      • 解释2
当T很大时,即趋于正无穷时,所有的激活值对应的激活概率趋近于相同(激活概率差异性较小);而当T很低时,即趋于0时,不同的激活值对应的激活概率差异也就越大。
    • 发现使用beam-search解码会产生重复且无趣的回复,使用sample-and-rank产生的回复会丰富一些
    • 使用N=20,T=0.88
  • response score的计算:logP/T,P是response的likelihood,T是token的个数
  • 解码时增加detect cross turn repetitions
    • 当两个turn的n-gram重复超过一定比例时,则从候选中删除
  • 增加一个分类层,用来过滤掉敏感回复

结论

SSA和PPL是相关的

  • 基本呈线性关系

效果的比较

  • 小冰:呈现出个性化的回复,但有时也会无意义,且经常回复得太平常。小冰另一个特点就是具有同情心,可以在以后的评价指标中考虑这一点。小冰有near-human-level engagingness但not very close to human-level humanness,因此在我们的评测指标上SSA不高。
  • mitsuku:56%SSA(72%sensibility 40%specifity), 网站上的对话并不是它参加图灵测试的版本
  • DialoGPT:48%SSA(57%sensibility 49%specifity)
  • CleverBot:在interactive评测表现比static上稍微好一些(56% interactive SSA,44% static SSA)。发现cleverbot更擅长将话题引入到它更擅长的领域中,缺少personality
  • Meena:base(72% SSA),full(79% SSA)

这篇关于重点解码效果总结#####论文阅读——《Towards a Human-like Open-Domain Chatbot》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967525

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

防近视护眼台灯什么牌子好?五款防近视效果好的护眼台灯推荐

在家里,灯具是属于离不开的家具,每个大大小小的地方都需要的照亮,所以一盏好灯是必不可少的,每个发挥着作用。而护眼台灯就起了一个保护眼睛,预防近视的作用。可以保护我们在学习,阅读的时候提供一个合适的光线环境,保护我们的眼睛。防近视护眼台灯什么牌子好?那我们怎么选择一个优秀的护眼台灯也是很重要,才能起到最大的护眼效果。下面五款防近视效果好的护眼台灯推荐: 一:六个推荐防近视效果好的护眼台灯的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快