大模型微调及生态简单介绍

news2025/2/26 6:17:27

大模型

    • 大模型生态
      • OpenAI大模型生态:
    • 全球开源大模型性能评估榜单
    • 中文语言模型——ChatGLM
      • 基于ChatGLM的多模态⼤模型
    • 大模型微调
    • LLM⼤语⾔模型 ⼀般训练过程
    • 为什么需要微调
      • 高效微调技术⽅法概述
      • ⾼效微调⽅法一:LoRA微调方法
      • 高效微调⽅法⼆:Prefix Tuning
      • ⾼效微调⽅法三:Prompt Tuning
      • ⾼效微调⽅法四:P-Tuning v2

本系列阅读资料来自于B站九天菜菜的大模型课堂

第一部分,需要掌握效果最好、生态最丰富、功能最齐全OpenAl发布的大模型组
第二部分,需要掌握目前中文效果最好、最具潜力、同时具备多模态功能的开源大模型一ChatGLM 6B visualGLM 6B

大模型生态

OpenAI大模型生态:

并不只有一个模型,而是提供了涵盖文本、代码、对话、语音、图像领域的一系列模型

语言类大模型:GPT-3、GPT-3.5、GPT-4系列模型。并且OpenAl在训练GPT-3的同时,训练了参数不同、复杂度各不相同的A、B、C、D四项大模型(基座模型),用于不同场景的应用;

  • 其中,A、B、C、D模型的全称分别是ada、babbage、curie和davinci,四个模型并不是GPT-3的微调模型,而是独立训练的四个模型;
  • 四个模型的参数规模和复杂程度按照A-B-C-D顺序依次递增;虽不如GPT-3.5和GPT-4那么有名,但A、B、C、D四大模型却是目前OpenAl大模型生态中功能最丰富、AP种类最多的四个模型;在这里插入图片描述

图像多模态大模型:最新版为DALL·E达利)V2,是DALL·E模型的第二版训练版,能够根据描述生成图像;

  • DALL·E模型为基于GPT-3开发的模型,总共包含120亿个参数,不难看出DALL·E对图像的理解能力源于大语言模型;
  • OpenAl将大语言模型的理解能力“复制”到视觉领域的核心方法:将图像视作一种一种语言,将其转化为Token,并和文本Token一起进行训练;

语音识别模型:最新版为Whisper v2-large model,是Whispert模型的升级版,能够执行多语言语音识别以及语音翻译和语言识别;

  • Whisper模型是为数不多的OpenAlf的开源模型,改模型通过68万小时的多语言和多任务监督数据进行的训练,目前提供了原始论文进行方法介绍

  • Whispert模型可以本地部署,也可以像其他OpenAlz大模型一样通过调用API进行在线使用,并且根据官网介绍,Whisper在线模型会有额外运行速度上的优化,通过调用API进行使田效率更高(当然也雲要支付一定的费用)

文本向量化模型:Embedding⽂本嵌⼊模型,⽤于将⽂本转化为词向量,即⽤⼀ 个数组(向量)来表示⼀个⽂本,该⽂本可以是短语、句⼦或者⽂章;

  • 最新⼀代Embedding模型是基于ada模型微调的text-embedding-ada-002模型;
  • 通过将⽂本转化为词向量,就可以让计算机进⼀步的“读懂⽂本”,通过词向量的计算和分析和相似度计算,可以对其背后的⽂本进⾏搜索、聚类、推荐、异常检测和分类等
  • 最终,Embedding会将词、句⼦或者更⾼级别的语⾔结构,映射到⾼维空间的向量中,使得语义上相近的词或者句⼦在向量空间中的距离也较近;
  • 例如Embedding后的句⼦,“⽼⿏在找吃的”将和 “奶酪”词向ᰁ接近,因为⼆者表意类似。⽽与之句式格式与之相近的“猫在找⻝物”,则距离更远; ○ GPT模型的Embedding层往往是在与训练过程中通过⾃回归训练完成,同时在微调时,也往往会修改Embedding层;

