术语解释

Thu Jun 05 2025 · 5min

模型的 xxB 表示什么

模型大小中的“B”通常表示十亿(Billion)。 当讨论大型语言模型(LLM)或其他大型AI模型时,例如说一个模型是“7B”或“175B”,这里的“B”指的是模型中参数(Parameters)的数量。

所以:

7B 模型 表示该模型拥有大约 70亿 个参数。 175B 模型 表示该模型拥有大约 1750亿 个参数。

什么是参数?

在神经网络(AI模型的基础)中,参数是模型在训练过程中学习到的数值。可以把它们想象成模型内部的“旋钮”或“权重”。这些参数决定了模型如何处理输入数据并产生输出。

输入数据(例如,你输入的文本)会经过模型的多层神经元。 在每一层,数据会与这些参数进行数学运算。 通过调整这些参数的值(这个过程就是“训练”),模型学习如何执行特定任务,比如理解语言、生成文本、翻译等。 为什么参数数量很重要?

模型容量和能力: 一般来说,参数越多的模型,其“容量”就越大,意味着它有潜力学习更复杂的信息和模式,从而在各种任务上表现得更好,能够处理更细致的差别和更广泛的知识。 复杂性: 参数数量是衡量模型复杂性的一个关键指标。 资源需求: 参数越多的模型,通常需要更多的计算资源(如强大的GPU)进行训练和推理(即运行模型生成结果),也需要更多的存储空间。 数据需求: 更大的模型通常也需要更多的数据来进行有效的训练,以避免过拟合(即模型只记住了训练数据,但在新数据上表现不佳)。

zero-shot one-shot few-shot

zero-shot 就是没例子 one-shot 就是上下文举一个例子 few-shot 就是在上下文举几个例子

什么是模型的泛化能力

在机器学习和人工智能领域,模型的泛化能力 (Generalization Ability) 指的是一个训练好的模型在**未见过的新数据(即非训练数据)**上表现良好的能力。

简单来说,一个具有良好泛化能力模型具备以下特点:

  1. 不仅仅是记住训练数据: 它不是死记硬背训练数据中的模式和噪声,而是学习到了数据中潜在的、普适的规律和特征。
  2. 在新数据上表现稳定: 当输入全新的、模型在训练过程中从未见过的数据时,它仍然能够做出准确的预测或合理的判断。
  3. 避免过拟合 (Overfitting): 过拟合是指模型在训练数据上表现极好,但在新数据上表现很差。这通常是因为模型过于复杂,学习了训练数据中的噪声和特有模式,而不是普适规律。泛化能力强的模型能够有效避免过拟合。
  4. 避免欠拟合 (Underfitting): 欠拟合是指模型过于简单,未能充分学习到训练数据中的规律,因此在训练数据和新数据上表现都不好。虽然泛化能力主要关注在新数据上的表现,但一个好的泛化模型首先需要在训练数据上达到一定的性能。

为什么泛化能力如此重要?

训练模型的最终目的是将其应用于实际场景中,处理真实世界中不断出现的、全新的数据。如果一个模型只在它见过的训练数据上表现好,那么它在实际应用中就没有价值。

举个例子:

假设我们训练一个模型来识别图片中的猫。

  • 训练数据: 我们给模型看了10000张不同猫的图片。
  • 泛化能力差的模型(过拟合): 这个模型可能只是记住了这10000张图片中猫的具体特征,比如某只猫的特定斑点、特定姿势。当给它一张全新的、它从未见过的猫的图片时(比如一只不同品种、不同颜色的猫,或者处于不同背景下的猫),它可能就无法识别出来。
  • 泛化能力好的模型: 这个模型通过学习10000张图片,理解了猫的更本质、更普适的特征,比如猫的轮廓、耳朵的形状、眼睛的特点等,而不仅仅是训练样本中的具体细节。因此,当它看到一张全新的猫的图片时,即使这张图片与训练样本有很大差异,它也能凭借学到的普适规律成功识别出这是一只猫。

