Dealing with Missing and Synthetic Data

处理缺失数据和合成数据

September 14, 2023

David Berenstein (Argilla)

在 Argilla,我们正在创建一个面向 LLM 的开源数据平台,通过该平台,每个人都能够借助人工和机器反馈构建强大的中小型和大型语言模型。 鉴于我在自然语言处理 (NLP) 方面的专业知识,我将深入探讨缺失数据和合成数据的关键方面,尤其是在文本数据背景下。

潜在的偏见

在文本数据领域,我们可以将数据视为原始数据,但自从通过迁移学习引入微调以来,我们可以看到像 BERT 这样的核心模型正在兴起,构成我认为是知识或数据的一部分。 从这个意义上讲,缺失数据可能是造成重大偏见和不平等现象的根源。 我们在新模型推出时已经看到了这一点,这些模型首先有时仅在其自身的领域、语言或文化空间中可用,并且尽管它们的性质更通用,但随着 LLM 的兴起,我们可以非常清楚地看到这一点。 幸运的是,我们已经看到了一些可以弥合这些偏见的方法。

处理偏见

在特征数据中,我们经常提到诸如删除、插补和预测单个缺失值等概念来弥合这些偏见,但是,对于 NLP,解决方案空间通常更侧重于模型。 请不要误会我的意思,我们确实拥有的各个数据值仍然需要经过适当的整理并具有尽可能高的质量,因为模型侧重的解决方案仍然需要相同的数据才能工作。

除了普遍推动为低资源语言和领域创建核心模型之外,我们还看到了一些基于智能启发式方法(如集成模型工作流程、跨语言模型能力和(甚至)更通用的模型)来推断知识的解决方案。

我在毕业论文中使用过的集成模型工作流程的一个例子是使用释义方法来使数据多样化。 有几种直接释义模型可用,但另一种很好的方法是回译。 在这里,不同语言之间的 n 跳翻译会导致文本略微变形。 使用 Google 翻译,我们甚至可以使用跨度保留设置来执行此操作,这可能对基于跨度的任务(如实体提取)很有用。 我们甚至可以应用 1 跳翻译,将低资源语言数据用于英语 Transformer 模型。

由于语言中的词汇和语义重叠,事实证明可以训练具有跨语言属性的模型。 这些模型可用于对多种语言进行预测,因此,在语言 A 上微调模型将确保也可以对语言 B 进行不错的预测。 这种方法不容易进行基准测试,但它确实提供了一种开始使用更高质量数据的方法,而这些数据反过来可以进行整理以用于训练特定于语言的模型。

最后,我们来到了(甚至)更通用的模型(如 LLM)部分。 简而言之,这是通过更多的数据和参数来实现的。 阅读本文的每个人都听说过最近 OpenAI 模型的大量数据和参数的故事,但先前提到的跨语言模型甚至“Attention is All You Need”背后的研究人员发现,这个方向是显着提高性能的可行解决方案。

合成数据

生成性质以及 LLM 可以调整为响应指令的事实使它们能够在无限数量的任务中执行类似的操作,包括上述任务。 此外,这使它们成为多样化合成文本生成的完美候选者,因为我们可以通过使用正确的公式更直接地影响生成此数据的方式。 为 LLM 制定提示的艺术甚至被证明非常重要,以至于我们甚至看到了所谓的提示工程师的职位发布。

这种通过合成数据生成来处理缺失数据的方式仍然存在一些风险和困难。 其中之一是 LLM 也主要作为以英语为先的模型提供,尽管它们已通过经验证明也适用于其他语言。 此外,许多 LLM 的闭源性质导致供应商锁定、隐私风险和许可问题,甚至作为开源发布的 LLM 偶尔也会有许可限制它们用于合成数据生成。 因此,这再次证明我们仍然需要收集和整理高质量的数据,以便也能够微调我们自己的模型,包括 LLM。

开始使用

您想了解更多关于使用合成数据作为缺失数据解决方案的实际用例吗? 请查看 本教程。 或者查看关于创建您自己的 LLM 数据集的本视频