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
RAG VS Fine-Tuning模型微调详解
【11月更文挑战第20天】在深入探讨RAG(Retrieval-Augmented Generation,检索增强生成)与Fine-Tuning(模型微调)这两种技术之前,让我们先回顾一下它们的历史背景和发展脉络。
638 19
|
9月前
|
SQL 数据采集 分布式计算
Dataphin测评:企业级数据中台的「智能中枢」与「治理引擎」
Dataphin是一款智能数据建设与治理平台,基于阿里巴巴OneData方法论,提供从数据采集、建模研发到资产治理、数据服务的全链路智能化能力。它帮助企业解决数据口径混乱、质量参差等问题,构建标准化、资产化、服务化的数据中台体系。本文通过详细的操作步骤,介绍了如何使用Dataphin进行离线数仓搭建,包括规划数仓、数据集成、数据处理、运维补数据及验证数据等环节。尽管平台功能强大,但在部署文档更新、新手友好度及基础功能完善性方面仍有提升空间。未来可引入SQL智能纠错、自然语言生成报告等功能,进一步增强用户体验与数据治理效率。
917 34
Dataphin测评:企业级数据中台的「智能中枢」与「治理引擎」
|
缓存 固态存储 Java
Elasticsearch 的扩展性和性能调优
【9月更文第2天】Elasticsearch 是一个分布式的搜索和分析引擎,适用于各种大规模数据处理场景。随着数据量的增长和查询复杂度的增加,Elasticsearch 的性能优化变得尤为重要。本文将详细介绍如何通过硬件配置、集群规模调整以及查询优化策略来提升 Elasticsearch 的性能。
687 6
|
SQL NoSQL 关系型数据库
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
1005 18
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
|
10月前
|
弹性计算 人工智能 架构师
一文揭秘|如何速成RAG+Agent框架大模型应用搭建(二)
一文揭秘|如何速成RAG+Agent框架大模型应用搭建
708 4
|
11月前
|
计算机视觉 Perl
YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标
YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标
379 0
YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标
|
分布式计算 大数据 Java
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
293 1
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
919 1
|
移动开发 安全 API
微信H5支付--微信JS-SDK支付--点金计划
本文详细介绍了微信H5支付和JS-SDK支付的原理、配置和开发流程,涵盖了H5支付在移动端浏览器外唤起微信支付的细节,以及JS-SDK支付在微信内置浏览器中完成支付的相关注意事项。文章还针对微信支付常见问题,提供了解决方案和代码示例。最后,文章深入解析了微信支付点金计划,包括商家小票的自定义开发、API接口以及支付成功后的页面展示逻辑,为开发者提供了完整的开发参考。
1010 0
微信H5支付--微信JS-SDK支付--点金计划
|
负载均衡 5G UED
蜂窝网络中的切换(Handover)及其类型详解
蜂窝网络中的切换(Handover)及其类型详解
1865 12