大模型训练不难,三步即可实现

news2024/11/15 4:32:48

前言

初步认识了大模型长什么样了,接下来一起来看看如何训练出一个大模型。

训练方式,这里主要参考OpenAI发表的关于InstructGPT的相关训练步骤,主流的大模型训练基本形式大多也是类似的:
在这里插入图片描述

1、预训练(Pretraining)

预训练是大模型训练的第一步,目的是让模型学习语言的统计模式和语义信息。主流的预训练阶段步骤基本都是近似的,其中最重要的就是数据,需要收集大量的无标注数据,例如互联网上的文本、新闻、博客、论坛等等。这些数据可以是多种语言的,并且需要经过一定的清洗和处理,以去除噪音,无关信息以及个人隐私相关的,最后会以tokenizer粒度输入到上文提到的语言模型中。这些数据经过清洗和处理后,用于训练和优化语言模型。预训练过程中,模型会学习词汇、句法和语义的规律,以及上下文之间的关系。OpenAI的ChatGPT4能有如此惊人的效果,主要的一个原因就是他们训练数据源比较优质。

2、 指令微调阶段(Instruction Tuning Stage)

在完成预训练后,就可以通过指令微调去挖掘和增强语言模型本身具备的能力,这步也是很多企业以及科研研究人员利用大模型的重要步骤。

Instruction tuning(指令微调)是大模型训练的一个阶段,它是一种有监督微调的特殊形式,旨在让模型理解和遵循人类指令。在指令微调阶段,首先需要准备一系列的NLP任务,并将每个任务转化为指令形式,其中指令包括人类对模型应该执行的任务描述和期望的输出结果。然后,使用这些指令对已经预训练好的大语言模型进行监督学习,使得模型通过学习和适应指令来提高其在特定任务上的表现。

为了让模型训练更加高效和简单,这个阶段还有一种高效的fine-tuning技术,这为普通的从业者打开了通向使用大模型的捷径。

Parameter-Efficient Fine-Tuning (PEFT)旨在通过最小化微调参数的数量和计算复杂度,达到高效的迁移学习的目的,提高预训练模型在新任务上的性能,从而缓解大型预训练模型的训练成本。在训练过程中,预训练模型的参数保持不变,只需微调少量的额外参数,就可以达到与全量微调相当的性能。
在这里插入图片描述

目前,很多研究对PEFT方法进行了探索,例如Adapter Tuning和Prefix Tuning等。其中,Adapter Tuning方法在面对特定的下游任务时,将预训练模型中的某些层固定,只微调接近下游任务的几层参数。而Prefix Tuning方法则是在预训练模型的基础上,添加一些额外的参数,这些参数在训练过程中会根据特定的任务进行更新和调整。
在这里插入图片描述

工业界现在常用的Adapter Tuning的技术是Low-Rank Adaptation(LoRA) 。它通过最小化微调参数的数量和计算复杂度,实现高效的迁移学习,以提高预训练模型在新任务上的性能。LoRA 的核心思想是将预训练模型的权重矩阵分解为两个低秩矩阵的乘积。通过这种分解,可以显著减少微调参数的数量,并降低计算复杂度。该方式和机器学习中经典的降维的思想很类似,类似地,LoRA 使用了矩阵分解技术中的奇异值分解 (Singular Value Decomposition, SVD) 或低秩近似 (Low-Rank Approximation) 方法,将原始权重矩阵分解为两个低秩矩阵的乘积。
在这里插入图片描述

在微调过程中,LoRA 只更新这两个低秩矩阵的参数,而保持其他预训练参数固定不变。这样可以显著减少微调所需的计算资源和时间,并且在很多任务上取得了与全量微调相当的性能。

LoRA技术的引入使得在大规模预训练模型上进行微调更加高效和可行,为实际应用提供了更多可能性。

3、对齐微调(Alignment Tuning)

主要目标在于将语言模型与人类的偏好、价值观进行对齐,其中最重要的技术就是使用RLHF(reinforcement learning from human feedback)来进行对齐微调。
在这里插入图片描述

Step 1.预训练模型的有监督微调

先收集一个提示词集合,并要求标注人员写出高质量的回复,然后使用该数据集以监督的方式微调预训练的基础模型。

Step 2.训练奖励模型

这个过程涉及到与人类评估者进行对话,并根据他们的反馈来进行调整和优化。评估者会根据个人偏好对模型生成的回复进行排序,从而指导模型生成更符合人类期望的回复。这种基于人类反馈的训练方式可以帮助模型捕捉到更多人类语言的特点和习惯,从而提升模型的生成能力。

Step 3.利用强化学习模型微调

