什么是大模型微调?微调的分类、方法、和步骤

使用大型语言模型进行监督微调(SFT)从想法到实现的工作过程中理解SFT的工作原理... 监督微调(SFT)是LLM对齐过程中的第一步训练。实际上,它非常简单。首先,我们需要整理一组高质量的LLM输出数据集 ——这些基本上只是LLM正确行为的示例;请参见下文。然后,我们直接在这些示例上对模型进行微调。这里,“监督”微调的方面来自于我们正在收集一个模型应该模仿的示例数据集。然后,在微调过程中,模型学习复制这些示例的风格。**与下一个标记预测的关系。**有趣的是,SFT与语言模型预训练并没有太大的区别 -预训练和SFT都使用下一个标记预测作为它们的基本训练目标! 阅读详情

在这里插入图片描述

2023年,大模型成为了重要话题,每个行业都在探索大模型的应用落地,以及其能够如何帮助到企业自身。尽管微软、OpenAI、百度等公司已经在创建并迭代大模型并探索更多的应用,对于大部分企业来说,都没有足够的成本来创建独特的基础模型(Foundation Model):数以百亿计的数据以及超级算力资源使得基础模型成为一些头部企业的“特权”。

然而,无法自己创建基础模型,并不代表着大模型无法为大部分公司所用:在大量基础模型的开源分享之后,企业可以使用微调(Fine tuning)的方法,训练出适合自己行业和独特用例的大模型以及应用。

本文即将讨论大模型微调的定义,重要性,常见方法,流程等。

什么是大模型微调?

大模型微调(Fine-tuning)是指在已经预训练好的大型语言模型基础上,使用特定的数据集进行进一步的训练,以使模型适应特定任务或领域。

其根本原理在于,机器学习模型只能够代表它所接收到的数据集的逻辑和理解,而对于其没有获得的数据样本,其并不能很好地识别/理解,且对于大模型而言,也无法很好地回答特定场景下的问题。

例如,一个通用大模型涵盖了许多语言信息,并能够进行流畅的对话。但是如果需要医药方面能够很好地回答患者问题的应用,就需要为这个通用大模型提供很多新的数据以供学习和理解。例如,布洛芬到底能否和感冒药同时吃?为了确定模型可以回答正确,我们就需要对基础模型进行微调。

为什么大模型需要微调?

预训练模型(Pre-trained Model),或者说基础模型(Foundation Model),已经可以完成很多任务,比如回答问题、总结数据、编写代码等。但是,并没有一个模型可以解决所有的问题,尤其是行业内的专业问答、关于某个组织自身的信息等,是通用大模型所无法触及的。在这种情况下,就需要使用特定的数据集,对合适的基础模型进行微调,以完成特定的任务、回答特定的问题等。在这种情况下,微调就成了重要的手段。

大模型微调的两个主要方法

我们已经讨论了微调的定义和重要性,下面我们介绍一下两个主要的微调方法。根据微调对整个预训练模型的调整程度,微调可以分为全微调和重用两个方法:

1. 全微调(Full Fine-tuning)
全微调是指对整个预训练模型进行微调,包括所有的模型参数。在这种方法中,预训练模型的所有层和参数都会被更新和优化,以适应目标任务的需求。这种微调方法通常适用于任务和预训练模型之间存在较大差异的情况,或者任务需要模型具有高度灵活性和自适应能力的情况。Full Fine-tuning需要较大的计算资源和时间,但可以获得更好的性能。

2. 部分微调(Repurposing)
部分微调是指在微调过程中只更新模型的顶层或少数几层,而保持预训练模型的底层参数不变。这种方法的目的是在保留预训练模型的通用知识的同时,通过微调顶层来适应特定任务。Repurposing通常适用于目标任务与预训练模型之间有一定相似性的情况,或者任务数据集较小的情况。由于只更新少数层,Repurposing相对于Full Fine-tuning需要较少的计算资源和时间,但在某些情况下性能可能会有所降低。

