大模型LLM-微调经验分享&总结

2023-11-03

        模型越大对显卡的要求越高,目前主流对大模型进行微调方法有三种Freeze方法、P-Tuning方法和Lora方法。笔者也通过这三种方法,在信息抽取任务上,对ChatGLM-6B大模型进行模型微调liucongg/ChatGLM-Finetuning: 基于ChatGLM-6B模型,进行下游具体任务微调,涉及Freeze、Lora、P-tuning等 (github.com)https://github.com/liucongg/ChatGLM-Finetuning

1>Freeze

2>P-tuning

3>Lora

【NLP】LoRA——大模型的低成本微调方法 - 知乎 (zhihu.com)

(311条消息) 什么是LoRA模型,如何使用和训练LoRA模型?你想要的都在这!_yang7711的博客-CSDN博客 (311条消息) 大模型训练——PEFT与LORA介绍_常鸿宇的博客-CSDN博客//讲的特别好 

DeepSpeed 是一个深度学习优化库,它可以使分布式训练变得容易、高效和有效。

microsoft/DeepSpeed: DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective. (github.com)

DeepSpeed超大规模模型训练工具 - 知乎 (zhihu.com)

简单经验之谈:

1.finetune在训练过程中改变了模型的参数,本质修改了下游任务代码,完成了BP修改网络的参数。而LangChain+LLM并没有,因为本质是prompt的介入,不存在模型内部参数调整。
2. ①Freeze:解冻一些层来训练,其他都层都冻结。
Lora微调
   ②Lora:技术原理简单,但真有奇效,需要注意rank大小的设置,是根据业务领域来的,领域垂直性越强,就要设置的越大,比较有意思的就是数据,看起来最没技术含量的事情,大家不愿意做,但其实是最难的,数据收集存在诸多问题,数据少且封闭,缺乏标注,垂直领域往往对结果要求很高。
     另外,有一些内容(比如商品的售价)经常在变换,如何让模型快速响应这些内容,训练(微调)一次周期还挺长的,目前可以采取配知识库的方法(ChatGLM+LangChain+知识库)
注意:生成式模型的一系列审核机制,对用户的输入数据进行审核,防止输入一些有诱导性的问题,模型需要对回答输出进行审核。内容风控是上线前的重中之重。

参考资料:

大模型LLM-微调经验分享&总结 - 知乎 (zhihu.com)

预训练大语言模型的三种微调技术总结:fine-tuning、parameter-efficient fine-tuning和prompt-tuning的介绍和对比 - 知乎 (zhihu.com)

(310条消息) 【prompt】什么是 Soft Prompt 和 Hard Prompt ?_vector<>的博客-CSDN博客

软提示词和硬提示词(soft prompt & hard prompt)_赏月斋的技术博客_51CTO博客

(310条消息) 大模型训练——PEFT与LORA介绍_常鸿宇的博客-CSDN博客//讲的特别好 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大模型LLM-微调经验分享&总结 的相关文章