主要使用了强化学习的邻近策略优化(PPO,proximal policy optimization )算法,对于每个时间步,PPO算法会计算当前产生和初始化的KL散度,根据这个分布来计算一个状态或动作的预期回报,然后使用这个回报来更新策略,达到对SFT模型进一步优化。

但是这种算法存在一些比较明显的缺点,比如PPO是on-policy算法,每一次更新都需要收集新的样本,这就会导致算法的效率低下,并且更新是在每次训练时进行的,因此策略更新比较频繁,这就会导致算法的稳定性较差。

所以当前有很多新的技术出来替代RLHF技术:

在这里插入图片描述

直接偏好优化(DPO)是一种对传统RLHF替代的技术,作者在论文中提出拟合一个反映人类偏好的奖励模型,将奖励函数和最优策略之间的映射联系起来,从而把约束奖励最大化问题转化为一个单阶段的策略训练问题。然后通过强化学习来微调大型无监督语言模型,以最大化这个预估的奖励。这个算法具有简单有效和计算轻量级的特点,不需要拟合奖励模型,只需要进行单阶段训练,也不需要大量的超参数调节,所以在响应质量方面也通常优于传统的RLHF。另外还有RLAIF从采样方式,生成训练奖励模型的评分的角度来替代原有的PPO的RLHF进行训练。
在这里插入图片描述
在这里插入图片描述

对齐微调是一个关键的阶段,这一阶段使用强化学习从人类反馈中进行微调,以进一步优化模型的生成能力。它通过与人类评估者和用户的互动,不断优化模型的生成能力,以更好地满足人类期望和需求。

随着大模型的持续爆火,各行各业都在开发搭建属于自己企业的私有化大模型,那么势必会需要大量大模型人才,同时也会带来大批量的岗位?“雷军曾说过:站在风口,猪都能飞起来”可以说现在大模型就是当下风口,是一个可以改变自身的机会,就看我们能不能抓住了。

大模型资源分享

针对所有自学遇到困难的同学,我为大家系统梳理了大模型学习的脉络,并且分享这份LLM大模型资料:其中包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等。😝有需要的小伙伴,可以扫描下方二维码免费领取↓↓↓

在这里插入图片描述

一、全套 AGI 大模型学习路线

AI 大模型时代的精彩学习之旅:从根基铸就到前沿探索,牢牢掌握人工智能核心技能!

在这里插入图片描述

二、640 套 AI 大模型报告合集

此套涵盖 640 份报告的精彩合集,全面涉及 AI 大模型的理论研究、技术实现以及行业应用等诸多方面。无论你是科研工作者、工程师,还是对 AI 大模型满怀热忱的爱好者,这套报告合集都将为你呈上宝贵的信息与深刻的启示。

在这里插入图片描述

三、AI 大模型经典 PDF 书籍

伴随人工智能技术的迅猛发展,AI 大模型已然成为当今科技领域的一大热点。这些大型预训练模型,诸如 GPT-3、BERT、XLNet 等,凭借其强大的语言理解与生成能力,正在重塑我们对人工智能的认知。而以下这些 PDF 书籍无疑是极为出色的学习资源。
在这里插入图片描述
在这里插入图片描述

阶段 1:AI 大模型时代的基础认知

  • 目标:深入洞悉 AI 大模型的基本概念、发展历程以及核心原理。

  • 内容

    • L1.1 人工智能概述与大模型起源探寻。
    • L1.2 大模型与通用人工智能的紧密关联。
    • L1.3 GPT 模型的辉煌发展历程。
    • L1.4 模型工程解析。
    • L1.4.1 知识大模型阐释。
    • L1.4.2 生产大模型剖析。
    • L1.4.3 模型工程方法论阐述。
    • L1.4.4 模型工程实践展示。
    • L1.5 GPT 应用案例分享。

阶段 2:AI 大模型 API 应用开发工程

  • 目标:熟练掌握 AI 大模型 API 的运用与开发,以及相关编程技能。

  • 内容

    • L2.1 API 接口详解。
    • L2.1.1 OpenAI API 接口解读。
    • L2.1.2 Python 接口接入指南。
    • L2.1.3 BOT 工具类框架介绍。
    • L2.1.4 代码示例呈现。
    • L2.2 Prompt 框架阐释。
    • L2.2.1 何为 Prompt。
    • L2.2.2 Prompt 框架应用现状分析。
    • L2.2.3 基于 GPTAS 的 Prompt 框架剖析。
    • L2.2.4 Prompt 框架与 Thought 的关联探讨。
    • L2.2.5 Prompt 框架与提示词的深入解读。
    • L2.3 流水线工程阐述。
    • L2.3.1 流水线工程的概念解析。
    • L2.3.2 流水线工程的优势展现。
    • L2.3.3 流水线工程的应用场景探索。
    • L2.4 总结与展望。

