PGen
Published:
论文题目:Scaling Back-Translation with Domain Text Generation for Sign Language Gloss Translation
发表会议:European Chapter of the Association for Computational Linguistics (EACL 2023)
第一作者:Jinhui Ye (HKUST(GZ))
Question
如何解决 Sign Language Gloss Translation (SLGT) 的数据缺乏问题
Preliminary
SLGT:gloss 是手语的一种书面形式,它通常是通过手语视频翻译而来,其中每个词语和手语视频中的每个动作都一一对应。 通常而言,gloss 会比 sentence (即我们日常说话使用的语句)更加简洁,同时因为它是按手语视频的动作及顺序翻译而来的,因此和 sentence 拥有不同的语法规则, 但是它拥有和 sentence 相似甚至相同的字典集(即它们所用的词汇表是相似/相同的)。 例如,对于正常的 sentence "Do you like to watch baseball games?",表达成 gloss 就变成了 "baseball watch you like?"。 而 SLGT 任务就是要将 gloss 翻译为正常的 sentence,以便与普通人的交流。
Back-Translation (BT):Back-Translation 又叫 glossification。 它是 SLGT 的反向过程,即将正常的 sentence 翻译为 gloss,以便后续继续翻译为手语视频。
Method
最近 LLM 的综合能力已经有目共睹,基本上胜任了 NLP 的所有任务。本文观察到 LLM 具有 2 个重要的特性:
1) LLM 具有很强的记忆能力,能够记住训练数据的 knowledge
2) LLM 也具有生成大量新数据的能力,而不只是单单将它记忆的数据复制出来
根据这 2 个特性,本文便想利用合适的 prompt 来引导 LLM 模型生成大量新的伪数据来帮助 SLGT 模型训练。 假设存在 SLGT 小型数据集 Dg2t={(xi,yi)}Ni=1,其中 x 表示 sentence,y 表示 glosses, 需要利用 LLM 生成伪数据集 ˆDg2t={(ˆxi,ˆyi)}Mj=1。 最直观的方式是将 {xi,yi} concat 起来作为 prompt 引导 LLM 模型生成相似的 {ˆxj,ˆyj} 对。 但是由于 LLM 在运预训练时的训练数据中的 glosses 数据集很少,很可能甚至没有。 因此仅通过简单的 prompt 来让 LLM 模型学习很可能是不够的,最后导致其生成的 glosses ˆxj 的质量较低。 相反地,LLM 对生成正常的 sentence ˆyj 是十分擅长的。通常只需要给定几个 yi 作为 prompt,LLM 模型便能生成大量和 yi same domain 的伪数据 ˆyj (same domain 简单理解就是领域相似,比如都是英文的新闻天气预报句子)。 因此,与其让 LLM 生成质量较低的伪 {ˆxj,ˆyj} 数据对,不如让 LLM 专心生成高质量的伪数据 ˆyj。 然后通过其他方式来将生成好的 ˆyj 转化为 glosses ˆxj,这样便可生成伪数据对 {ˆxj,ˆyj}。 为了进一步优化 LLM 模型的生成能力,本文采用了DA 中提到的 prompt tuning 方式微调 LLM 模型。 具体而言,首先在 Dg2t 中随机选择 k 个 sentence yjk 并将其 concat 起来:[yj1,[SEP],...,yjk,[EOS]]。 然后提供 [yj1,[SEP]] 作为 prompt 引导模型继续生成剩下的句子,直到出现 [EOS](即 GPT 的 auto-regression 训练方式,注意,这里是微调,需要根据 ground-truth 进一步更新 LLM 参数的)。 而对于如何将生成好的 ˆyj 转化为 glosses ˆxj,最直接的方式是使用 BT 模型。 但是由于数据缺乏问题,使用 Dg2t={(xi,yi)}Ni=1 直接训练 BT 模型可能也会导致最终生成的伪数据 ˆxj 质量较低。 为此,本文使用了在多语言数据集上预训练的 sequence-to-sequence 模型(如 mT5)来作为初始化 BT 模型(这样一来 BT 模型在一开始便有了较强的基础知识,后续仅需微调到特定任务即可)。 然后使用 Dg2t 数据集训练 BT 模型,最终训练好的 BT 模型便可用来将生成好的 ˆyj 转化为 glosses ˆxj。
总结而言,如上图,首先使用 Dg2t 中的 yi 微调 LLM 模型; 然后使用 yi 作为 prompt (本文使用随机选 k−1 个 yi 并 concat 起来:[yj1,[SEP],...,yjk−1], 然后引导模型生成第 k 个伪数据 ˆyjk,这和微调 LLM 模型的数据组成一致) 来引导 LLM 模型生成大量的伪数据 ˆyi; 接着使用 Dg2t 微调预训练好的 BT 模型(mT5);最后使用训练好的 BT 模型将生成好的 ˆyj 转化为 glosses ˆxj。