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

news/2024/5/27 11:04:07/ 标签: 人工智能, 深度学习, 机器学习

大模型微调技术

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

微调预训练模型的方法

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

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

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

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

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

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

常见的微调技术分析

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.ppmy.cn/news/1434627.html

相关文章

基于百度文心大模型全面重构,小度正式推出AI原生操作系统DuerOS X

4月16日,以“创造未来”为主题的2024百度Create AI开发者大会在深圳举办。百度集团副总裁、小度科技CEO李莹正式发布了小度新一代操作系统DuerOS X,该操作系统是小度基于百度文心大模型推出的全球首个AI原生操作系统。李莹表示:“作为⽂⼼⼤模…

IDEA中添加servlet模板

官方代码链接 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} ! "")package ${PACKAGE_NAME};#end #parse("File Header.java")import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException…

C++:类与对象完结篇

hello,各位小伙伴,本篇文章跟大家一起学习《C:运算符重载》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 文章目录 重新认识构造函数1.初始化列表2.explicit关键字 static成员1.sta…

Elasticsearch进阶篇(三):ik分词器的使用与项目应用

ik分词器的使用 一、下载并安装1.1 已有作者编译后的包文件1.2 只有源代码的版本1.3 安装ik分词插件 二、ik分词器的模式2.1 ik_smart演示2.2 ik_max_word演示2.3 standard演示 三、ik分词器在项目中的使用四、ik配置文件4.1 配置文件的说明4.2 自定义词库 五、参考链接 一、下…

轻量级SQLite可视化工具Sqliteviz

什么是 Sqliteviz ? Sqliteviz 是一个单页面离线优先的渐进式网络应用(PWA),用于完全客户端的 SQLite 数据库或 CSV 文件的可视化。 所谓完全客户端,就是您的数据库永远不会离开您的计算机。使用 sqliteviz&#xff0c…

11、【桥接模式】让将抽象和实现分离,使得它们可以独立地变化

你好,我是程序员雪球。 今天我们来聊聊 23 种设计模式中,一种常见的结构型模式,桥接模式。聊聊它的设计思想、应用场景,以及如何使用。 一、设计思想 桥接模式(Bridge Pattern)是一种结构型设计模式&#…

拿捏 顺序表(1)

目录 1. 顺序表的分类2. 顺序表实现3. 顺序表实现完整代码4. 总结 前言: 一天xxx想存储一组数据, 并且能够轻松的实现删除和增加, 此时数组大胆站出, 但是每次都需要遍历一遍数组, 来确定已经存储的元素个数, 太麻烦了, 于是迎来了顺序表不屑的调侃: 数组你不行啊… 顺序表是一…

mac qt android开发环境

1,安装Android Studio 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers (google.cn)

求建筑高度(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;float x, y;//提示用户&#xff1b;printf("请输入x y坐标的值&#xff1a;");//…

HarmonyOS NEXT星河版之实战商城App瀑布流(含加载更多)

文章目录 一、目标二、开撸2.1 声明商品对象2.2 mock数据2.3 主页面2.4 加载更多2.5 完整代码 三、小结 一、目标 二、开撸 2.1 声明商品对象 export interface GoodsItem {title: stringimageUrl: string }2.2 mock数据 export const mockGoodsList: GoodsItem[] [{title:…

Android判断应用是否在前台运行

Android判断应用是否在前台运行 /*** Android判断应用是否在前台运行* 0&#xff1a;异常&#xff1b;1&#xff1a;前台&#xff1b;2&#xff1a;后台&#xff1b;3&#xff1a;未运行&#xff1b;*/private int isFrontShow(Context context) {if (context null) {ret…

动力学重构/微分方程参数拟合 - 基于模型

这一篇文章&#xff0c;主要是给非线性动力学&#xff0c;对微分方程模型参数拟合感兴趣的朋友写的。笼统的来说&#xff0c;这与混沌系统的预测有关&#xff1b;传统的机器学习的模式识别虽然也会谈论预测结果&#xff0c;但他们一般不会涉及连续的预测。这里我们考虑的是&…

Linux读写文件

前言 学习了文件系统&#xff0c;就能理解为什么说Linux下一切皆文件。 语言层面的操作 在c语言的学习中我们可以使用fopen()函数对文件进行操作。 int main() {//FILE * fp fopen("./log.txt", "w");//FILE * fp fopen("./log.txt", "…

Music Tag Editor Pro for Mac:音乐标签编辑软件

Music Tag Editor Pro for Mac是一款功能强大的音乐标签编辑软件&#xff0c;专为Mac用户设计&#xff0c;旨在帮助用户轻松管理音乐库中的标签信息。 Music Tag Editor Pro for Mac v8.0.0中文激活版下载 该软件支持多种音频格式&#xff0c;包括MP3、M4A、FLAC、APE等&#x…

Midjourney如何实现人物角色的一致性?

在数字艺术和AI生成媒体的发展中&#xff0c;保持人物一致性是一个巨大的挑战。Midjourney作为一个先进的图像生成平台&#xff0c;它如何确保在连续的图像生成过程中&#xff0c;同一人物能保持一致的外观和特征呢&#xff1f;本文将深入探讨Midjourney如何通过技术手段实现这…

人工智能论文GPT-3(1):2020.5 Language Models are Few-Shot Learners;摘要;引言;scaling-law

摘要 近期的工作表明&#xff0c;在大量文本语料库上进行预训练&#xff0c;然后针对特定任务进行微调&#xff0c;可以在许多NLP任务和基准测试中取得实质性进展。虽然这种方法在架构上通常是与任务无关的&#xff0c;但仍然需要包含数千或数万示例的针对特定任务的微调数据集…

SpringMVC基础篇(二)

文章目录 1.Postman1.基本介绍Postman是什么&#xff1f; 2.Postman快速入门1.Postman下载点击安装自动安装在系统盘 2.基本操作1.修改字体大小2.ctrl “” 放大页面3.进入创建请求界面 2.需求分析3.具体操作4.保存请求到文件夹中1.点击保存2.创建新的文件夹3.保存成功 3.使用…

互联网轻量级框架整合之MyBatis动态SQL

MyBatis的动态SQL是一项强大且实用的功能&#xff0c;它允许开发者在XML映射文件中编写可灵活变化的SQL语句&#xff0c;这些语句能够根据传入参数的条件或值动态地调整其结构和内容。这样&#xff0c;程序可以在运行时生成适应特定业务场景的SQL&#xff0c;避免了手动拼接SQL…

css文字和span在一行对不齐

1.需求背景 父盒子中有两个span&#xff0c;但是span中的文字对不齐。如下图&#xff0c;明显右边的文字偏高 处理后的效果&#xff08;已经对齐&#xff0c;图中标记的是基本的div结构&#xff09;&#xff1a; 2.该问题出现的原因&#xff1a; span1设置的高度比span2内…

设计模式——2_A 访问者(Visitor)

文章目录 定义图纸一个例子&#xff1a;如何给好奇宝宝提供他想知道的内容菜单、菜品和配方Menu(菜单) & Cuisine(菜品)Material(物料、食材) 产地、有机蔬菜和卡路里Cuisine & Material 访问者VisitorCuisine & Material 碎碎念访问者和双分派访问者和代理写在最后…