AI大模型的预训练、迁移和中间件编程

  大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。

  本文主要是AI大模型的预训练、迁移和中间件编程,希望能对学习大模型的同学们有所帮助。

前言

  OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景,在多项专业和学术基准测试中表现出的智力水平,不仅接近甚至有时超越了人类的平均水平。这使得 ChatGPT 在推出之初就受到广大用户的欢迎,被科技界誉为人工智能领域的新里程碑。

  人们在为生成式人工智能所带来的多模态内容创作效率的提升而欢呼时,常常低估ChatGPT的推理能力。这种能力使ChatGPT不仅能作为新一代人机交互的核心,还能作为智能代理来构建自动化和半自动化的工作流程,甚至使它能与工业控制或机器人领域相结合,引发深刻的社会变革。

  许多人低估了这种变革的影响力。以当前研发和商业应用的迭代速度来看,预计在未来三至五年内,这种变革将逐渐渗透到人类生活和生产的各个方面,极大地提升现有的生产力。若要追溯上一个被称为“巨大技术变革”的时代,很多人都会毫不犹豫地说是互联网开创期。这次变革也将重塑内容生产相关的商业模式,改变现有的工作方式,甚至推动生产方式的变革。当然,这还需要依赖下一代大语言模型在内容输出的可控性方面的突破。

ChatGPT原理与架构:

大模型的预训练、迁移和中间件编程

程戈 著

大模型领域技术专家和布道者实践经验总结

阿里、Google等企业多位大模型技术专家联袂推荐

限时五折优惠中!,点击链接进行购买

内容简介

  这是一本深入阐述ChatGPT等大模型的工作原理、运行机制、架构设计和底层技术,以及预训练、迁移、微调和中间件编程的著作。它将帮助我们从理论角度全面理解大模型,从实践角度更好地应用大模型,是作者成功训练并部署大模型的过程复盘和经验总结。

  • 第1章介绍了ChatGPT等大模型的发展历程、技术演化和技术栈等基础知识;
  • 第2~5章深入讲解了Transformer的架构原理,并从GPT-1的生成式预训练到GPT-3的稀疏注意力机制详细描述了GPT系列的架构演进;
  • 第6~8章从底层技术实现的角度讲解了大模型的训练策略、数据处理方法,以及如何利用策略优化和人类反馈来进一步提升模型的表现;
  • 第9~10章首先详细讲解了大模型在垂直领域的低算力迁移方法,并给出了医疗和司法领域的迁移案例,然后讲解了大模型的中间件编程;
  • 第11章对GPT的未来发展趋势进行预测,探讨数据资源、自回归模型的局限性,以及大模型时代具身智能的可行路线。

作者简介

  程戈:博士生导师,湘潭大学计算机学院·网络空间安全学院教授,湘潭大学技术转移中心副主任,湘潭市京东智能城市与大数据研究院副院长,智慧司法与数字治理湖南省重点实验室副主任,CCF计算法学会执委。

  大模型领域技术专家和布道者,作为两项科技部国家重点研发子课题的负责人,与成都数之联等多家企业合作推动人工智能在司法领域的落地,带领团队开发了JusticeGPT司法大模型,不同于其他的以提升司法领域知识问答能力为核心的司法大模型,该大模型致力于提升司法文献检索增强生成以及司法文档的多跳信息聚合能力,并通过特定的多任务表征与控制指令生成框架重构司法信息化系统的业务中台,实现司法业务编排以及工作流自动化。

  连续创业者,先后创立湘潭安道致胜信息科技有限公司等多家企业,曾经作为共同创始人加盟美国WiFi Free llc. ,开发了WiFi Free、WiFi Analyzer?等项目,其中WiFi Free在2014到2015年是Google Play市场相关WiFi分享类应用下载的前三名。作为技术顾问,先后服务于北京捷通华声等多家企业,提供知识表示学习的技术解决方案,为某知名私募开发了基于深度学习的股票趋势预测系统,成为该私募公司的主要量化工具。

专家推荐

  作者结合科研和实践经验,用朴实无华的语言,扎实、严谨地剖析了ChatGPT的技术原理和大模型的关键技术。全书内容丰富翔实,图文并茂,任何想要真正理解ChatGPT的读者,都会从本书中获益匪浅,深刻领会这项里程碑式的技术成果。
