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

目录
相关文章
|
缓存 固态存储 Java
Elasticsearch 的扩展性和性能调优
【9月更文第2天】Elasticsearch 是一个分布式的搜索和分析引擎,适用于各种大规模数据处理场景。随着数据量的增长和查询复杂度的增加,Elasticsearch 的性能优化变得尤为重要。本文将详细介绍如何通过硬件配置、集群规模调整以及查询优化策略来提升 Elasticsearch 的性能。
711 6
|
机器学习/深度学习 自然语言处理 Java
RAG VS Fine-Tuning模型微调详解
【11月更文挑战第20天】在深入探讨RAG(Retrieval-Augmented Generation,检索增强生成)与Fine-Tuning(模型微调)这两种技术之前,让我们先回顾一下它们的历史背景和发展脉络。
690 19
|
计算机视觉 Perl
YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标
YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标
443 0
YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标
|
分布式计算 大数据 Java
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
306 1
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
|
机器学习/深度学习 数据采集 人工智能
【机器学习】QLoRA:基于PEFT亲手量化微调Qwen2大模型
【机器学习】QLoRA:基于PEFT亲手量化微调Qwen2大模型
1180 0
【机器学习】QLoRA:基于PEFT亲手量化微调Qwen2大模型
|
负载均衡 5G UED
蜂窝网络中的切换(Handover)及其类型详解
蜂窝网络中的切换(Handover)及其类型详解
2034 12
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
1227 1
|
存储 缓存 安全
深入理解 Java 内存模型(Java Memory Model, JMM)
深入理解 Java 内存模型(Java Memory Model, JMM)
1017 0
|
机器学习/深度学习 开发工具 数据安全/隐私保护
Python新手入门
Python是一种通用编程语言,其在科学计算和机器学习领域具有广泛的应用。如果我们打算利用Python来执行机器学习,那么对Python有一些基本的了解就是至关重要的。本Python入门系列体验就是为这样的初学者精心准备的。
|
Java Linux 开发工具
虹软人脸识别系统
虹软人脸识别系统
550 0