审查模型:Moderation模型,旨在检查内容是否符合 OpenAI 的使⽤政策。 这 些模型提供了查找以下类别内容的分类功能:仇恨、仇恨/威胁、⾃残、性、性/ 未成年⼈、暴⼒和暴⼒/图⽚等。
编程⼤模型:Codex⼤模型,⽤GitHub数⼗亿⾏代码训练⽽成,能够“读懂”代码,并且能够根据⾃然语⾔描述进⾏代码创建;

  • Codex最擅⻓Python,同时精通JavaScript、Go、Perl、PHP、Ruby、Swift、TypeScript、SQL,
    甚⾄ Shell 等⼗⼏种编程语⾔;

  • 该模型发布于2021年8⽉10⽇,⽬前代码编写功能已经合并⼊GPT-3.5,官⽹显示该模型为已弃⽤(deprecated)状态,意为后续不再单独维护,但并不表示OpenAI已放弃编程⼤模型,相反越来越多的编程功能被集成到语⾔⼤模型中

  • ⽬前该模型集成于Visual Studio Code、GitHub Copilot、Azure OpenAI
    Service等产品中,⽤于提 供⾃动编程功能⽀持; • 在models->overiew中可查看⽬前OpenAI模型⼤类;
    • 地址:https://platform.openai.com/docs/models/overview在这里插入图片描述

OpenAI API命名规则
• 通⽤模型API:如GPT-3.5-turbo,GPT-4,ada…
• 停⽌维护但仍可使⽤的API:如GPT-3.5-turbo-0301(3⽉1号停⽌维护), GPT-4-0314(3⽉14号停⽌维护)…
• ⾯向特定功能的微调模型API:如ada-code-search-code(基于ada微调的编程 ⼤模型),babbage-similarity(基于babbage微调的的⽂本相似度检索模型)
• 多版本编号模型API:如text-davinci-001(达芬奇⽂本模型1号)、textembedding-ada-002(基于ada的Embedding模型2号)…
谷歌PaLM2 Models:
四项大模型:Gecko(壁虎)、Otter(水獭)Bison(野牛)、Unicorn(独角兽),最小的Gecko模型可以在移动端运行,并计划在下一代安卓系统中集成;

全球开源大模型性能评估榜单

Hugging Face
LMSYS组织(UC伯克利背景):通过匿名PK进⾏模型性能⽐较,同时纳⼊开源⼤ 模型和在线⼤模型进⾏PK,其中GPT-4排名第⼀,

中文语言模型——ChatGLM

ChatGLM130B模型是由清华⼤学团队开发的⼤语⾔模型,该模型借鉴了ChatGPT 的设计思路,在千亿基座模型 GLM-130B1 中注⼊了代码预训练,通过有监督微调(Supervised FineTuning)等技术实现⼈类意图对⻬。2022年11 ⽉,斯坦福⼤学⼤模型中⼼对全球30个主流⼤ 模型进⾏了全⽅位的评测,GLM-130B 是亚洲 唯⼀⼊选的⼤模型。在与 OpenAI、⾕歌⼤脑、微软、英伟达、脸书的各⼤模型对⽐中, 评测报告显示 GLM-130B 在准确性和恶意性 指标上与 GPT-3 175B (davinci) 接近或持平。

此外,清华⼤学团队同时开源 ChatGLM-6B 模型。 ChatGLM-6B 是⼀个具有62亿参数的中英双语语⾔模型。通过使⽤与 ChatGLM(chatglm.cn)相同的技术,ChatGLM-6B 初具中⽂问答和对话功能,并⽀持在单张 2080Ti 上进⾏推理使⽤。具体来说,
ChatGLM-6B 有如下特点:

  • 充分的中英双语预训练: ChatGLM-6B 在 1:1 ⽐例的中英语料上训练了 1T token 量,兼具双语能⼒;
  • 较低的部署⻔槛: FP16 半精度下,ChatGLM-6B 需要⾄少 13GB 的显存进⾏推理,结合模型量化技术,这⼀需求可以进⼀步降低到
    10GB(INT8) 和 6GB(INT4), 使得 ChatGLM-6B 可以部署在消费级显卡上;

ChatGLM 6B丰富的开源⽣态

• 微调框架:ChatGLM 6B + P- Tuning微调,项⽬地址:
https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md •
微调框架:ChatGLM 6B + LoRA微调,项⽬地址:
https://github.com/mymusise/ChatGLM-Tuning • 本地知识库:ChatGLM 6B +
LangChain,项⽬地址: https://github.com/imClumsyPanda/langchain-ChatGLM •
多轮对话前端:ChatGLM 6B多轮对话的Web UI展示,项⽬地址:
https://github.com/Akegarasu/ChatGLM-webui

基于ChatGLM的多模态⼤模型