—— 陈峰 北京滴普科技有限公司合伙人&《ClickHouse性能之巅》作者

  创业不易,比较幸运的是,我在北大做研究时,和团队一起成功地开发了ChatLaw——国内首个在法律领域应用的大模型。本书的作者和团队也成功训练出法律行业的大模型,这本书分享了他们的成功经验。如果你对类似ChatGPT大模型的训练感兴趣,那么本书将是你不容错过的力作。
—— 崔家熙 ChatLaw

  本书不仅能让你站在巨人的肩膀上俯瞰大语言模型的全貌,还带领你深入洞察其背后的原理与架构设计。不仅是一本理论与实践并重的参考书,更是一部引领人工智能领域创新发展的启示录。它将为你揭示大语言模型如何改变我们的生活,并展示如何在这一领域挖掘无限可能。
—— 黄剑 Google工程师/抖音“剑哥聊技术”博主(仅代表个人观点,与任何公司无关)

  本书系统地剖析了支撑ChatGPT的关键技术,包括Transformer模型、注意力机制、生成式预训练等理论基础,以及模型优化、低算力部署、人机交互等关键问题。全书内容丰富翔实,图文并茂,任何想要真正理解ChatGPT的读者都能从中获益。作者结合科研和实践经验,用平实的语言娓娓道来,让这个高深的主题变得触手可及。
—— 刘聪 南京云问科技首席算法架构师/知乎博主:@刘聪NLP/《ChatGPT原理与实践》作者

  这是一本细致入微地剖析ChatGPT内在技术原理的佳作。内容严谨,结构清晰,层层深入地剖析了大语言模型背后的关键技术,如Transformer、注意力机制、生成式预训练等。这是一本质量上乘的技术专著,它不仅系统全面,而且深入浅出,将ChatGPT这一复杂系统娓娓道来,让读者获益匪浅。
—— 刘树春 阿里巴巴高级算法专家

  对于任何渴望深入了解大语言模型的人来说,本书是一本无价之宝。它是进入大语言模型训练和微调世界的敲门砖,同时也是您在人工智能领域取得成就的助推器。通过本书,您将掌握大语言模型的工作原理、技术挑战与发展趋势,从而为自己在人工智能时代的角色定位提供有力支持。
—— 占冰强 AIGCLINK发起人/行行AI合伙人

读者对象

  • 人工智能领域的产品经理。对于希望在自家产品中引入AI功能的产品经理来说,了解ChatGPT等大语言模型的基本原理和运行机制是至关重要的。从本书中,他们可以学习大语言模型的设计思想、构造方式,以及如何将这些模型整合到产品中去。他们也可以借此更好地理解产品的性能瓶颈,从而进行更为精确的产品规划。

  • 人工智能相关专业的研究人员。AI研究者可以将本书作为一本深入了解大语言模型的教科书。无论是Transformer模型的细节,还是GPT模型训练和优化的技巧,书中都进行了详细的介绍。更重要的是,书中还探讨了一些最前沿的研究领域,比如人类反馈强化学习、指令自举标注算法等。

  • 大规模数据处理和分析的工程师。对于面临如何高效处理大规模数据、如何构建分布式训练架构等问题的工程师来说,本书可以提供许多宝贵的建议和思路。例如,第6章对数据处理和分布式训练模式进行了深入的讨论。

  • AI技术的爱好者和使用者。如果你是一个AI技术的爱好者,或者是一个善于运用技术改善生活的人,本书同样适合你。书中对大语言模型的介绍通俗易懂,可以让你对这个强大的技术有个全面的了解。此外,书中还提供了许多实用的使用技巧和案例,可以将它们直接应用到你的生活或工作中去。

目录


