引言

在人工智能领域,大模型(如GPT、BERT等)已经取得了令人瞩目的成果。它们通过海量数据的预训练,能够在多个任务上展现出超乎寻常的能力。然而,这些模型并不是“万能”的,如何让它们更好地适应特定任务、实现更高效的应用,成为了一个关键问题。

这时,监督微调(Supervised Fine-Tuning,SFT) 技术应运而生。SFT通过在特定领域或任务上对大模型进行进一步训练,使得模型能够在这些任务上达到更高的表现。简单来说,SFT就是用标注数据对已经“懂很多”的大模型再“教一遍”,让它在处理具体问题时更有针对性、更精准。

无论你是AI开发者,还是对自然语言处理、计算机视觉等领域感兴趣的读者,了解SFT技术将帮助你更好地理解如何最大化大模型的应用潜力。

基础概念篇

在进入后续内容之前,先向大家阐述一些 SFT 的基础概念,这有助于新解除AI领域的小伙伴能更好地把握后续知识要点。而对这些基础知识已经了然于胸的资深研发人员,则可忽略这一部分内容。

下面仅是对未来可能出现的概念进行一个简要的解释,详细内容会在后续实际使用中重点讲解。

常见概念解释

  • Token: 在 NLP 中,一个“token”可以是一个词、一个字或一个标点符号。例如,对于一个句子:“SFT 会使 LLM 变得更强大!” 分词后可能会得到如下的tokens:“SFT”,“会使”,“LLM”,“变得”,“更”,“强大”,“!”

  • Special Token: 指那些具有特定意义或用途的token。与普通的token(如单词、子词或字符)不同,Special Token 通常用于标记某些特殊的文本结构、任务或功能,比如句子的开始、结束,或是特定的任务指令。假设我们有这样一个句子:“SFT 会使 LLM 变得更强大!”

    我们可能会将其格式化为:[CLS] SFT 会使 LLM 变得更强大! [SEP]

  • [CLS] 作为特殊token,标记了句子的开始,表示这是一个分类任务的输入。

  • [SEP] 用于分隔句子或段落(有时用于表示句子的结束或不同任务的分隔)。

  • Prediction: 预测是指根据模型的当前输入,猜测接下来应该出现的token是什么。

  • Loss: 损失函数(这里一般指 交叉熵损失函数:Cross-Entropy Loss)。一个衡量模型输出(预测值)与实际标签(真实答案)之间差距的指标。在监督学习中,我们希望模型的预测接近真实标签,因此交叉熵越小,表示模型的表现越好。

  • Base Model: 基座模型。一个已经经过大规模预训练的模型,通常这个模型是一个非常通用的模型,能够处理各种自然语言处理任务。Qwen,DeepSeek,GPT,llama等等。

  • Overfitting: 过拟合。假设你正在训练一个情感分析模型,任务是根据电影评论文本判断评论是积极还是消极。你的模型在训练集上的表现越来越好,几乎达到了100%的准确率。然而,当你把模型应用到一个新的数据集时(比如一个新的电影评论集合),它的表现非常差。

  • Underfitting: 欠拟合。假设你正在训练一个同样是情感分析的模型,你使用的是一个非常简单的线性回归模型。你的模型在训练集上和测试集上的表现都不好,准确率始终较低。

SFT介绍

