OpenAI 模型是在各种公开可用的文本数据上进行训练的,这些数据来源于书籍、网站、文章、代码仓库和其他基于文本的材料。 这些数据来自维基百科、新闻平台、博客、论坛(例如 Reddit)和公开访问的学术论文等来源。目标是包含广泛的主题、写作风格和语言,以帮助模型在不同的上下文中进行泛化。 例如,可以包含技术文档和编程教程以提高代码生成能力,而小说和非小说书籍可以帮助模型理解叙事结构。 这些数据的规模非常大,通常跨越数 TB,以确保模型从各种领域学习模式、语法和事实关联。
在训练之前,原始数据会经过广泛的预处理,以提高质量和相关性。这包括过滤掉低质量文本(例如,垃圾邮件、重复内容或无意义的句子)以及删除敏感信息或个人身份信息。应用分词(将文本拆分为更小的单元,例如单词或子词)以有效地处理不同的语言和技术术语。例如,与散文相比,代码片段的分词方式可能不同,以保留语法。还对数据进行去重,以防止模型过度拟合重复内容。此外,对来源进行加权以平衡表示;例如,可以优先处理高度技术性的内容以执行编码任务,而常规网络数据可确保日常语言能力。通常使用 Common Crawl(一个大规模的 Web 爬取数据集)等工具作为基础,但会仔细地整理数据以避免不相关或有害的材料。
伦理和实践考虑因素严重影响数据选择。OpenAI 避免使用私人对话、付费内容或违反隐私法的数据。许可也是一个关键因素,仅包含具有适当使用权的数据。 尽管做出了这些努力,训练数据中的偏差(例如,性别刻板印象或文化假设)可能仍然存在于模型输出中。例如,如果数据集过度代表某些观点,则模型可能会无意中反映出这些偏差。 为了缓解这种情况,OpenAI 应用了诸如偏差检测算法和通过人工反馈进行微调等技术。 但是,由于现实世界文本中固有的偏差,完全中立具有挑战性。 开发人员应该意识到,虽然训练数据旨在兼顾广度和质量,但模型可能仍会生成不准确或有问题的内容,因此需要进行训练后保护措施,例如审核工具或针对特定应用的自定义过滤器。