前言第1章 人工智能的新里程碑——ChatGPT / 11.1 ChatGPT的发展历程 / 11.2 ChatGPT的能力 / 31.3 大语言模型的技术演化 / 61.3.1 从符号主义到连接主义 / 61.3.2 Transformer模型 / 71.3.3 无监督预训练 / 101.3.4 有监督微调 / 111.3.5 人类反馈强化学习 / 111.4 大语言模型的技术栈 / 121.5 大语言模型带来的影响 / 131.6 大语言模型复现的壁垒 / 161.6.1 算力瓶颈 / 161.6.2 数据瓶颈 / 171.6.3 工程瓶颈 / 181.7 大语言模型的局限性 / 191.8 小结 / 20第2章 深入理解Transformer模型 / 212.1 Transformer模型简介 / 212.2 自注意力机制 / 232.2.1 自注意力机制的计算过程 / 232.2.2 自注意力机制的本质 / 262.2.3 自注意力机制的优势与局限性 / 282.3 多头注意力机制 / 292.3.1 多头注意力机制的实现 / 292.3.2 多头注意力机制的作用 / 312.3.3 多头注意力机制的优化 / 322.4 前馈神经网络 / 332.5 残差连接 / 352.6 层归一化 / 362.7 位置编码 / 382.7.1 位置编码的设计与实现 / 382.7.2 位置编码的变体 / 402.7.3 位置编码的优势与局限性 / 412.8 训练与优化 / 412.8.1 损失函数 / 412.8.2 优化器 / 422.8.3 学习率调整策略 / 422.8.4 正则化 / 432.8.5 其他训练与优化技巧 / 442.9 小结 / 46第3章 生成式预训练 / 473.1 生成式预训练简介 / 473.2 GPT的模型架构 / 483.3 生成式预训练过程 / 503.3.1 生成式预训练的目标 / 523.3.2 生成式预训练的误差反向传播过程 / 533.4 有监督微调 / 553.4.1 有监督微调的原理 / 553.4.2 有监督微调的特定任务 / 563.4.3 有监督微调的步骤 / 583.5 小结 / 59第4章 无监督多任务与零样本学习 / 614.1 编码器与解码器 / 614.2 GPT-2的模型架构 / 644.2.1 层归一化 / 654.2.2 正交初始化 / 664.2.3 可逆的分词方法 / 674.2.4 可学习的相对位置编码 / 714.3 无监督多任务 / 724.4 多任务学习与零样本学习的关系 / 744.5 GPT-2的自回归生成过程 / 764.5.1 子词单元嵌入 / 764.5.2 自回归过程 / 774.6 小结 / 79第5章 稀疏注意力与基于内容的学习 / 805.1 GPT-3的模型架构 / 815.2 稀疏注意力模式 / 835.2.1 Sparse Transformer的特点 / 835.2.2 局部带状注意力 / 855.2.3 跨层稀疏连接 / 855.3 元学习和基于内容的学习 / 865.3.1 元学习 / 875.3.2 基于内容的学习 / 875.4 概念分布的贝叶斯推断 / 905.4.1 隐式微调 / 905.4.2 贝叶斯推断 / 935.5 思维链的推理能力 / 955.6 小结 / 99第6章 大语言模型的预训练策略 / 1006.1 预训练数据集 / 1006.2 预训练数据的处理 / 1026.3 分布式训练模式 / 1046.3.1 数据并行 / 1056.3.2 模型并行 / 1066.4 分布式训练的技术路线 / 1106.4.1 Pathways / 1116.4.2 Megatron-LM / 1136.4.3 ZeRO / 1166.5 训练策略案例 / 1206.5.1 训练框架 / 1206.5.2 参数稳定性 / 1206.5.3 训练设置的调整 / 1216.5.4 BF16优化 / 1216.5.5 其他因素 / 1226.6 小结 / 123第7章 近端策略优化算法 / 1247.1 传统的策略梯度方法 / 1257.1.1 策略梯度方法的基本原理 / 1257.1.2 重要性采样 / 1277.1.3 优势函数 / 1287.2 Actor-Critic算法 / 1297.2.1 Actor-Critic算法的基本步骤 / 1307.2.2 值函数与策略更新 / 1317.2.3 Actor-Critic算法的问题与挑战 / 1317.3 信任域策略优化算法 / 1327.3.1 TRPO算法的目标 / 1327.3.2 TRPO算法的局限性 / 1337.4 PPO算法的原理 / 1347.5 小结 / 137第8章 人类反馈强化学习 / 1388.1 强化学习在ChatGPT迭代中的作用 / 1388.2 InstructGPT训练数据集 / 1408.2.1 微调数据集的来源 / 1418.2.2 标注标准 / 1428.2.3 数据分析 / 1438.3 人类反馈强化学习的训练阶段 / 1458.3.1 有监督微调阶段 / 1458.3.2 奖励建模阶段 / 1478.3.3 强化学习阶段 / 1488.4 奖励建模算法 / 1498.4.1 算法思想 / 1498.4.2 损失函数 / 1508.5 PPO算法在InstructGPT中的应用 / 1518.6 多轮对话能力 / 1538.7 人类反馈强化学习的必要性 / 1548.8 小结 / 156第9章 大语言模型的低算力领域迁移 / 1579.1 指令自举标注 / 1579.2 人工智能反馈 / 1619.3 低秩自适应 / 1639.3.1 模型训练与部署 / 1649.3.2 秩的选择 / 1659.4 量化:降低部署的算力要求 / 1669.5 SparseGPT剪枝算法 / 1689.6 开源大语言模型的低算力迁移案例 / 1709.6.1 基座模型 / 1709.6.2 自举指令微调的羊驼系列 / 1719.6.3 中文解决方案 / 1729.6.4 医疗领域的迁移实例 / 1749.6.5 司法领域的迁移实例 / 1759.7 小结 / 178第10章 中间件编程 / 18010.1 补齐短板—LangChain恰逢其时 / 18010.2 多模态融合中间件 / 18410.2.1 任务规划 / 18510.2.2 模型选择 / 18710.2.3 任务执行 / 18810.2.4 响应生成 / 18910.3 AutoGPT自主代理与任务规划 / 18910.4 中间件框架的竞品 / 19210.5 小结 / 194第11章 大语言模型的未来之路 / 19511.1 强人工智能之路 / 19511.2 数据资源枯竭 / 19811.3 自回归模型的局限性 / 20011.4 具身智能 / 20211.4.1 具身智能的挑战 / 20311.4.2 PaLM-E / 20411.4.3 ChatGPT for Robotics / 20511.5 小结 / 210

