• RANKGEN: Improving Text Generation with Large Ranking Models论文


    RANKGEN: Improving Text Generation with Large Ranking Models

    简介

    核心在于提高生成模型的生成质量。方式是:对抗训练的方法。(train RANKGEN using large-scale contrastive learning with in-batch negative sampling)
    负例构建方式是:(1)从与prefix相同的document中,随机选择序列;(2)从大规模语言模型中生成负例(在给定prefix为condition的情况下)

    问题

    现有的大规模语料,由贪婪解码或波束搜索产生的高概率(低困惑)序列往往是枯燥和重复的。

    现有的一些解决方法有:top-k(Fan等人,2018)、nucleus(Holtzman等人,2020)和典型抽样(Meister等人,2022)等截断抽样方法缓解了这些问题,但它们也可能产生具有不一致、幻觉、事实错误或常识问题的文本(Massarelli等人,2020;Dou等人,2022;Krishna等人,2021)。

    解决

    训练了一个1.2B 参数的encoder,将人手写的prefix和模型生成的连续空间的prefix映射到一个共享的vector space中,然后,RankGEN的目标是,将prefix与真实ground truth直接的距离减小,与生成的对抗性的prefix的距离拉大。
    这和原始的PLM的encoder模型的训练过程是不同的,我们的目标是考虑两个序列,而不仅仅是单个标记的预测,它鼓励RANKGEN考虑前缀和续篇之间的长距离关系,而不仅仅是依赖局部的预测。

    对抗性实例生成方法

    在第一个策略中,INBOOK,我们选择在同一文件中出现的随机序列作为前缀(生成的prefix的长度需要控制到和ground truth contiunations相同的长度)
    在第二种策略中,即GENERATIVE,我们以一个给定的前缀作为条件,通过大型的预训练的LM产生连续输出。( we generate continuations by conditioning a large pretrained LM on a given prefix)

    在这里插入图片描述

    训练数据构建

    在对抗语料生成后,训练数据可以表示为三元组的形式《p,c,g》,分别代表prefix,ground-truth continuation of that prefix,a continuation generated by an LM,为了作为区分,在prefix部分添加了一个特殊的token(pre),在连续和生成的部分,添加了特殊的token(suf )

    数据选择:

    考虑了文件中所有长度在256个word的prefix(为了使得prefix覆盖到文件的begin和end位置),为每个prefix,选择了contunations ci,长度在10-128个words,为了产生negatives,首先使用50%的(p,c)pairs微调T5模型,之后,使用剩余的数据,产生对抗数据。

    推断:

    在inference阶段,是通过计算prefix和候选continual之间的dot product作为兼容分值的。这个分值是可以被用来辅助生成任务的,主要通过两种策略,
    一是,过生成和重排名,通过PLM生成过量的备选,然后,通过计算dot product,对candidate做rerank.
    二是,在beam search的过程中,不在使用标准波束搜索中解码策略,(在standard beam search中,是通过LM的predict probability计算的分值),二是采用RankGen模型计算的score,作为beam search的排名依据。

    模型

    整个模型的过程如下,3个步骤:
    step1: 给定一个prefix,生成N个samples.
    step2:对N个samples做排名
    step3:选择top-B的samples,和prefix做concatenate操作。
    在这里插入图片描述

    实验结果

    我觉得,比较有意思的部分,是分析RankGen这个模型,从哪些方面提高了模型的效果。
    在这里插入图片描述

  • 相关阅读:
    超图Web许可无法访问
    ai智能机器人 okcc vos3000运营风控那些事
    elasticsearch的安全设置
    【无标题】菜市场
    【C++】搜索二叉树底层实现
    C++程序入门(helloworld.cpp编写)
    MySQL库表占用空间排序
    【操作系统】第一章:概述
    依赖的作用域范围
    邮件群发工具哪个好
  • 原文地址:https://blog.csdn.net/Hekena/article/details/126345756