- 数据采集: 我的训练从各种互联网文本开始。 但是,我应该指出,虽然我接受了广泛数据集的培训,但我不知道哪些文档属于该培训集的具体信息,也不知道哪些文档可以访问任何特定文档或来源。
- 初始训练(预训练): 这是我学会预测句子中的下一个单词的地方。 我并没有开始了解英语或任何其他语言。 相反,通过预测数百万个句子中的下一个单词,我逐渐了解了语法、关于世界的事实和一些推理能力。 然而,这也意味着我可能从有偏见或不正确的信息中学到了东西,因为数据没有经过彻底过滤。
- 微调: 初步培训结束后,OpenAI 的创建者通过在人工审核员的帮助下生成的更具体的数据集提供了进一步的指导。 这些审阅者遵循指南来审阅和评估一系列示例输入的可能模型输出。 微调过程是模型和评审者之间的一种对话,可以帮助我更好地符合人类价值观。
- 持续学习: 虽然出于隐私原因我不会从个人交互中学习,但 OpenAI 不断与人类评审团队合作,提供反馈并根据更广泛的模式和见解进行迭代改进。
- 预训练示例: 假设我们有这样的句子:“The cat sat on the __”。 在预训练阶段,像我这样的模型将学习预测句子中的下一个单词,可能是“mat”、“roof”或“tree”。 这是通过处理来自不同互联网文本的数十亿个句子来学习的,在人类创建原始内容时间接涉及人类互动。
- 微调示例: 预训练阶段结束后,模型进入微调阶段。 它的工作原理如下:
人类审阅者的任务是审查输入的可能模型输出,例如“将以下英语文本翻译成法语:'你好,你好吗?'”。 该模型可能会生成多个响应,例如“Bonjour,comment ça va?” 或“致敬,评论vas-tu?” ETC。
审阅者根据准确性、流畅性和适当性等因素对这些回答进行评分。 这些评级有助于模型概括并响应未来的类似输入。
请记住,此处提供的示例经过简化以说明该过程。 实际训练涉及复杂的算法和大量的数据。
- 各种数据: 这不仅与数据量有关,还与数据种类有关。 数据需要多样化,才能涵盖人类语言中的广泛主题、风格和语气。
- 数据质量: 用于训练的数据的质量也会影响模型学习的效率。 更高质量的数据可能会减少有效培训所需的数据量。
- 模型架构: 模型的架构(如神经网络中的层数或参数)也会影响所需的数据量。 较大的模型(例如 GPT-3 或 GPT-4)通常比较小的模型需要更多的数据。
- 培训目标: 模型要执行的任务类型可能会影响所需的数据量。 为特定任务设计的模型如果目标明确,可能需要更少的数据,而像 GPT-3 或 GPT-4 这样的通用模型,旨在处理广泛的任务,则需要更多的数据来获得更广泛的理解。
以 GPT-3 为例,该模型拥有 175 亿个参数,并接受了数百 GB 文本的训练。 但这些数字并没有完全体现出该过程的复杂性。 训练过程的细节,包括使用的确切数据量,是 OpenAI 和类似组织持有的专有细节。
- 从小开始: 特别是对于简单问题或初始模型原型,较小的数据集就足够了。 例如,如果您正在构建基本图像分类器,则可能会从每个类别数百或数千个图像开始。
- 考虑复杂性: 更复杂的问题通常需要更多数据。 如果您正在开发深度学习模型或处理自然语言处理等复杂问题,您可能需要数百万个数据点。
- 质量而不是数量: 高质量的相关数据通常比大量低质量的数据更有益。 确保您的数据得到正确清理、注释并代表您要解决的问题至关重要。
- 平衡你的课程: 对于监督学习任务,请确保每个班级的示例保持良好的平衡。 不平衡的数据集可能会导致模型在代表性不足的类别上表现不佳。
- 使用验证和测试集: 应留出部分数据集用于验证(调整模型参数)和测试(评估模型性能)。 常见的分割可能是 70% 的数据用于训练,15% 用于验证,15% 用于测试,尽管这些比例可能有所不同。
- 实验和迭代: 从初始数据量开始,训练模型,评估其性能,然后迭代添加更多数据,调整模型或根据结果提高数据质量。
请记住,更多的数据通常会提高机器学习模型的性能,但只能在一定程度上提高。 在某一点之后,收集更多数据可能比其价值更耗时、更昂贵,而专注于提高数据质量或完善模型架构可能更有益。
- 预训练: 在此阶段,模型暴露于大量互联网文本数据。 这些数据没有明确注释,但模型经过训练可以预测句子中的下一个单词。 这使模型对语法、世界事实和一些推理能力有一般的理解。
- 微调: 预训练后,模型在人工审阅者的帮助下生成的更窄的数据集上进一步完善。 这些评审员遵循 OpenAI 的指南来评审和评估一系列输入的可能模型输出。 从这个意义上说,微调过程可以被视为一种注释形式,人类审阅者指导模型的响应,帮助其更好地符合人类价值观并确保其避免不适当或不安全的内容。
因此,虽然用于预训练的初始数据集没有按传统意义上进行注释,但微调过程确实涉及一种注释形式,其中人类审阅者通过对不同输出进行评级来指导模型的行为。
正确性: 审阅者评估模型的输出是否确实正确。
示例:
适当性: 评估模型的输出相对于给定输入的适当性。
示例:
安全性: 对输出进行审查,以确保它们不包含有害的指令或攻击性语言。
示例:
完整性: 这评估模型的响应是否完全回答了用户的查询。
示例:
流利: 审阅者检查模型的输出在语言上是否流畅且连贯。
示例:
这些类别只是示例。 实际的微调过程涉及更复杂的评估系统以及评审者和人工智能开发团队之间的持续反馈。 这些注释的目标是使模型的响应更加有用、安全并且符合人类价值观。
ChatGPT 背后的组织 OpenAI 没有公开披露参与微调过程的审阅者的确切数量。 然而,考虑到训练如此大的语言模型的规模和复杂性,可以肯定地说,这个过程可能涉及大量的审阅者团队。
这些人工审核员遵循 OpenAI 提供的指南来审核和评估可能的模型输出。 这是一个连续、迭代的过程,审阅者的反馈用于随着时间的推移改进和完善模型。 OpenAI 与审稿人保持着强大的反馈循环,包括每周召开会议来解决问题并提供澄清。
- 任务的复杂性: 标记图像或对文本进行分类等简单任务在每个 PDF 上花费的时间会更少,从而允许单个注释器处理更多文件。 另一方面,复杂的任务(例如详细的实体提取或语义分析)将需要每个文档更多的时间,因此相同体积的 PDF 需要更多的注释器。
- PDF 的长度和复杂性: 较长或较复杂的 PDF 比较短或较简单的 PDF 需要更多时间进行注释。
- 质量要求: 如果需要高精度,则可能需要每个 PDF 有多个注释器来交叉验证注释。
- 时间限制: 如果需要快速完成标注,就需要更多的标注者。
作为一个假设的示例,假设注释者每天可以为特定任务注释 5 个 PDF,并且每周工作 5 天。 在这种情况下,要注释 10,000 个 PDF,单个注释者需要 2000 天,即大约 8 年。
但是,如果您有一个由 20 名注释者组成的团队,他们可以在大约 5 个月内完成任务(假设每月 20 个工作日)。 如果有 100 名注释者,同样的任务大约可以在一个月内完成。
请记住,这些数字纯粹是说明性的,注释的实际速度将取决于上述因素。 此外,注释者的适当培训和一致的质量控制对于任何大规模注释项目的成功都至关重要。