直播预告

  3月7日周四19:00,大模型领域技术专家,湖南国家应用数学中心副主任,湘潭市京东智能城市与大数据研究院副院长,湘潭大学计算机学院.网络空间学院教授 程戈老师与您分享“世界模型改变世界:从GPT到Sora”,点击预约观看!

在这里插入图片描述

粉丝福利

  • 本次送书两本
  • 活动时间:截止到2024-3-8 14:00
  • 参与方式:关注博主、并在此文章下面点赞、收藏并任意评论。

自主购买

  小伙伴也可以访问链接进行自主购买哦~

  直达京东购买链接🔗:ChatGPT原理与架构:大模型的预训练、迁移和中间件编程

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

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

相关文章

RS编码的FPGA实现

RS编码,即Reed-solomon codes,是一类纠错能力很强的特殊的非二进制BCH码(BCH码是一种有限域中的线性分组码,具有纠正多个随机错误的能力)。对于任选正整数S可构造一个相应的码长为nqS-1的 q进制BCH码,而q作…

2024-03-05 linux 分区老显示满,Use 100%,原因是SquashFS 是一种只读文件系统,它在创建时就已经被填满,所有空间都被使用。

一、这两天一直纠结一个问题,无论怎么修改,linux 分区老显示满,Use 100%,全部沾满。如下图的oem分区。 二、导致出现上面的原因是:SquashFS文件系统里的空间利用率总是显示为100%。 三、SDK里面也说明SquashFS文件系统…

$nextTick底层原理(详细) - vue篇

公众号:需要以下pdf,关注下方 2023已经过完了,让我们来把今年的面试题统计号,来备战明年的金三银四!所以,不管你是社招还是校招,下面这份前端面试工程师高频面试题,请收好。 前言 n…

【力扣白嫖日记】1045.买下所有产品的客户

前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1045.买下所有产品的客户 表:Customer 列名类型customer_idintproduct_keyint 该表可能包含重复…

数据结构 - Trie树(字符串统计、最大异或对)

文章目录 前言Part 1:Trie字符串统计1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2:最大异或对1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客将介绍Trie树的常见应用,包括:Trie…

OPC DA协议网关

在工业自动化领域,数据的采集与传输是至关重要的环节。而OPC DA(OLE for Process Control Data Access)协议作为这一领域内的标准通信协议,为不同设备和软件之间的数据交换提供了统一的接口。今天,我们就来深入了解一下…

Cookie和session 及Web相关工具

一 Cookie (一)介绍 Cookie 又称为"小甜饼”。类型为"小型文本文件”,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。由网景公司的前雇员…