随机推荐

  • EDA14--DC脚本实例

    这里写目录标题 一 示例1 同步设计 fifo1 二 示例2 异步设计 fifo2 三 具体操作 fifo1为例 DC的所有理论知识已经简单的概述完了 包括 DC简介概念流程 逻辑推断 DC脚本命令 最后给出DC的两个示例 下面是大的目录
  • 18650锂电池充电方案及保护板电路构思

    18650锂电池充电方案及保护板电路构思 一 电路参数 1 充电电源为USB电源 额定电压为5V 2 蓄电池为18650锂电池 3 7V 容量2600mAh 3 负载电机参数 二 电路板功能要求 1 充电电压保护 防止因选用错误的充电器 过
  • JSONObject出现重复引用$ref

    现象 保存的时候红框里内容是一样的 结果JSON toJSONString的时候第二个就变成了 ref 原因 JSONObject 默认开启引用检测 重复引用对象时会被 ref代替 返回的json对象出现 ref 对象 地址值 解决办法 S
  • PhpStorm 基本设置

    更换皮肤 File gt Settings gt Appearance gt Theme 字体 File gt Settings gt Editor gt Colors Font gt font 点save as 然后再自定义 typo设置
  • oracle和sqlite区别,数据库sqlserver与sqlite的区别

    sqlserver 与sqlite的区别 sqlserver是大型数据库 常用于企业级应用的后台数据存储 sqlite 是轻量级数据库 对小数据量的数据存储方便 文件型数据库 其语法区别大 比如查询前10条数据 sqlserver SELE
  • 聊聊Api接口优化的几个方法

    转载 聊聊Api接口优化的几个方法 知乎 作为记录 用于学习
  • Vendor ID对照表(不定期更新)

    Vendor ID对照表 不定期更新 可自行查询原网址 8086 Intel Corporation 0731 Jingjia Microelectronics Co Ltd 1DB7 Phytium Technology Co Ltd 1
  • 归一化函数 normalized()

    1 归一化定义与作用 归一化就是要把需要处理的数据经过处理后 通过某种算法 限制在你需要的一定范围内 首先归一化是为了后面数据处理的方便 其次是保证程序运行时收敛加快 归一化的具体作用是归纳统一样本的统计分布性 归一化在0 1之间是统计的概
  • 攻防演练场景中的加密流量检测技术

    lt 引言 gt 在对抗日益激烈 加密手段逐渐成为主流的今天 攻防演练场景中的加密流量也已逐渐成为主流 对加密流量检测的技术变得愈发重要 目前针对攻防演练场景的加密流量检测主要分为解密后检测和不解密检测两大类 传统的解密检测拥有可以直接将加
  • 文心一言#帮我生成一段1分钟的短视频AI脚本

    视频标题 旅行者的一天 视频类型 旅游 视频时长 1分钟 视频描述 这是一个关于一个旅行者一天的故事 他早上起床后 先去了一家当地的早餐店 品尝了美味的当地早餐 接着 他去了一家博物馆 了解了当地的历史和文化 中午 他去了一家当地的餐厅 品
  • ubuntu上redis安装启动和停止

    在 Ubuntu 上操作 Redis 可以按照以下步骤进行 安装 Redis 使用以下命令安装 Redis sudo apt get update sudo apt get install redis server 设置开机自动启动 使用以
  • OOM Killer 持续更新中

    虚拟地址空间的概念都门儿清 Linux 认为用户进程调用malloc申请了动态内存后不见得马上就会使用这段内存进行写读操作 Linux使用了拖到最后的分配机制 用时分配机制 但是 即使是用时分配 也不见得总有内存可分配 当进程太多 显得内存
  • kotlin与java实现混编基础看这篇就够了

    前几年一直关注安卓 想换个方向 奔着移动端大步向前 由于比较懒就一直停留在想法 这不今天勤快点 动手搞了一个基础的java和kotlin混编 和大家总结分享一下 首先需要了解什么事kotlin kotlin中文网上面有详细的讲解 比如入门教
  • 设计模式(二)- 代理模式

    代理模式 文章目录 代理模式 1 代理模式 1 1介绍 1 2 应用实例 1 3 静态代理 1 4 动态代理 1 4 1 Java lang reflect Proxy类可以直接生成一个代理对象 1 4 2 InvocationHandle
  • java 数组合并_数组与链表

    CPU L1缓存读写速度高出内存100倍左右 缓存在加载地址的时候 基于Locality of reference也会加载相邻的地址内容 如果一个地址被访问 那么它相邻的地址也极有可能之后被访问 数组 1 2 3 4 数组使用连续的内存来存
  • K-均值聚类算法(K-Means)

    简单介绍 k means聚类属于无监督学习的一种 在没有给与labels的情况下 将数据分成指定的K类 它将相似的对象归到一个簇中 将不相似的对象归到不同簇中 相似这一概念 取决于所选择的相似度计算方法 K means是发现给定数据集的K个
  • Windows安装使用Nacos并进行服务治理

    Nacos简介 Nacos 致力于帮助您发现 配置和管理微服务 Nacos 提供了一组简单易用的特性集 帮助您快速实现动态服务发现 服务配置 服务元数据及流量管理 Nacos其实就是一个注册中心 用来管理和注册微服务 搭建Nacos环境 安
  • java list 按float属性排序

    前言 项目需要对一个类的对象的list按照其中的一个float属性进行排序 网上有很多关于关于对类的对象的列表的排序 但看到的大都是整型或字符串类型的属性才能排序 本文解决了按照float型属性排序的方法 但感觉尚不是最好的解决方案 故此记
  • 【GDB调试动态库】

    GDB调试动态库 动态库编译的时候已经添加了 g但是设置断点还是不生效报如下错误 动态库编译的时候已经添加了 g但是设置断点还是不生效报如下错误 warning Could not load shared library symbols f
  • 大模型LLM-微调经验分享&总结

    模型越大对显卡的要求越高 目前主流对大模型进行微调方法有三种 Freeze方法 P Tuning方法和Lora方法 笔者也通过这三种方法 在信息抽取任务上 对ChatGLM 6B大模型进行模型微调 liucongg ChatGLM Fine