发布时间:2024-09-18
大模型的性能很大程度上取决于训练数据的质量和多样性。以OpenAI的GPT-3为例,它使用了约300B的token进行训练,但根据模型规模,理想的训练数据量应该是3500B tokens。这意味着,仅靠公开可用的数据远远不够,高质量、大规模的数据集成为大模型训练的关键。
大模型训练数据主要来源于两个渠道:网页数据和专有数据。 网页数据如CommonCrawl,包含数百亿网页,数据量级在PB级别。专有数据则包括书籍、对话、代码等特定领域的高质量数据。例如,GPT-3和谷歌的PaLM系列模型就大量使用了专有数据,如2TB的高质量书籍数据和社交媒体对话数据。
网页数据量巨大但质量参差不齐,需要经过严格的筛选和清洗。 以阿布扎比技术创新研究所(TII)的研究为例,他们从CommonCrawl中清理出大约5TB的数据,并公开了其中约600G的数据。具体步骤包括:
URL过滤:使用黑名单和关键词过滤掉色情、暴力等不良内容。
文本内容提取:仅保留正文,去除URL、导航栏等无关信息。
文本处理:包括语言识别、规则过滤、机器学习过滤等步骤。
去重:采用绝对匹配和近似匹配两种方法,去除重复内容。
其中,去重是关键步骤。研究发现,The Pile数据集效果不佳,很可能是因为去重不彻底。TII采用分桶和MinHash等方法,显著提高了去重效果。
除了网页数据,专有数据也是构建高质量数据集的重要来源。常见的专有数据集包括:
The Pile:包含网络数据、学术数据、书籍数据、对话数据等,覆盖多个领域。
The Stack:专注于代码数据,包含3.1TB的合法开源代码语料。
ROOTS:一个跨语言数据集,覆盖59种语言,用于训练多语言模型。
构建数据集时,需要注意以下几点:
多样性:涵盖多个领域和语言,避免数据过于单一。
质量:严格筛选和清洗,确保数据准确无误。
规模:尽可能扩大数据量,满足大模型训练需求。
更新:定期更新数据集,保持内容的时效性。
高质量的数据集对大模型性能有显著影响 :
泛化能力:研究发现,使用精心清洗的网页数据训练的模型,在零样本泛化能力上优于使用专有数据训练的模型。
训练效率:高质量数据可以减少训练轮数,避免过度训练导致的泛化能力下降。
模型规模:对于超大规模模型(如100B以上参数),数据质量变得尤为重要,重复内容和多轮训练都会严重影响模型性能。
因此,构建和维护高质量、大规模的数据集,是大模型研发的关键环节。随着技术的进步,我们有理由相信,未来会有更多创新方法来提升数据质量,推动大模型技术的进一步发展。