VisualGLM 6B :https://github.com/THUDM/VisualGLM-6B

  • VisualGLM-6B 是⼀个开源的,⽀持图像、中⽂和英⽂的多模态对话语⾔模型, 语⾔模型基于 ChatGLM-6B,具有 62
    亿参数;图像部分通过训练 BLIP2- Qformer 构建起视觉模型与语⾔模型的桥梁,整体模型共78亿参数。

  • VisualGLM-6B 依靠来⾃于 CogView 数据集的30M⾼质量中⽂图⽂对,与300M 经过筛选的英⽂图⽂对进⾏预训练,中英⽂权重相同。该训练⽅式较好地将视觉信息对⻬到ChatGLM的语义空间;之后的微调阶段,模型在⻓视觉问答数据上训练,以⽣成符合⼈类偏好的答案

模型实现思路区别

  • Dall·E:将图像视作⼀种语⾔,将其转化为离散化的Token并进⾏训练,优势在 于能够⾮常详细的描述⼀张图⽚,但缺点在于图像的Token利⽤率较低,需要 1000以上的Token才能描述⼀张256分辨率的图;

  • VisualGLM:考虑到⼈类在认识图⽚的时候,往往只对少量视觉语意信息感兴趣,因此可以不⽤将整个图⽚全部离散化为图⽚,只将图⽚特征对其到预训练语⾔模型即可,这也是BLIP-2的视觉语⾔与训练⽅法实现策略。优势在于能够 充分语⾔模型,缺点在于会缺失图像部分底层信息(细节信息);

医学影像诊断⼤模型:XrayGLM 6B:https://github.com/WangRongsheng/XrayGLM

  • 基于VisualGLM模型,在UI-XRay医学诊断报告数据集上进⾏微调⽽来;

  • 报告翻译借助OpenAI GPT模型完成翻译,微调框架为LoRA;

大模型微调

在这里插入图片描述

LLM⼤语⾔模型 ⼀般训练过程

在这里插入图片描述
在这里插入图片描述

感性理解:⼤模型微调指的是“喂”给模型更多信息,对模型的特定功能进⾏ “调教” ,即通过输⼊特定领域的数据集,让其学习这个领域的知识,从⽽让⼤模型能够更好的完成特定领域的NLP任务,例如情感分析、命名实体识别、⽂本分类、对话聊天等;

为什么需要微调

核⼼原因还是在于需要“赋予”⼤模型更加定制化的功能,例如结合本地知识库进⾏检索、围绕特定领域问题进⾏问答等;

  • 例如,VisualGLM是通⽤多模态⼤模型,但应⽤于医学影像判别领域,则需要代⼊医学影像领域的数据集来进⾏⼤模型微调,从⽽使得模型能够更好的围绕医学影像图⽚进⾏识别;

  • 就像机器学习模型的超参数优化,只有调整了超参数,才能让模型更佳适⽤于当前的数据 集

  • 同时,⼤模型是可以多次进⾏微调,每次微调都是⼀次能⼒的调整,即我们可以在现有的、 已经具备某些特定能⼒的⼤模型基础上进⼀步进⾏微调;

自回归概念:⼤模型的预训练过程是采⽤了⼀种名为⾃回归(Autoregressive)的⽅法,⾃回归模型是⼀种序列模型,它在预测下⼀个输出时,会将之前的所有输出作为输⼊,然后根据统计规律、结合已经输⼊的样本,预测下个位置各单词出现的概率,然后输出概率最⼤的单词,类似于完形填空;
生成式概念:与之类似的还有⼀个名为⽣成式模型的概念,也就是GPT中的G(Generative),所谓⽣成式模型的预测过程和⾃回归模型类似,都是根据统计规律预测下个单词的概率,所不同的是,⽣成式模型可以根据之前的样本的概率分布⽣成下⼀个词,⽣成式模型预测时会存在⼀定的随机性;
在这里插入图片描述
在这里插入图片描述

⼀个经过预训练的⼤语⾔模型,就具备“⼀定程度的”通⽤能⼒,⽽只有经过微调,才能够让模型具备解决某项具体任务的能⼒

  • 微调并不是大模型领域独有的概念,而是伴随着深度学习技术发展,自然诞生的一个技术分支,旨在能够有针对性的调整深度学习模型的参数(或者模型结构),从而能够使得其更佳高效的执行某些特定任务,而不用重复训练模型;

  • 伴随着大模型技术的蓬勃发展,微调技术一跃成为大模型工程师必须要掌握的核心技术。并且,伴随着大模型技术的蓬勃发展,越来越多的微调技术也在不断涌现;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

