第二期书生浦语大模型训练营第四次笔记

news2024/11/18 15:38:43

大模型微调技术

大模型微调是一种通过在预训练模型的基础上,有针对性地微调部分参数以适应特定任务需求的方法。

微调预训练模型的方法

  • 微调所有层:将预训练模型的所有层都参与微调,以适应新的任务。

  • 微调顶层:只微调预训练模型的顶层,以适应新的任务。

  • 冻结底层:将预训练模型的底层固定不变,只对顶层进行微调。

  • 逐层微调:从底层开始,逐层微调预训练模型,直到所有层都被微调。

  • 迁移学习:将预训练模型的知识迁移到新的任务中,以提高模型性能。这种方法通常使用微调顶层或冻结底层的方法。

目前来说,我们常用的方法一般是前三种。简单来说模型的参数就类比于,一个在大学学习到所有专业的知识的大学生,基于过往的学习经验以及对生活中的一些事情,已经有了属于自己的一套学习方法思维逻辑。而微调则是一个大学生毕业后从事某一种行业的工作,那他就要开始学习工作上的内容,来产出工作的成果。

常见的微调技术分析

Fine tuning

原理:Fine tuning的原理是在预训练模型的基础上,通过微调模型参数,使其适应特定任务的数据分布和特征表示,从而提高模型在该任务上的性能。
应用场景:Fine tuning适用于需要充分利用预训练模型在大规模数据上学到的特征和知识的场景,特别是在小数据集上也能获得较好性能的情况下。
优点:可以节省大量的训练时间和计算资源,因为可以直接在预训练模型的基础上进行训练,而不需要从头开始训练一个新的模型。
缺点:相比于其他微调方法,可能需要更多的数据和计算资源来达到最佳效果。

Prompt tuning

原理:Prompt tuning的原理是通过设计合适的预训练任务和更新模型的部分参数,使其能够快速适应新任务的数据分布和特征表示,从而提高模型的泛化性能。
应用场景:适用于超过10亿参数量的模型,尤其是当使用足够多的语料和设计有效的预训练任务时,小样本甚至零样本的性能也能被极大地激发出来。它也适用于快速适应新任务的场景。
优点:通过只更新部分参数,降低了计算量和参数量,加速了训练过程。仅需少量数据即可进行。对于大型模型,相比于标准的Fine-tuning,所带来的增益远远高于标准的Fine-tuning。
缺点:在自然语言理解(NLU)中,对于正常大小的预训练模型,Prompt tuning的表现并不理想。并且,现有的Prompt tuning方法无法处理硬序列标记任务,表明在某些情况下可能存在局限性。

LoRA

原理:LoRA的原理是通过对预训练模型的所有权重矩阵进行加减操作,使其更适合下游任务,从而实现微调。这种方法通过减少需要微调的参数量,提高了微调的效率和速度。
应用场景:LoRA适用于需要轻量级微调的大模型,特别是在文本分类、语义理解等自然语言处理任务中。
优点:LoRA提供了一种参数高效的微调方法,旨在解决仅通过训练一小部分参数来微调大型语言模型的不可行性和不切实际的问题。
缺点:尽管LoRA提供了参数高效的微调方案,但相比于全参数微调,存在一定的性能损失或限制。

两种微调范式

更详细内容参考大模型微调方法综述-CSDN博客

通俗解读大模型主流微调方法:从Prefix Tuning、P-Tuning V1/V2到LoRA、QLoRA - 知乎

https://www.cnblogs.com/lx63blog/p/17627664.html

XTuner微调框架介绍

XTuner内置很多微调算法,功能强大,更方便的是还可以适配不同的数据格式,简化数据处理流程。

XTuner 微调 LLM:1.8B、多模态、Agent_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1621096.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pandas数据分析小技巧

Pandas数据分析小技巧:提升数据处理效率与准确性的秘诀 Pandas是一个强大的Python数据分析库,它提供了快速、灵活且富有表现力的数据结构,使得数据清洗、转换、分析等操作变得简单而高效。本文将介绍一些Pandas数据分析的小技巧,…

年如何在不丢失数据的情况下解锁锁定的 Android 手机?

当您忘记密码、PIN 码或图案并且想要解锁 Android 手机时,您可能会丢失 Android 手机上的数据。但您无需再担心,因为在这里,我们想出了几种解锁锁定的 Android 手机而不丢失数据的方法。 方法 1. 使用 Android Unlock 解锁锁定的 Android 且不…

【上海大学计算机组成原理实验报告】四、指令系统实验

一、实验目的 了解指令结构、PC寄存器的功能和指令系统的基本工作原理。 学习设计指令的方法。 二、实验原理 根据实验指导书的相关内容,对于部分使用频率很高,且只用几条微指令即可完成的简单操作,可以把这部分简单操作的微指令序列固定下…

mfc140.dll丢失如何修复,分享多种有效的修复方法