阶段 3:AI 大模型应用架构实践

  • 目标:深刻理解 AI 大模型的应用架构,并能够实现私有化部署。

  • 内容

    • L3.1 Agent 模型框架解读。
    • L3.1.1 Agent 模型框架的设计理念阐述。
    • L3.1.2 Agent 模型框架的核心组件剖析。
    • L3.1.3 Agent 模型框架的实现细节展示。
    • L3.2 MetaGPT 详解。
    • L3.2.1 MetaGPT 的基本概念阐释。
    • L3.2.2 MetaGPT 的工作原理剖析。
    • L3.2.3 MetaGPT 的应用场景探讨。
    • L3.3 ChatGLM 解析。
    • L3.3.1 ChatGLM 的特色呈现。
    • L3.3.2 ChatGLM 的开发环境介绍。
    • L3.3.3 ChatGLM 的使用示例展示。
    • L3.4 LLAMA 阐释。
    • L3.4.1 LLAMA 的特点剖析。
    • L3.4.2 LLAMA 的开发环境说明。
    • L3.4.3 LLAMA 的使用示例呈现。
    • L3.5 其他大模型介绍。

阶段 4:AI 大模型私有化部署

  • 目标:熟练掌握多种 AI 大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述。
    • L4.2 模型私有化部署的关键技术解析。
    • L4.3 模型私有化部署的实施步骤详解。
    • L4.4 模型私有化部署的应用场景探讨。

学习计划:

  • 阶段 1:历时 1 至 2 个月,构建起 AI 大模型的基础知识体系。
  • 阶段 2:花费 2 至 3 个月,专注于提升 API 应用开发能力。
  • 阶段 3:用 3 至 4 个月,深入实践 AI 大模型的应用架构与私有化部署。
  • 阶段 4:历经 4 至 5 个月,专注于高级模型的应用与部署。
    在这里插入图片描述

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

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

相关文章

安卓13设置动态修改设置显示版本号 版本号增加信息显示 android13增加序列号

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 设置 =》关于平板电脑 =》版本号 在这里显示了系统的一些信息,但是这里面的信息并不包含序列号之类的信息,我们修改下系统设置,在这里增加上相关的序列号。 2.问题分析…

C语言 使用scanf函数时出现错误代码C4996

文章目录 错误样式解决方法方法一:使用安全的函数替代方法二:禁用警告方法三:检查并修改编译器设置 错误样式 C4996 ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _C…

《算法岗面试宝典》正式发布

大家好,历时半年完善,《算法岗面试宝典》 终于可以跟大家见面了。 最近 ChatGPT 爆火,推动了技术圈对大模型算法场景落地的热情,就业市场招聘人数越来越多,算法岗一跃成为竞争难度第一的岗位。 岗位方向 从细分方向…

K8s Calico替换为Cilium,以及安装Cilium过程

一、删除Calico kubectl delete daemonset calico-node -n kube-systemkubectl delete deployment calico-kube-controllers -n kube-system kubectl delete ds kube-flannel-ds -n kube-system kubectl delete cm calico-config -n kube-system kubectl delete secret calico…

YOLOv5训练COCO2017数据集

网上没找到适合新手小白的教程,看了些教程,但还是没法解决自己遇到的问题。记录下自己的过程,希望能提供点帮助。 默认已经部署好了yolov5。 安装部署yolov5可参考以下: ubuntu20.04配置YOLOV5(非虚拟机)_ubuntu系统实现yolov5没有显卡-CSDN博客 目录 一、数据集下载…

Java基础-零拷贝

文章目录 什么是零拷贝?传统IO执行过程零拷贝的意义零拷贝的主要实现方式实际应用场景零拷贝的优势零拷贝的局限性 Java 中的零拷贝实现FileChannel.transferTo()FileChannel.transferFrom() 相关知识点解释什么是DMA内核空间和用户空间什么是用户态、内核态什么是上…

2012年408考研真题-数据结构

8.【2012统考真题】求整数n(n≥0)的阶乘的算法如下&#xff0c;其时间复杂度是(&#xff09;。 int fact(int n){ if(n<1) return 1; return n*fact (n-1); } A. O(log2n) B. O(n) C. O(nlog2n) D. O(n^2) 解析&#xff1a; 观察代码&#xff0c;我们不…

如何在openKylin中配置ssh服务并实现远程连接开放麒麟系统(1)

文章目录 前言1. 安装SSH服务2. 本地SSH连接测试3. openKylin安装Cpolar4. 配置 SSH公网地址5. 公网远程SSH连接6. 固定SSH公网地址7. SSH固定地址连接 前言 本文主要介绍如何在openKlyin系统中设置ssh连接&#xff0c;并结合cpolar内网穿透工具实现远程也可以ssh连接本地局域…

功能 接口测试,详解从抓包 +linux 日志 + 数据库的 bug 定位!