高效微调技术⽅法概述

在这里插入图片描述

  • 深度学习微调⽅法⾮常多,主流⽅法包括LoRA、Prefix Tuning、P- Tuning、Promt Tuning、
    AdaLoRA等;

  • 目前这些⽅法的实现均已集成⾄Hugging Face项⽬的库中,我们可以通过安装和调Hugging
    Face的PEFT(⾼效微调)库,来快速使⽤这些⽅法; https://github.com/huggingface/peft

  • Hugging Face 是⼀家专注于⾃然语⾔处理 (NLP)技术的公司,同时也开发并维护了多个⼴ 受欢迎的⾃然语⾔处理的开源库和⼯具,如
    Transformers 库、ChatGLM-6B库等;

  • ⾼效微调,State-of-the-art Parameter-Efficient Fine-Tuning (SOTA
    PEFT),与之对应的更早期的简单的全量参数训练微调的⽅法(Fine- Tuning), ⾼效微调则是⼀类算⼒功耗⽐更⾼的⽅法;

基于强化学习的进阶微调⽅法RLHF⽅法

  • RLHF:Reinforcement Learning from Human
    Feedback,即基于⼈⼯反馈机制的强化学习。最早与2022年4⽉,由OpenAI研究团队系统总结并提出,并在GPT模型的对话类任务微调中⼤放异彩,被称为ChatGPT“背后的功⾂”;

  • RLHF也是⽬前为⽌常⽤的、最为复杂的基于强化学习的⼤语⾔模型微调⽅法,⽬前最好的端到端RLHF实现是DeepSpeedChat库,由微软开源并维护;

在这里插入图片描述
在这里插入图片描述

⾼效微调⽅法一:LoRA微调方法

在这里插入图片描述
在这里插入图片描述

Github: https://github.com/microsoft/LoRA
论文地址:https://arxiv.org/abs/2106.09685

高效微调⽅法⼆:Prefix Tuning

在这里插入图片描述

⾼效微调⽅法三:Prompt Tuning

在这里插入图片描述

⾼效微调⽅法四:P-Tuning v2

在这里插入图片描述

GitHub:地址:https://github.com/THUDM./P-tuning-v2
论文地址:https://aclanthology.org/2021.ac-long.353/
ChatGLM-6B+P-Tuning微调项目地址:https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md

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

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

相关文章

linux 网络设置

查看linux基础的网络配置 命令 网关route -nip 地址ifconfig / ip aDNS 服务器cat /etc/resolv.conf主机名hostname路由route -n网络连接状态ss / netstat 一,ifconfig 查看网络接口信息 (一)ifconfig …

C++|68.虚析构函数

文章目录 虚析构函数诞生的背景问题若创造一个子类的对象,并使用一个父类的指针指向/管理它,结果会如何解决方案——虚析构函数 虚析构函数诞生的背景 Derived继承了Base,Derived本身自带析构函数,而由于继承了Base,De…

openssl3.2 - quic服务的运行

文章目录 openssl3.2 - quic服务的运行概述笔记运行openssl编译好的quic服务程序todo - 如果自己编译quic服务工程END openssl3.2 - quic服务的运行 概述 在看 官方 guide目录下的工程. 都是客户端程序, 其中有quic客户端, 需要运行quic服务才行. openssl编译好的目录中有编译…

【Python】数据可视化--基于TMDB_5000_Movie数据集

一、数据准备 tmdb_5000_movie数据集下载 二、数据预处理 观察数据集合情况 import pandas as pd import ast import warnings warnings.filterwarnings(ignore) # 加载数据集 df pd.read_csv(tmdb_5000_movies.csv) # 查看数据集信息 print(df.info()) 由于原数据集包含的…

DM数据库安装注意事项

数据库安装注意事项 一、安装前 一些参数需要在数据库创建实例前找用户确认。 参数名参数掩码参数值备注数据页大小PAGE_SIZE32数据文件使用的页大小(缺省使用8K,建议默认:32),可以为 4K、8K、16K 或 32K 之一,选择的页大小越大…

UCB Data100:数据科学的原理和技巧:第十六章到第十八章

十六、交叉验证和正则化 Cross Validation and Regularization 译者:飞龙 协议:CC BY-NC-SA 4.0 学习成果 认识到需要验证和测试集来预览模型在未知数据上的表现 应用交叉验证来选择模型超参数 了解 L1 和 L2 正则化的概念基础 在特征工程讲座结束时…