在日常操作和使用电脑的过程中,我们可能会遇到一种较为常见的问题,即在尝试启动或运行某个应用程序时,系统突然弹出一个错误提示窗口,明确指出“mfc140.dll文件丢失”。这个mfc140.dll实际上是一个动态链接库文件(DLL&…

linux运行ant 报错 Unable to locate tools.jar【已解决】

linux安装 ant 运行时报错 Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64/lib/tools.jar 原因 已安装的jdk只有运行环境,没有tool.jar,而ant运行需要java开发环境,因…

不可思议!我的AI有道英语字典助手竟然与百度千帆AI应用创意挑战赛K12教育主题赛榜首作品差之毫厘

目录 一、前言二、效果对比三、优化《AI英语词典》提示词四、其他获奖作品链接 一、前言 今天看百度千帆AI原生应用创意挑战赛——K12教育主题赛,发现第一名的《我爱记单词》和我早两天发布的一篇《AI英语词典》的想法不谋而合。当时我们应该都是互相不知道对方的&a…

软件游戏缺失d3dcompiler_43.dll怎么修复?分享多种靠谱的解决方法

在我们日常频繁地操作和使用电脑的过程中,时常会遇到一些突发的技术问题。其中一种常见的情况是,在尝试启动或运行某个应用程序时,系统会弹出一个错误提示窗口,明确指出当前电脑环境中缺少了一个至关重要的动态链接库文件——d3dc…

Mysql全局优化总结

Mysql全局优化总结 从上图可以看出SQL及索引的优化效果是最好的,而且成本最低,所以工作中我们要在这块花更多时间 服务端系统参数 官方文档:https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections…

【MATLAB源码-第197期】基于matlab的粒子群算法(PSO)结合人工蜂群算法(ABC)无人机联合卡车配送仿真。

操作环境: MATLAB 2022a 1、算法描述 基于粒子群优化(PSO)算法的无人机联合卡车配送系统是一个高效的物流配送策略,旨在优化配送过程中的成本、时间和资源利用率。该系统融合了无人机和卡车的配送能力,通过智能算法…

MT2041 三角形的个数

思路:找规律,推公式 4等分: 头朝上的三角形: 边长为1:1234s1; 边长为2:123s2; 边长为3:12s3; 边长为4:1s4; 即si12...n-i1(n-i2)*(n-i…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二)

课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 3 - 4节) P3《开发准备-了解ArkTS》 鸿蒙开发主要是用来开发移动端应用的。 以前我们开发移动端应用的代码&#xff…

如何把视频中的画面保存为图片?免费的工具不用白不用

在数字化时代,截取视频中的珍贵瞬间成为了人们创作、分享和保存回忆的重要方式。 那么,如何迅速捕捉视频中的精彩画面,留存美好瞬间呢?有人说直接截图就可以,如果直接截图就可以,小编就不用写这篇文章了&a…

Tomcat源码解析——一次请求的处理流程

在上一篇文章中,我们知道Tomcat在启动后,会在Connector中开启一个Acceptor(接收器)绑定线程然后用于监听socket的连接,那么当我们发出请求时,第一步也就是建立TCP连接,则会从Acceptor的run方法处进入。 Acceptor&…

29 OpenCV 图像距

文章目录 距的概念API函数示例 距的概念 距的概念 API函数 moments( InputArray array,//输入数据 bool binaryImagefalse // 是否为二值图像 )contourArea( InputArray contour,//输入轮廓数据 bool oriented// 默认false、返回绝对值)arcLength( InputArray curve…

springboot结合elasticJob

先说一说什么是elasticJob。 ElasticJob是一个分布式任务调度的解决方案,它由俩个相互独立的子项目Elastic-job-lite和Elastic- job-cloud组成。 任务调度:是指系统为了自动完成特定任务,在任务的特定时刻去执行任务的过程。 分布式&#xf…

BUUCTF---misc---[SWPU2019]我有一只马里奥

1、下载附件是一个.exe文件 2、运行之后可以看到桌面生成了1.txt文件,文件里面有如下内容 3、经过信息搜索:NTFS(New Technology File System)是一种由Microsoft开发的专有日志文件系统。根据它的提示,应该是把flag.tx…

安装Fake UserAgent 库的方法最终解答!_Python库

安装Python库Fake UserAgent 我的环境:Window10,Python3.7,Anaconda3,Pycharm2023.1.3 Fake UserAgent Fake UserAgent 是一个Python库,用于生成随机或特定的用户代理(UserAgent)字符串。用户…

C++:模板(初级)

hello,各位小伙伴,本篇文章跟大家一起学习《C:模板(初级)》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞…

零基础转行网络安全,难度大吗?

说有难度那是肯定会有的,事在人为,我之前是从事于Java后端开发的,后面转行学网络安全,花了些时间,现在拿到了比之前开发更高的薪资,觉得还是挺满足的! 1.网络安全岗位 1.1安全运维工程师 负责监…

Ubuntu Pycharm安装

下载PyCharm,https://www.jetbrains.com/pycharm/download/?sectionlinux 然后按照下图执行安装: 安装的时候可能出现的问题: 问题1:No JDK found. Please validate either PYCHARM_JDK, JDK_HOME or JAVA_HOME environment var…