我在跟很多测试人员交流中发现&#xff0c;很大一部分测试工程师在进行功能和接口测试过程中&#xff0c;对于发现的bug很少去进行定位&#xff0c;只是将bug基于业务操作上如何出现的&#xff0c;进行描述&#xff1b;至于bug产生的原因&#xff0c;开发自己排查去吧。本文中&…

多语言文本 AI 纠错格式化 API 数据接口

多语言文本 AI 纠错格式化 API 数据接口 AI / 文本处理 AI 模型智能纠正 语法纠错 / 文本格式化。 1. 产品功能 支持多语言文本的语法纠错&#xff1b;自动识别并纠正拼写错误、语法错误和标点符号使用不当&#xff1b;优化文本格式&#xff0c;提高可读性&#xff1b;基于AI…

《李·斯莫林讲量子引力》:在不断运动的宇宙中探究离散的时空

可能是斯莫林的书读得并不多&#xff0c;感觉他讲故事的能力不如讲物理定律的能力。前半部分纯知识的可读性要好于后面讲述理论的创造过程的故事。如作者所说现代科学没有任何领域是单打独斗&#xff0c;而是不断探索&#xff0c;在团队中&#xff0c;前人和其他专业领域专家合…

vue使用PDF.JS踩的坑--部署到服务器上显示pdf.mjs viewer.mjs找不到资源

之前项目使用的pdf.js 是2.15.349版本&#xff0c;最近换了一个4.6.82的版本&#xff0c;在本地上浏览文件运行的好好的&#xff0c;但是发布到服务器&#xff08;IIS&#xff09;上打不开文件&#xff0c;控制台提示找不到pdf.mjs viewer.mjs。 之前使用的2.15.349pdf和viewer…

76、Python之函数式编程:柯里化都不懂,别说你会函数式编程

引言 很多时候&#xff0c;我们在定义函数处理比较复杂的业务逻辑时&#xff0c;首先是想着遵照“单一职能原则&#xff08;SRP&#xff09;”&#xff0c;尽量拆分为功能单一、足够精简的函数&#xff0c;以便保证代码的可读性和可扩展性。但是&#xff0c;有些逻辑就是没法拆…

2024年双十一有什么好物值得买呢?双十一必买好物清单

双十一买什么犒劳自己既不会浪费钱又可以增添生活的幸福感&#xff1f;以下就整理了五款更适合与秋冬独自生活相伴的好物&#xff0c;精致增加生活氛围感&#xff0c;热爱生活的同时更好的爱自己&#xff01;努力工作和生活当然也要更好的享受生活&#xff0c;给生活创造更多美…

Vue(14)——组合式API①

setup 特点&#xff1a;执行实际比beforeCreate还要早&#xff0c;并且获取不到this <script> export default{setup(){console.log(setup函数);},beforeCreate(){console.log(beforeCreate函数);} } </script> 在setup函数中提供的数据和方法&#xff0c;想要在…

数据结构和算法之树形结构(2)

文章出处&#xff1a;数据结构和算法之树形结构(2) 关注码农爱刷题&#xff0c;看更多技术文章&#xff01;&#xff01; 三、二叉查找树(接前篇) 二叉查找树&#xff0c;又称二叉搜索树或二叉排序树&#xff0c;是在普通二叉树基础上为了实现快速查找而设计出来的一种树形结…

Fyne ( go跨平台GUI )中文文档-绘图和动画(三)

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2 这是一个系列文章&#xff1a; Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne ( go跨平台GUI…

继电器测试负载箱的维护和保养方法有哪些?

继电器测试负载箱是用于模拟各种电气负载的设备&#xff0c;广泛应用于继电器、接触器等电气元件的测试和校验。在日常使用中&#xff0c;为确保其正常运行和准确性&#xff0c;以下是一些常见的维护和保养方法&#xff1a; 1. 电源问题&#xff1a;如果电源电压不稳定或波动过…

PD 取电快充协议芯片 支持广泛应用,最高取电电压100W

XSP06是一款支持多协议的受电端取电快充芯片&#xff0c;支持PD2.0/3.0、QC2.0/3.0、华为FCP、三星AFC快充协议。它允许设备通过与快充适配器通信&#xff0c;有效地从适配器或车充等电源诱骗出所需要的电压为自身供电。 特性&#xff1a; 支持电压档位&#xff1a;XSP06支持触…

根据一级分类Id获取专辑标签(内连接,一对多)

文章目录 base_attributebase_attribute_value 1、BaseAttribute2、BaseAttributeValue3、BaseCategoryApiController --》findAttribute()4、BaseCategoryServiceImpl --》findAttribute()5、BaseAttributeMapper6、BaseAttributeMapper.xml 当选择完专辑分类之后&#xff0c;…