无监督的领域知识数据,量级无法支持增量预训练,如何让模型学习
一般来说,建议采用增量预训练的方式让模型学习领域知识,但预训练对数据量的要求较大,如果您的无监督文档量级过小,达不到预训练要求,您可以通过一些手段将其转换为有监督数据,再将转换后的领域知识与目标任务数据混合,使用微调的方式让模型学习。
这里提供了一些将无监督数据转换为有监督数据的方案,供您参考:
- 基于规则构建:您可以通过采用一些简单的规则来构建有监督数据。比如:
表1 采用规则将无监督数据构建为有监督数据的常用方法 规则场景
说明
文本生成:根据标题、关键词、简介生成段落。
若您的无监督文档中含标题、关键词、简介等结构化信息,可以将有监督的问题设置为“请根据标题xxx/关键性xxx/简介xxx,生成一段不少于xx个字的文本。”,将回答设置为符合要求的段落。
续写:根据段落的首句、首段续写成完整的段落。
若您的无监督文档没有任何结构化信息,可以将有监督的问题设置为“以下是一篇文章的第一个句子:xxx/第一段落:xxx。请根据以上的句子/段落,续写为一段不少于xx个字的文本。”,再将回答设置为符合要求的段落。
扩写:根据段落的其中一句或者一段续写成完整的段落。
若您的无监督文档没有任何结构化信息,可以将有监督的问题设置为“以下是一篇文章的某个句子:xxx/某个段落:xxx。请根据以上的句子/段落,扩写成一段不少于xx个字的文本。”,再将回答设置为符合要求的段落。
填空:从段落随机掩盖一个或多个词语、句子、段落,再将段落完形填空。
若您的无监督文档没有任何结构化信息,可以将有监督的问题设置为“以下的文章中有一些词语/句子/段落缺失,文章如下:xxx。请结合文章内容,将缺失的信息补充完整。”,再将回答设置为符合要求的信息。
使用规则构建的优点是快速且成本低,缺点是数据多样性较低。
- 基于大模型的数据泛化:您可以通过调用大模型(比如盘古提供的任意一个规格的基础功能模型)来获取有监督场景。一个比较常见的方法是,将无监督的文本按照章节、段落、字符数进行切片,让模型基于这个片段生成问答对,再将段落、问题和答案三者组装为有监督数据。使用模型构建的优点是数据丰富度更高,缺点是成本较高。
当您将无监督数据构建为有监督数据时,请尽可能保证数据的多样性。建议将不同文本构建为不同的场景,甚至将同一段文本构建为多个不同的场景。
不同规格的模型支持的长度不同,当您将无监督数据构建为有监督数据时,请确保数据长度符合模型长度限制。