选择Full Fine-tuning还是Repurposing取决于任务的特点和可用的资源。如果任务与预训练模型之间存在较大差异,或者需要模型具有高度自适应能力,那么Full Fine-tuning可能更适合。如果任务与预训练模型相似性较高,或者资源有限,那么Repurposing可能更合适。在实际应用中,根据任务需求和实验结果,可以选择适当的微调方法来获得最佳的性能。

大模型微调的两个主要类型

同时,根据微调使用的数据集的类型,大模型微调还可以分为监督微调和无监督微调两种:

1. 监督微调(Supervised Fine-tuning)
监督微调是指在进行微调时使用有标签的训练数据集。这些标签提供了模型在微调过程中的目标输出。在监督微调中,通常使用带有标签的任务特定数据集,例如分类任务的数据集,其中每个样本都有一个与之关联的标签。通过使用这些标签来指导模型的微调,可以使模型更好地适应特定任务。

2. 无监督微调(Unsupervised Fine-tuning)
无监督微调是指在进行微调时使用无标签的训练数据集。这意味着在微调过程中,模型只能利用输入数据本身的信息,而没有明确的目标输出。这些方法通过学习数据的内在结构或生成数据来进行微调,以提取有用的特征或改进模型的表示能力。

监督微调通常在有标签的任务特定数据集上进行,因此可以直接优化模型的性能。无监督微调则更侧重于利用无标签数据的特征学习和表示学习,以提取更有用的特征表示或改进模型的泛化能力。这两种微调方法可以单独使用,也可以结合使用,具体取决于任务和可用数据的性质和数量。

大模型微调的主要步骤

大模型微调如上文所述有很多方法,并且对于每种方法都会有不同的微调流程、方式、准备工作和周期。然而大部分的大模型微调,都有以下几个主要步骤,并需要做相关的准备:

1. 准备数据集:收集和准备与目标任务相关的训练数据集。确保数据集质量和标注准确性,并进行必要的数据清洗和预处理。
2. 选择预训练模型/基础模型:根据目标任务的性质和数据集的特点,选择适合的预训练模型。
3. 设定微调策略:根据任务需求和可用资源,选择适当的微调策略。考虑是进行全微调还是部分微调,以及微调的层级和范围。
4. 设置超参数:确定微调过程中的超参数,如学习率、批量大小、训练轮数等。这些超参数的选择对微调的性能和收敛速度有重要影响。
5. 初始化模型参数:根据预训练模型的权重,初始化微调模型的参数。对于全微调,所有模型参数都会被随机初始化;对于部分微调,只有顶层或少数层的参数会被随机初始化。
6. 进行微调训练:使用准备好的数据集和微调策略,对模型进行训练。在训练过程中,根据设定的超参数和优化算法,逐渐调整模型参数以最小化损失函数。
7. 模型评估和调优:在训练过程中,使用验证集对模型进行定期评估,并根据评估结果调整超参数或微调策略。这有助于提高模型的性能和泛化能力。
8. 测试模型性能:在微调完成后,使用测试集对最终的微调模型进行评估,以获得最终的性能指标。这有助于评估模型在实际应用中的表现。
9. 模型部署和应用:将微调完成的模型部署到实际应用中,并进行进一步的优化和调整,以满足实际需求。

这些步骤提供了一个一般性的大模型微调流程,但具体的步骤和细节可能会因任务和需求的不同而有所变化。根据具体情况,可以进行适当的调整和优化。

【自然语言处理】微调 Fine-Tuning 各种经典方法的概念汇总 (1)一些概念源自LLM(Chatgpt)和网络(百度/知乎等),笔者进行了初步检查。(2)由于其中的各种知识比较琐碎,为了形成较为结构化的知识体系,且使用最简单的、几乎无公式的介绍,故作此博客。(3)着重为自然语言处理领域NLP的,CV领域的不是很详细讲述了【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总(4)比较简单或者过于的概念就不介绍了,默认大家都学会了。不然要写的太多了。比如损失,损失函数,神经网络几个概念,不认识的话单独先去学一下。 阅读详情