如何评估和提升模型的泛化能力?

  • 测试集 (Test Set): 在模型训练完成后,使用一个独立的、模型从未见过的测试集来评估其性能。测试集上的表现是衡量泛化能力的关键指标。
  • 验证集 (Validation Set): 在训练过程中,使用验证集来调整模型的超参数(如学习率、网络层数等),并监控模型是否开始过拟合。
  • 正则化 (Regularization): 如 L1/L2 正则化、Dropout 等技术,可以帮助防止模型变得过于复杂,从而提高泛化能力。
  • 数据增强 (Data Augmentation): 通过对现有训练数据进行一些变换(如旋转、裁剪、改变颜色等)来增加训练数据的多样性,帮助模型学习到更鲁棒的特征。
  • 交叉验证 (Cross-Validation): 一种更稳健的评估模型性能和泛化能力的方法,它将数据多次划分为训练集和验证集进行评估。
  • 选择合适的模型复杂度: 模型不是越复杂越好,需要根据数据量和问题复杂度选择合适的模型。

总之,模型的泛化能力是衡量一个机器学习模型实用价值的核心标准。一个好的模型不仅要在训练数据上表现出色,更重要的是要在新的、未知的数据上依然能够做出准确有效的判断。

上下文长度 是什么

指的是模型在一次处理或生成文本时能够有效理解和利用的文本输入的最大数量。

这个长度通常以 “tokens” 来衡量。Token 是文本被分解成的基本单位,可以是一个词、一个子词(subword,比如 "unbelievable" 可能被分解为 "un", "believe", "able"),甚至是一个字符。不同的模型有不同的分词(tokenization)方法。

如何扩展模型的上下文长度

大模型的训练过程

训练一般经过三个阶段:

  • Pre-Training:在大数据集上进行初步训练,以学习通用知识,最终得到基座大模型。
  • Continue Pre-Training:在此基础上进一步训练模型,使用未标注的领域相关数据,以适应特定任务或领域的需求,最终得到领域垂直模型。
  • Post-Training:对已经预训练的模型进行精细调整,使用标注的数据以优化模型在特定任务上的性能,最终获得指令对齐微调模型。

什么是 SFT,监督微调

在模型训练中,SFT (Supervised Fine-Tuning,监督微调) 的主要作用是教会预训练模型如何遵循指令、以特定格式回答问题或执行特定类型的下游任务。

简单来说,SFT 扮演着以下关键角色:

  1. 对齐 (Alignment): 原始的预训练模型(如 GPT、LLaMA)主要是通过预测下一个词来学习语言的通用模式和知识。SFT 通过在一个包含“指令-回答”对(或“输入-期望输出”对)的数据集上进行训练,使模型学会理解并响应人类的指令。它将模型的“能力”对齐到人类期望的“行为”上。
  2. 特定任务适应: SFT 可以使预训练模型适应特定的下游任务,例如文本摘要、翻译、问答、代码生成、情感分析等。通过提供该任务相关的有监督数据,模型可以学习如何更好地完成这些特定任务。
  3. 格式控制: SFT 可以训练模型以特定的格式生成输出,例如,以JSON格式回答问题,或者以特定的对话风格进行交流。
  4. 提升可控性和有用性: 经过 SFT 的模型通常更容易控制,并且其输出对于用户来说更有用,因为它更倾向于直接回答问题或完成指令,而不是仅仅生成相关的文本。

核心思想:

SFT 使用的是一个有标签的数据集,其中每个样本都包含一个输入(通常是一个指令或问题)和一个期望的、高质量的输出(由人类编写或审核的答案)。模型在这些样本上进行训练,学习从给定的输入映射到期望的输出。

与预训练的区别:

  • 预训练 (Pre-training): 通常在海量的无标签文本数据上进行,目标是让模型学习语言的通用表示和世界知识。
  • 监督微调 (SFT): 在规模相对较小但质量更高的有标签数据上进行,目标是让模型学会如何应用其知识来遵循指令和完成特定任务。

因此,SFT 是将一个通用的预训练模型转变为一个有用、可控且能执行特定任务的模型的关键步骤。它通常是模型开发流程中预训练之后的第一个微调阶段,为后续可能进行的如 RLHF (Reinforcement Learning from Human Feedback) 等更高级的对齐技术打下基础。

embedding模型是什么

Embedding 模型的核心价值在于将现实世界中各种类型的数据转化为计算机能够有效理解和操作的、富有语义信息的低维向量空间表示。 如 word2vec

Leave a comment
点击切换主题
... 人来过