专业化预训练的案例:用于特定任务的超快速基础模型
基础模型的预训练通常被认为是一小部分AI实验室和大型科技公司的专属领域。这种情况正在改变。得益于更强大的GPU、优化的编程框架(如llm.c)和更好的数据集,预训练正变得负担得起,并成为微调的竞争性替代方案。
在 PleIAs,我们正在成功地试验一种新型模型:专业化预训练。这些模型从一开始就为特定任务而设计,只在大型定制指令数据集(至少5-10B个token)上进行训练,到目前为止,其性能可与大得多的通用模型相媲美。
预训练一个OCR校正模型
虽然专业化预训练模型在自动翻译等领域已经存在了一段时间,但它们尚未被普遍认为是独立的特定子类别。
我们发布了一个新的专业化预训练示例,OCRonos-Vintage。它是一个拥有1.24亿参数的模型,在来自文化遗产档案的180亿个token上进行训练,以执行OCR校正。尽管体积极小且缺乏通用能力,OCRonos-Vintage目前是该任务的最佳可用模型之一。我们目前正在大规模部署它,以预处理超过7000亿个token的大型文化遗产语料库。
OCRonos-Vintage 在 Jean Zay 的新 H100 集群上(计算许可号GC011015451)使用 Andrej Karpathy 最初为教学目的开发的全新预训练库 llm.c 进行训练。得益于 llm.c 前所未有的性能、Yuchen Jin(Hyperbolic Labs)在过去几周发布的多次实验以及我们先进的数据预处理管道,从头开始训练就像 Llama 微调一样简单、快速且顺利。

在接下来的几周,我们将针对其他更常见的LLM任务(如摘要、RAG或分类)进行多次实验。总的来说,最大的问题是:一个微型模型在推理密集型用例中的表现能有多好?极小的模型通常缺乏逻辑一致性,普遍认为这种能力是通过更多参数解锁的。除非这根本上是一个对齐问题,否则微型高性能推理机器并非遥不可及。
在此过程中,我们还将发布一系列LLM研究产物,以协助未来的类似项目,包括预分词和已分词的数据集以及专用代码。我们现在坚信 llm.c 及其 nascent 生态系统在支持这类项目方面具有令人难以置信的潜力。
语言模型专业化的案例
专业化预训练在很大程度上是该领域的一种“自然”发展。在过去的几个月里,SLM和LLM越来越专注于最终用例,总体目标是牺牲通用能力以获得更集中的性能。一个典型的例子是Cohere的Command-R模型系列,它们针对RAG进行了优化。从更广泛的意义上讲,像Phi-3这样在数百万合成数据示例上训练的模型可以被视为LLM部署的常见用例的集合。
专业化预训练因多种原因而成为一个有吸引力的解决方案
- 低成本、节约型的推理。拥有100-300百万参数的模型可以直接部署到大多数CPU基础设施上,无需任何适配或量化。在GPU环境下,模型可以提供更高的吞吐量。这是我们训练OCRonos-Vintage的主要动机,因为我们需要处理大量带有噪声OCR的文化遗产档案。
- 增加定制化。考虑到任务或处理的数据,可以特别重新考虑架构和分词器。对于OCR校正,我们的初步研究表明,在少量带噪声数据上自愿训练的分词器更具竞争力。实际上,这意味着专业化预训练可以选择Mamba架构以更好地处理长上下文,或者为本地非英语语言的快速推理和增强理解进行优化。专业化模型的推理速度可能如此之快,以至于某些用例甚至可以考虑字母或字节级的分词。
- 对数据的完全控制。在受监管的环境中,现有模型的部署或微调会引发许多责任问题。专业化预训练模型是端到端训练的,不包含除所选训练数据之外的任何其他数据集。因此,OCRonos-Vintage 是一个“开放”模型的强有力例子,仅在公共领域允许的数据上进行训练。

专业化预训练的主要要求是数据集。我们看到,将 OCR 数据集从 50 亿个 token(1 个 epoch)扩展到 180 亿个 token(2 个 epoch,即 90 亿个独立 token)后,性能得到了显著提升。虽然无法与通用预训练相比,但这仍然是一个比微调大得多的规模。我们相信,由于合成数据成本的下降和大型预训练数据集可用性的增加,可以解决规模要求。通常,对于摘要任务,已经有数百万对文本及其相关摘要。
我们为预训练所策划的这种非常不寻常的开放数据集集合,被证明是这些实验的合适资源。大多数数据集都恰好落在所需的范围内(从20亿到200亿个token),并包含一系列可以重新用于设计任务的附加元数据。