相关推荐

一文说清楚什么是预训练(Pre-Training)、微调(Fine-Tuning)

原创 AI取经路AI取经路2025年02月19日 20:09山西-正文-预训练和微调是现代AI模型的核心技术,通过两者的结合,机器能够在处理复杂任务时表现得更为高效和精准。预训练为模型提供了广泛的语言能力,而微调则确保了模型能够根据特定任务进行细化和优化。1. 什么是预训练?1.1 预训练的关键点1.2 通俗类比2. 什么是微调?2.1 微调中的关键点2.2 通俗类比3. 预训练与微调的区别4. 总结-- 领取学习资料大礼包,见文末。

具身机器人和通用AI 1806

什么是SFT(监督微调,Supervised Fine-Tuning)

定义训练过程,包括损失函数、优化器和训练步骤。

keyboard专栏 4万+

从零开始大模型开发与微调:MNIST数据集的准备

从零开始大模型开发与微调:MNIST数据集的准备 关键词: 大模型开发 微调策略 MNIST数据集 Python编程 PyTorch框架 1

AI天才研究院 777

【万字详解】SFT 是什么?大模型SFT(监督微调)该怎么做(经验技巧+分析思路)

不用担心会破坏模型效果,毕竟 prompt 根本不算 loss,这么做的目的是适应线上用户的糟糕表达,没有一个用户会希望听到“不是我们的模型不行,而是你 prompt 写的不行”这种观点(我试了一圈,糟糕 prompt 的理解能力,感觉国内模型和 GPT4 的差距挺大的)。还是那句话,sft数据要的是质不是量。我前面提到过,实际工作中,出于耗时的考虑,可能不会用cot来训模型,但是数据生产的时候,为了保证回复质量还是应该让 GPT4用cot的方式进行回复,我们在训自己的模型的时候,省去cot 环节即可。

javatiange的博客 6871

深度学习-44-大模型预训练的数据预处理及大模型的分类

影响大模型质量的原因除了机器学习模型(模型的架构)的之外,更重要的一点就是大模型的训练数据。从某些方面来说,训练数据的质量直接决定大模型的好坏。

qq_20466211的博客 640

半导体领域知识 - 初级入门

半导体领域知识 - 初级入门 知识问答 1. 一个晶圆上根据芯片的大小,可以生产几百、几千、几万个芯片。如下图: 2. 8寸晶圆指的是什么?5nm工艺指的是什么? 8寸晶圆指的是直径为175mm(17.5cm)的晶圆,下面是6/812/18寸晶圆的尺寸以及相关发展历程。目前拥有12寸线的厂商只有5家,一个12寸晶圆厂的成本需要上百亿美金。 5nm工艺指的是在一个具体的芯片上,有很多微型结构(千万、亿级别的晶体管),这些核心基本单元MOS管的栅极宽度尺寸来衡量工艺的精细程度,如果是5nm就被称为5nm工艺

Hello World! 2万+

总结!大模型微调(Tuning)的常见方法

微调是指调整大型语言模型(LLM)的参数以适应特定任务的过程。这是通过在与任务相关的数据集上训练模型来完成的。所需的微调量取决于任务的复杂性和数据集的大小。在深度学习中,微调是一种重要的技术,用于改进预训练模型的性能。除了微调ChatGPT之外,还有许多其他预训练模型可以进行微调。前排提示,文末有大模型AGI-优快云独家资料包哦!大模型微调如上文所述有很多方法,并且对于每种方法都会有不同的微调流程、方式、准备工作和周期。

大模型工程师老蓝的博客 1085

TCS34725颜色识别模块实战调校:从“一坨”例程到精准RGB

