Skip to content
Go back

模型训练(一)——预训练

Edit page

概览

模型训练阶段分为预训练(pre-traing)和后训练(post-training)。预训练的产物是一个基础模型,这个基础模型可以理解为词元自动补全器。只有经过后期训练阶段(Post-training stage),特别是监督式微调(Supervised Fine-Tuning, SFT),基础模型才会学习如何扮演“助手”的角色,去回答问题、遵循指令并与人类进行多轮对话。

预训练是什么?

预训练(Pre-training)的核心目的,是在通用、海量的无标签数据上,让模型学习到关于世界的基础知识、语言的底层规律和初步的推理能力。

什么是无标签数据?

在训练大模型时,预训练阶段的无标签数据是指没有人工标注、分类或提供标准答案的原始数据。具体来说:

  1. 原始文本数据:从互联网上收集的网页内容、书籍、文章、代码等,这些数据本身就是文本,没有额外的标签说明这段文本属于什么类别或应该产生什么输出。
  2. 自然语言序列:模型学习的是文本的连续性模式,比如:
    • “今天天气很好” → 下一个词可能是”适合”
    • “法国的首都是” → 下一个词可能是”巴黎”

虽然数据本身没有标签,但模型通过下一步词元预测任务来学习:

什么是标注数据(有标签数据)

与之相对应的,有标签数据指的是包含明确输入-输出对应关系的数据,通常被称之为”监督数据”或”标注数据”。其中每个输入都有对应的标准答案或期望输出。

  1. 问答对数据

例子:

  1. 指令-回答数据

例子:

  1. 分类标注数据

例子:

  1. 翻译对数据

例子:

  1. 代码-注释数据

例子:

特征标注数据无标签数据
数据来源人工标注、专家制作原始文本、网页内容
获取成本高(需要人工标注)低(直接收集)
数据量相对较少海量
训练目标特定任务优化通用知识学习
使用阶段后训练(微调)预训练

经过预训练的模型学习和输出什么?

通过大量的自然文本,模型可以学习到

这个阶段模型的输出内容大致可以分为三种:

为什么要进行预训练?

  1. 获取世界知识和语言规律
  1. 效率和可扩展性
  1. 涌现能力 当模型的规模(参数量)和训练数据的量级达到某个阈值后,一些没有被明确训练过的复杂能力会“自发地”出现。 通俗来讲就是举一反三的能力。

小结

预训练得到的基础模型像一个刚刚读完了整个互联网图书馆的“博学书呆子”。 你问他“法国的首都是哪里”,他能立刻告诉你“巴黎”,因为书上就是这么写的。它学习了“鸟会飞”和“麻雀是鸟”,就能推断出“麻雀会飞”,即使训练数据里可能没有直接说过“麻雀会飞”这句话。 它知识渊博,阅读了海量的书籍、文章、网页,所以它知道大量的知识,也懂得语法和语言的规律。但它不善交际,它只是被动地吸收了知识,还不知道如何与人进行有来有回的对话,也不知道如何扮演一个“助手”的角色来帮助别人。

它只是一个庞大的知识库,这是模型训练的第一步。 下一步是教给模型如何遵循人类的指令,告诉模型什么样的回答是“好的”(有用的、无害的、诚实的),从而塑造它的价值观和行为模式。这是是模型训练中第二个阶段————后训练中需要解决的事。


Edit page
Share this post on:

Next Post
关于博客的开始