Jmeter性能测试 -3数据驱动实战

什么是数据驱动? 从数据文件中读取测试数据,驱动测试过程的一种测试方法。数据驱动可以理解为更高级的参数化。 特点:测试数据与测试代码分离;数据控制过程 好处:降低开发和维护成本,减少代码量&#xf…

ROS 2基础概念#4:消息(Message)| ROS 2学习笔记

ROS 2消息简介 ROS程序使用三种不同的接口来进行沟通:消息(message),服务(service)和动作(action)。ROS 2使用一种简化的描述语言:IDL(interface definition…

Vue.js 深度解析:模板编译原理与过程

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

代码随想录算法训练营day36|435. 无重叠区间、763.划分字母区间、56. 合并区间

435. 无重叠区间 代码随想录 class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:intervals.sort(keylambda x:x[0])result 0for i in range(1,len(intervals)):if intervals[i][0] < intervals[i-1][1]:result 1intervals[i][1] m…

【Spring底层原理高级进阶】Spring Kafka:实时数据流处理,让业务风起云涌!️

&#x1f389;&#x1f389;欢迎光临&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &#x1f680; 本…

【python】堆排序

堆的概念 堆&#xff1a;一种特殊完全二叉树&#xff0c;也就是二叉树必须全部是满的&#xff0c;但是最后一排可以从右向左缺失。 大根堆&#xff1a;每个节点都比他的子节点大 小根堆&#xff1a;每个节点都比子节点小 堆在代码中的形式 堆在代码中实际上就是列表&#…

[Angular 基础] - routing 路由(下)

[Angular 基础] - routing 路由(下) 之前部分 Angular 笔记&#xff1a; [Angular 基础] - 自定义指令&#xff0c;深入学习 directive [Angular 基础] - service 服务 [Angular 基础] - routing 路由(上) 使用 route 书接上回&#xff0c;继续折腾 routing 按照最初的 wi…

Linux--文件(2)-重定向和文件缓冲

命令行中的重定向符号 介绍和使用 在Linux的命令行中&#xff0c;重定向符号用于将命令的输入或输出重定向到文件或设备。 常见的重定向符号&#xff1a; 1.“>“符号&#xff1a;将命令的标准输出重定向到指定文件中&#xff0c;并覆盖原有的内容。 2.”>>“符号&a…

1.初识python

1.初识python 编程语言是用来定义计算机程序的语言&#xff0c;用来向计算机发出指令。 1.python语言是一种面向对象的解释型高级编程语言。 解释型语言&#xff1a;使用专门的解释器对源码程序逐行解释成特定平台的机器并立即执行&#xff0c;是代码在执行时才被解释器一行行…

c++数据结构算法复习基础-- 3 --线性表-单向链表-笔试面试常见问题

1、单链表逆序 思路图 代码实现 //著: 链表结构里记得加 friend void ReverseLink(Clink& link); void ReverseLink(Clink& link) {Node* p link.head_->next_;while( p nullptr){return;}Node* q p->next_;link.head_->next_ nullptr;while(p ! nullpt…

YOLOv8改进 在更换的PoolFormer主干网络中增加注意力机制

一、PoolFormer的网络结构 PoolFormer采用自注意力机制和池化操作相结合的方式&#xff0c;同时考虑了局部和全局的特征关系。 具体的代码如&#xff08;YOLOv8改进 更换多层池化操作主干网络PoolFormer_yolov8池化-CSDN博客&#xff09;所示。 二、Global Attention Mechan…

python一张大图找小图的个数

python一张大图找小图的个数 一、背景 有时候我们在浏览网站时&#xff0c;发现都是前端搞出来的一张张图&#xff0c;我们只能用盯住屏幕的小眼睛看着&#xff0c;很累的统计&#xff0c;这个是我在项目中发现没办法统计&#xff0c;网上的教程很多&#xff0c;都不成功&…

Python 面向对象编程——类的使用

一、学习目标 1&#xff0e;掌握类的定义和实例化对象。 2&#xff0e;熟练掌握类的构造函数__init__使用。 3&#xff0e;掌握类的继承机制和使用。 二、相关练习 1、定义一个玩具类Toy()&#xff0c;创建名字为“小汽车”、“手枪”和“积木”的玩具实例&#xff0c;计…