QT上位机开发(进度条操作)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 进度条是一个比较常见的控件。如果某个操作需要很长的时间才能完成,那么这个时候最好有一个进度条提示,这样比较容易平复一…

鸿蒙(HarmonyOS)应用开发指南

1. 概述 1.1 简介 鸿蒙(即 HarmonyOS ,开发代号 Ark,正式名称为华为终端鸿蒙智能设备操作系统软件)是华为公司自 2012 年以来开发的一款可支持鸿蒙原生应用和兼容 AOSP 应用的分布式操作系统。该系统利用“分布式”技术将手机、电…

centos 7 上如何安装chrome 和chrome-driver

centos 7 上如何安装chrome 和chrome-driver 查找自己的服务器是什么系统 cat /etc/os-release这里以centos linux 7为例 下载google-chrome安装包 wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm安装chrome sudo yum localinstall go…

C++ 输入用户名和密码 防止注入攻击

1、问题解释:注入攻击 ,无密码直接登录数据库 可视化展示 1.1、当你的数据库为:其中包含三个字段id user 以及md5密码 1.2、在使用C堆数据库信息进行访问的时候,使用多条语句进行查询 string sql "select id from t_user…

阿里云最新优惠券领取方法及优惠活动汇总

随着互联网的飞速发展,云服务已经成为企业和个人使用的重要基础设施。阿里云作为全球领先的云服务提供商,一直致力于为用户提供优质的云服务。为了回馈用户,阿里云会定期推出各种优惠券和优惠活动,本文将为大家介绍阿里云最新优惠…

Unity中的异步编程【7】——在一个异步方法里播放了animation动画,取消任务时,如何停止动画播放

用一个异步方法来播放一个动画,正常情况是:动画播放结束时,异步方法宣告结束。那如果我提前取消这个异步任务,那在这个异步方法里面,我要怎么停止播放呢?! 一、播放animation动画的异步实现 1…

医疗器械网络安全风险评定CVSS打分

为了完成医疗器械软件的网络安全风险评定相关文档,需要进行CVSS评分,这个评分对于第一次做的人来说感觉还是有些迷惑的,查了一些资料,留作参考。 CVSS 指的是 Common Vulnerability Scoring System,即通用漏洞评分系统…

七、HorizontalPodAutoscaler(HPA)

目录 一、HPA概述: 二、HPA工作机制: 三、HPA流程: 四、HPA API对象: 五、示例: 1、基于CPU的HPA 2、常见问题: 3、基于内存的HPA 一、HPA概述: Horizontal Pod Autoscaler,中文就是水平自动伸缩可…

JUC02同步和锁

同步&锁 相关笔记:www.zgtsky.top 临界区 临界资源:一次仅允许一个进程使用的资源成为临界资源 临界区:访问临界资源的代码块 竞态条件:多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测&am…

mysql清空并重置自动递增初始值

需求:当上新项目时,测试环境数据库导出来的表id字段一般都有很大的初始递增值了,需要重置一下 先上代码: -- 查看当前自动递增值 SHOW CREATE TABLE table_name; -- 重建自动递增索引(可选) ALTER TABLE t…

初学者的基本 Python 面试问题和答案

文章目录 专栏导读1、什么是Python?列出 Python 在技术领域的一些流行应用。2、在目前场景下使用Python语言作为工具有什么好处?3、Python是编译型语言还是解释型语言?4、Python 中的“#”符号有什么作用?5、可变数据类型和不可变…

【深度学习:Micro-Models】用于标记图像和视频的微模型简介

【深度学习:Micro-Models】用于标记图像和视频的微模型简介 微模型:起源故事微模型到底是什么?更详细地解释微观模型:一维标签蝙蝠侠效率 在计算机视觉项目中使用微模型的额外好处面向数据的编程 在本文中,我们将介绍 …

qt5.14.2配置opencv4.5.5

使用环境:windows,opencv4.5.5,qt5.14.2,msvc编译器 这里的opencv文件是已经编译好了,在qt工程中配置就可使用,编译器得是msvc才行,MinGW不管用。 资源地址:https://download.csdn.…

【年终总结】回首2023的精彩,迈向2024的未来

文章目录 一、历历在目,回首成长之路🏃‍1、坚持输出,分享所学2、积土成山,突破万粉3、不断精进,向外涉足 二、雅俗共赏,阅历百般美好🎻1、音乐之声,声声入耳2、书海遨游&#xff0c…