第十二天:预训练(pre-training)

205 阅读2分钟

如何快速掌握一个行业?100个关键词就够了,跟我来一起学习吧:一天一个关键词-AIGC-100天

预训练(Pre-training)是一种在人工智能和机器学习领域常用的技术,特别是在深度学习模型的训练过程中。这种方法包括两个主要阶段:

  1. 预训练阶段:在这个阶段,模型在一个大规模的数据集上进行训练,这个数据集通常包含了广泛的信息和多样的样本。这个阶段的目的是让模型学习到一般性的特征、模式和知识,这些知识是跨领域的,不特定于某一具体任务。
  2. 微调阶段(Fine-tuning):在预训练之后,模型会在一个更小且特定任务相关的数据集上进行再训练。这个阶段的目的是使模型适应特定的任务,通过利用预训练中学到的知识来提高性能。

预训练的优势在于它允许模型先在广泛的数据上学习通用知识,然后再对特定任务进行优化。这种方法在自然语言处理(NLP)、计算机视觉等领域非常流行,并已被证明在许多任务中都非常有效。例如,BERT、GPT 系列等模型就是通过这种预训练和微调的方法训练出来的

在预训练阶段,模型通过学习大量的数据来提取特征、理解语义和推理能力,从而对通识知识,代码知识获得一般性认识。质量较高的预训练数据可以增强模型的泛化能力,减少在后续特定任务上的训练调优时间和资源消耗。

  • 预训练是一种无监督学习方式,是指使用随机文本片段在大规模数据集上对神经网络模型进行初始训练,以便模型能够学习广泛的特征和知识。
  • 预训练使用的训练数据格式,「只有输出」,没有输入的标签。大模型使用大量这种没有标记的训练数据来自己学习数据中的规律(中英文语法,代码语法,通识知识等

预训练适合什么场景?

  • 从 0 开始训练一个新的通用大模型。
  • 基座大模型 LLaMA2 中文数据非常少,只占 0.13%,有必要使用更多比例中文数据继续预训练使大模型学会中文表达。
  • 基座大模型 LLaMA2  模型代码内容的占比同样也不高(4%),使用预训练添加更多比例的代码数据,强化大模型代码能力(Code LLaMA代码模型)
  • 出了一门新的编程语言,为了让模型能够学到最新的编程语言结构,可以考虑预训练。