Fine-tune 的简介

简介: Fine-tune 的简介

微调简介

fine-tune就是在LLM常说的微调的英文。在LLM中要训练一个模型是一个费时、费力、费钱的工作,由于模型规模大、参数多在训练过程中会占用大量的时间和计算资源,尤其是一个复杂任务,想要提升模型的能力,就需要通过大量的数据进行训练这都是需要更多的投入的。那么如果有一个现成的模型,和我们要觉得的问题相似,那么我们就可以通过在这个模型的基础之上通过微调达到我们想要的能力。微调就是在一个预训练的大模型上,使用一些特定领域的数据再次进行训练,从而让预训练模型能够适应特定领域、特定任务。在微调过程中,模型的参数会依据新的数据进行调整,从而可以满足特定领域、特定任务的需求。

那么这个微调也有一些不同的方法,其中全面微调(full fine-tuning)就是在微调过程中全部的模型参数都会有所调整。这也就注定了全面微调对于计算资源的投入、数据规模的要求等都需要更多的支持。全面微调因为调整了全部的参数,很容易引起灾难性遗忘(catastrophic forgetting),灾难性遗忘就是再进行全面的微调以后得到的模型在原始任务上的能力表现非常糟糕,以至于达到了难以接受的下降。

那么参数高效微调(parameter-efficient fine-tuning,简称PEFT)是另外一种微调方法。PEFT在微调过程中只会调整一部分模型参数或者不会修改原来参数而是加上一些新参数,从而降低了对计算投入和数据规模的要求。PEFT 在参数效率、内存效率、训练速度、模型性能和推理成本上都有综合的平衡。PEFT 中分为选择法(selective)、基于重参数法(reparametrization-based)、附加法(additive)。选择法会选择一部分 LLM 的初始参数进行微调,因为再选择的时候,可以选择某些组件、某些参数也可以选择一个参数,因此保持参数效率、内存效率、训练速度、模型性能和推理成本之间的平衡。基于重参数法利用的是低秩矩阵表示来减少可训练参数数量,当前使用较多的是 LoRA(Low-Rank Adaptation),将权重更新做一个低秩矩阵分解,使用大模型适配下游任务时只需要训练少量的参数即可达到一个很好的效果,在 LoRA 中,先冻结预训练模型的权重,然后使用Kronecker乘积重参数化的方法,可以在秩和参数数量间找到更好的平衡。
image.png

附加法包含了Adapt 和soft pormpt,其中Adapt在模型中添加新的可训练层,大部分这个适配器实在 encode、decode 里或者实在attention、反馈层后。soft prompts 主要是通过 prompt tuning在每一次的交互中加一些预置的soft prompt 从而实现优秀的微调。
image.png

目录
相关文章
|
存储 数据库
PACS-诊断报告系统包括哪些内容 ?
PACS是影像归档与通信系统(Picture Archive and Communication System)的英文缩写,是应用在医院信息管理系统的影像信息系统,主要类别包括医学影像成像PACS、医学影像存档与通信系统、医学影像报告工作站、医学影像远程会诊系统。 PACS影像查看工作站是其中的一个子系统,完成对医学影像设备的接入,医学影像的采集、存储、管理、处理、调阅、查看以及诊断报告的书写等功能。
495 1
|
机器学习/深度学习 自然语言处理 Java
RAG VS Fine-Tuning模型微调详解
【11月更文挑战第20天】在深入探讨RAG(Retrieval-Augmented Generation,检索增强生成)与Fine-Tuning(模型微调)这两种技术之前,让我们先回顾一下它们的历史背景和发展脉络。
679 19
|
缓存 固态存储 Java
Elasticsearch 的扩展性和性能调优
【9月更文第2天】Elasticsearch 是一个分布式的搜索和分析引擎,适用于各种大规模数据处理场景。随着数据量的增长和查询复杂度的增加,Elasticsearch 的性能优化变得尤为重要。本文将详细介绍如何通过硬件配置、集群规模调整以及查询优化策略来提升 Elasticsearch 的性能。
703 6
|
计算机视觉 Perl
YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标
YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标
433 0
YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标
|
分布式计算 大数据 Java
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
305 1
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
|
自然语言处理 安全 测试技术
基于大模型的应用的测试的一些注意事项
大模型应用测试需注意三大冲突:时间敏感性冲突,即模型数据可能随时间变得过时;数据真实性冲突,指训练数据中可能存在虚假信息,影响模型准确性;数据一致性冲突,表现为模型对语义相同但句法不同的输入反应不一。测试时应针对这些问题设计用例,确保模型性能。
645 4
|
机器学习/深度学习 人工智能 数据可视化
号称能打败MLP的KAN到底行不行?数学核心原理全面解析
Kolmogorov-Arnold Networks (KANs) 是一种新型神经网络架构,挑战了多层感知器(mlp)的基础,通过在权重而非节点上使用可学习的激活函数(如b样条),提高了准确性和可解释性。KANs利用Kolmogorov-Arnold表示定理,将复杂函数分解为简单函数的组合,简化了神经网络的近似过程。与mlp相比,KAN在参数量较少的情况下能达到类似或更好的性能,并能直观地可视化,增强了模型的可解释性。尽管仍需更多研究验证其优势,KAN为深度学习领域带来了新的思路。
6683 5
|
机器学习/深度学习 算法 搜索推荐
JCR一区7分线粒体基因,纯生信非肿瘤分型诊断模型
**摘要:** 一项研究在《翻译医学杂志》(IF 7.4)上发表,揭示了线粒体分子特性如何影响风湿性关节炎(RA)的治疗。通过对线粒体基因的分析,研究人员识别出RA患者的三个亚型,每个亚型具有独特的分子和细胞特征。亚型关联分析显示,亚型C对特定生物制剂如英夫利昔单抗、抗TNF药物、利妥昔单抗和甲氨蝶呤/阿巴西普的响应更强。利用机器学习建立了基于线粒体基因的诊断模型,该模型在区分RA亚型上表现优异,为患者分层和个性化治疗提供了新策略。
434 0
|
Kubernetes Cloud Native Linux
云原生|kubernetes|rancher-2.6.4安装部署简明手册
云原生|kubernetes|rancher-2.6.4安装部署简明手册
2006 0
云原生|kubernetes|rancher-2.6.4安装部署简明手册
C# | 极简代码实现串口通信,功能超丰富 (使用BytesIO通信库)
C# 极简代码实现串口通信,功能超丰富 安装NuGet库 程序截图 事件监听 设计及实现 界面 代码 源码下载
1171 0
C# | 极简代码实现串口通信,功能超丰富 (使用BytesIO通信库)