本文针对TCS34725颜色识别模块初始数据不准的问题,提供了从基础例程到精准调校的实战指南。核心在于通过白光校正与黑白光校正两种方法,补偿传感器偏差与环境光影响,将原始数据准确映射为标准RGB值。文章详细阐述了校准原理、操作步骤与代码实现,并分享了进阶调试技巧与避坑指南,帮助开发者显著提升颜色识别的准确性与项目可靠性。

weixin_29188043的博客 289

一文带你看懂大模型微调

微调是指调整大型语言模型(LLM)的参数以适应特定任务的过程。这是通过在与任务相关的数据集上训练模型来完成的。所需的微调量取决于任务的复杂性和数据集的大小。在深度学习中,微调是一种重要的技术,用于改进预训练模型的性能。除了微调ChatGPT之外,还有许多其他预训练模型可以进行微调。大模型微调如上文所述有很多方法,并且对于每种方法都会有不同的微调流程、方式、准备工作和周期。

Python栈 850

大模型部署指南:SGLang 框架

本文介绍使用 SGLang 框架部署大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1613

数据库系统工程师软考备战:第三篇 - SQL语言深入解析与应用

​​创建表​​​修改表​​​删除表​。

Programming Talk 122

大模型微调技术全解析:原理、分类、实践与案例

python大模型微调的核心是“以小数据撬动大模型潜力”策略选择:数据少选 “冻结层” 或 “特征提取”,数据多选 “全微调”;任务适配:监督任务注重标签质量,无监督任务需设计合理的自监督目标;未来趋势:结合参数高效微调(如 LoRA、QLoRA),进一步降低计算成本,推动大模型在边缘设备落地。掌握微调技术,就能让通用大模型成为你的 “专属助手”—— 从文本到图像,从分析到生成,无限拓展 AI 应用的边界!扩展阅读HuggingFace 官方微调教程;

m0_71359648的博客 2233

“华为杯“第十四届中国研究生数学建模竞赛-E题:多波次导弹发射中的规划问题(续)(附MATLAB代码实现)

将最长暴露时间的发射装置按照“优先隐蔽于转载地”,即增加该种发射装置的隐蔽时长,从而达到缩短最长暴露时间的目的。8.2 模型建立。

getusushu的博客 299

从基础到精通:构建并微调大型语言模型以实现分类任务

尝试微调第一个输出 token。注意与微调最后一个输出 token 相比,预测性能的变化。

2401_85390073的博客 3727

YOLO11实战优化:长尾分布解决 | 引入Seesaw Loss配合YOLO11分类头,完美应对类别极其不平衡的现实业务场景

摘要: YOLO11在工业缺陷检测等长尾分布场景中面临尾部类别检测失效的问题,根源在于头部类别样本的负样本梯度压制了尾部类别的学习。传统方法如重采样、Focal Loss等效果有限。Seesaw Loss通过动态调整缓解因子和补偿因子,平衡类别间的梯度分布,结合YOLO11的解耦分类头、Anchor-Free设计和C2PSA/C3K2模块,显著提升尾部类别识别能力。文章详细解析了Seesaw Loss的数学原理,并提供了可直接集成到YOLO11的PyTorch实现代码,为长尾分布下的目标检测提供了实用解决方

2601_95807009的博客 254

用 OData V2 元数据驱动表格体验:SAP UI5 Smart Table 全面解析

摘要: Smart Table是SAPUI5中基于OData元数据自动生成表格的控件,支持个性化、排序、过滤等高级功能。文章从九个维度深入解析其工作机制:1)通过元数据和注解自动生成列;2)支持多种表格类型;3)关键属性的静态化特性;4)与其他智能控件的协同;5)导航属性和导出的处理;6)响应式设计;7)个性化配置;8)性能优化策略;9)端到端实现案例。Smart Table通过读取OData元数据自动完成表格渲染,大幅减少开发工作量,特别适合企业级应用开发场景。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 322

从零开始构建GPT风格的LLM分类器 微调GPT模型进行垃圾邮件分类

在这篇文章中,我想向您展示如何将预训练的大型语言模型(LLM)转变为强大的文本分类器。