目前主流大模型从0开始的训练流程是:预训练(pretrain) -> 监督微调(SFT) -> 强化学习,从而达到人类偏好对齐的目标。对于小于10B的模型、小规模数据的情况下,一般不会做 pretrain 任务,而是选择基于一个base版本的模型执行 SFT 和强化学习。

  • Pretrain: 在特定任务训练之前,先对模型进行一个通用的、广泛的数据训练,使其学习到通用的特征和表示。在预训练过程中,模型通常不会针对特定任务进行优化,而是通过海量数据学习语言、视觉等基本的模式和规律。

  • SFT: SFT 指的是利用带标签的输入输出对对预训练的模型进行微调。目标是通过最小化模型预测与真实标签之间的误差来提高模型的性能。

  • 示例: 假设你有一个预训练的语言模型,它已经通过大量文本数据进行过预训练。现在,你希望它能更好地完成“情感分类”任务,即判断一段评论是“积极”还是“消极”。你会提供一个包含已标注情感标签的评论数据集(例如:“我喜欢这本书”标注为“积极”,“这本书很差”标注为“消极”)。模型通过比较自己的预测(例如“积极”)和真实标签(例如“积极”)的差异,进行调整,以便下次可以更准确地分类评论。

  • RLHF: RLHF 是通过人类反馈来优化模型行为的一种方法。模型的训练目标并不是基于直接的标签数据,而是根据人类对模型输出的评估和奖励信号进行训练。

  • 示例: 假设你有一个对话模型,目标是让它更好地与人类进行有意义的对话。你先通过一个初步的 SFT 过程训练模型,使其能够理解基本的对话。然后,你使用 RLHF 来进一步优化它。在一个对话场景中,模型可能给出了一个回答(例如,“我喜欢吃苹果”)。人类评估员根据回答的质量(是否自然、是否符合上下文)给出奖励信号(比如:1分,2分,3分)。模型根据这些奖励信号,调整其生成回答的策略,以提高回答质量,从而更好地满足人类的期望。

  • Pretrain 与 SFT 二者间关系: 首先,SFT 和 Pretrain 在训练方式上没有任何区别,主要区别在于数据的组成形式上:

    (1)在预训练(pretrain)阶段,每条数据都是完整的 4K 或 8K 长度,而在监督微调(SFT)阶段,数据则保持其原始长度,即原本多长就多长。

    (2)SFT 过程中会引入在预训练阶段未曾出现过的特殊标记(special_token),目的是让模型能够学习全新的语义信息。

    (3)SFT 会向模型展示至关重要的结束标记(eos_token),而预训练模型由于未接触过该标记,从而无法在生成文本时适时停止。

    (4)通过特殊标记(special_token)的运用,SFT能够将语料划分为不同的角色,其中标准配置包括系统(system)、用户(user)、助手(assistant)等角色,此外,根据具体的业务需求,还可以设置 “背景” “旁白” “事件” 等多种角色。

    (5)在 SFT 中,通常不对 prompt 计算 loss,但这并不意味着它无法计算 loss。之所以不计算,主要是因为 prompt 存在较为严重的同质化(prompt类似)问题。若不设置 loss_mask,模型会反复学习相同的内容。然而,如果你能确保每条 prompt 都是独一无二的,那么就可以省去 prompt 的 loss_mask 环节。另外,对于 session 数据,需要明确是计算每个 answer 的 loss,还是仅计算最后一轮 answer 的 loss。

  • SFT 与 RLHF 二者间关系: 通常,SFT是在初步阶段进行的,帮助模型了解基本的任务结构和行为规则。完成 SFT 后,RLHF可以用来进一步调整模型,以更好地满足人类期望和任务需求。当然具体的强化学习算法如PPO,DPO。本文主要讲述 SFT 相关工作,后续可能会涉及强化学习知识讲解。如果想提前了解这两个算法,可以参考以下两篇论文。

    (1)PPO:https://arxiv.org/pdf/1707.06347

    (2)DPO:https://arxiv.org/pdf/2305.18290

PS: 我们只是轻轻揭开了SFT微调模型神秘面纱的一角,向大家展示了它最基础的知识框架。但这仅仅是探索之旅的开端,接下来的旅程将更加精彩纷呈。我们会深入到微调工作的核心领域——“数据”的构建,这可是重中之重的关键环节。

下一篇的名字:大模型监督微调术SFT:开启AI应用新境界的独家秘方|数据篇(2)

如果你找到了这篇文章,那么恭喜你!如果你没找到,那么大概率是我还没写完(快过年了无心上班学习,Holidays, I’m coming)。。。

零基础入门AI大模型

今天贴心为大家准备好了一系列AI大模型资源,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

有需要的小伙伴,可以点击下方链接免费领取【保证100%免费

点击领取 《AI大模型&人工智能&入门进阶学习资源包》

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

5.免费获取

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码或者点击以下链接都可以免费领取【保证100%免费】

点击领取 《AI大模型&人工智能&入门进阶学习资源包》

在这里插入图片描述

本文转自 https://mp.weixin.qq.com/s/_TNvt4mi-S1VSgX5HrMeNQ,如有侵权,请联系删除。

Logo

更多推荐