2401_85379281的博客 1275

[VT虚拟化驱动]正式启动VT

文章目录前言一、vmlaunch正式开始虚拟化二、使用步骤1.引入库2.读入数据总结 前言 本章开始真正实现一个最简单的VT框架,当然,只是能跑起来一个VT驱动了,没有并包括EPT,EPT后面再讲 提示:以下是本篇文章正文内容,下面案例可供参考 一、vmlaunch正式开始虚拟化 执行VMLAUNCH指令执行后,就正式进入虚拟化了,再该指令执行之前,得先保存Guest当前的环境,执行完VMLAUNCH后,要恢复Guest的环境,让Guest就像什么都没发生一样,所以需要保存和恢复Guest的各种寄存器的值

吾无法无天的博客 3663

大模型微调基本概念指北

大模型微调,通常指有监督微调(Supervised Fine-Tuning, SFT),是在预训练模型(一般称为“基座模型”)的基础上进行的训练过程。预训练模型通常已经掌握了广泛的语言知识和语义表示,但为了让模型在特定任务或领域上表现得更好,我们会在特定任务的数据集上对其进行微调。1)Language Model,LM:一个预训练语言模型 LM,对基础模型微调得到一个微调后的模型使用人工标注的数据对预训练模型进行监督微调,以获得初始版本的生成模型。2)

探索云原生 1640

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

AI大模型微调基本概念指北(附教程)

本文主要分享一下大模型微调相关的基本概念,包括大模型(GPT)训练流程、微调(SFT)方法&分类&框架&最佳实践、强化学习(RLHF),最后则是分享了如何训练垂直领域大模型。

AAI666666的博客 1103

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大模型微调技术总结及使用GPU对VisualGLM-6B进行高效微调

在深度学习中,微调(Fine-tuning)是一种重要的技术,用于改进预训练模型的性能。在预训练模型的基础上,针对特定任务(如文本分类、机器翻译、情感分析等),使用相对较小的有监督数据集对模型进行进一步训练的过程。预训练模型学习到了语言的一般规律,如语法、语义等知识,通过微调,模型可以利用预训练过程中学习到的知识,并结合特定任务的数据,在该任务上达到更好的准确率、召回率等性能指标。

小拉拉的博客 2010

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

大模型微调技术详细介绍

解决输入长度限制问题:在某些大模型的实现中,对输入序列长度有限制,使用提示工程(prompt engineering)的方式可能会使提示变得很长,增加推理成本(通常与提示长度的平方正相关),且过长的提示可能会因超过限制而被截断,影响模型输出质量,微调则是一个更优的解决方案。- 全量微调(Full Finetuning,FFT):用特定的数据对大模型进行训练,更新模型的全部参数,使模型在特定数据领域的表现更好,但训练成本较高,且可能出现灾难性遗忘问题,即可能会把原来在其他领域表现好的能力变差。

alankuo的专栏 630

大模型微调学习笔记(基于讯飞星辰MaaS速学版)

大模型微调学习笔记(基于讯飞星辰MaaS速学版)

缘友一世的博客 1298

Qwen2大模型微调入门实战(完整代码)

是通义千问团队的开源大语言模型,由阿里云通义实验室研发。以Qwen2作为基座大模型,通过指令微调的方式实现高准确率的文本分类,是学习的入门任务。指令微调是一种通过在由(指令,输出)对组成的数据集上进一步训练LLMs的过程。其中,指令代表模型的人类指令,输出代表遵循指令的期望输出。这个过程有助于弥合LLMs的下一个词预测目标与用户让LLMs遵循人类指令的目标之间的差距。在这个任务中我们会使用模型在数据集上进行指令微调任务,同时使用SwanLab进行监控和可视化。本教程参考了。

python12345_的博客 862
上一篇: Linux命令—用到什么记录什么!!!!!随时补充
下一篇: 用检索增强生成让大模型更强大,这里有个手把手的Python实现
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

123我是木头人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值