大模型生成提速2倍!单GPU几小时搞定微调,北大数院校友共同一作丨开源

如何实现大模型推理加速优化?路径有哪些? 方法1、LayerNorm需要在每个样本的特征维度上计算均值和标准差,这可能在特征维度非常大时导致较高的计算开销,且LayerNorm可以稳定训练。BatchNorm使用训练时的统计均值和方差数据直接计算,导致较低的推理延迟,但可能导致训练崩溃和较差的性能。提出了一种PRepBN的新方法,通过使用超参数lamda来控制两个归一化层的比例,在训练中逐步用重新参数化的BatchNorm替换LayerNorm。代码实现。 阅读详情

只需给大模型“加点小零件”,推理速度立刻提升2倍!

图片

不需要额外训练一个模型,也不需要对计算硬件做优化,单张A100最快几小时就能微调完成。

这项新研究名叫Medusa(美杜莎),来自普林斯顿、UIUC、CMU和康涅狄格大学,FlashAttention作者Tri Dao也在其中。

在这里插入图片描述

目前,它已经成功部署到伯克利70亿参数的“骆马”Vicuna中,后续还会支持其他大模型,已经登上GitHub热榜:

图片

但其实,在这种方法推出之前,业界并非没有大模型推理加速方法,主流的就是DeepMind推出的投机采样(speculative decoding)。

相比这种方法,Medusa有什么不一样的地方?

投机采样的2个“bug”

要想加速大模型推理,需要先知道究竟是什么“限制”了它的速度。

相比计算量的增加,大模型推理速度更容易受到内存带宽的影响(memory bound)。

这是因为,大模型由于参数量巨大、远超缓存容量,因此推理时需要先把权重从外部内存(显存)读取一次到缓存中,这个过程受内存带宽限制,速度通常很慢。

在这里插入图片描述

因此,模型做批量推理(batch inference)时,一次处理100个tokens和一个tokens时间上区别不大。

基于这个特点,DeepMind去年11月想出了一个名叫投机采样的神奇操作——

训练一个更小的模型(draft模型),给大模型提前生成一批“候选词”,相比于让大模型自己“思考”生成,直接做“选择”就好。

在这里插入图片描述

由于小模型生成速度比大模型快好几倍,一旦大模型觉得小模型已有的词“可用”,就直接拿来,不用自己再缓慢生成一遍。

这个过程,有点像是输入法的联想词候选,在我们(大模型)想好下一个词用什么之前,输入法(小模型)先给列出一些备选项:

要是看到觉得不错,就从中选一个用;要是觉得生成的都不行,就pass掉自己重新打。

在这里插入图片描述

这种投机采样方法确实取得了显著成效,甚至能轻轻松松在M2 Ultra上以高精度跑340亿参数LLaMA大模型。

在这里插入图片描述

BUT,这种方法存在两个问题。

一方面,给大模型找个生成“候选词”的draft小模型,没那么容易。

这个小模型可不是随便抓个生成模型就能用,除了接口统一、概率分布接近等要求,生成质量也不能比大模型差太多。

对于Meta发布的LLaMA这种模型可能还好,既有几百亿参数的大模型版本,又有几十亿参数的小模型版本,可以把参数量更小的版本拿来当draft模型使用。

但对于其他开源大模型,这种方法就不太适用了,自己去搭建训练一个小模型,不仅时间成本更高,生成效果可能还不达预期。

另一方面,双模型的组合,使得后续要想做系统调优变得更复杂。

这是因为,相比于大模型自身是一个系统,新增加的draft模型相当于又引入了一个系统。

这样会导致模型部署起来更复杂,包括额外的网络传输、不同的硬件条件都需要考虑到,在做计算优化时难度也会进一步提升。

为了解决这些问题,Medusa出现了。

不用小模型,加几个“头”就行

Medusa(美杜莎,一种长有多个头的妖怪)是一种新的大模型推理加速方法。

相比投机采样,它选择直接给Transformer大模型多加几个解码头(decoding heads),每个头都是一个单层前馈网络。

在这里插入图片描述

这几个多出来的解码头,可以让大模型直接一次多生成几个词,而不是“挤牙膏式”一个一个生成。

生成准确率也还可以,在预测“下一个词的下一个词”时,Medusa准确率达到了60%,还在不断优化中。

随后,结合树状注意力机制(tree-based attention mechanism)并行验证这些词,从而实现推理加速。

在这里插入图片描述

基于Medusa,Vicuna的70亿、130亿和330亿参数大模型推理速度,均有了1.9倍以上的效率提升:

在这里插入图片描述

针对70亿参数的模型,研究者们还在不同任务上测试了一下加速效果,显示最高在代码生成上有2.15倍的速度提升。

在这里插入图片描述

最关键的是,用上Medusa后,并不需要将整个大模型重新训练一遍。

相比之下,它可以和大模型一起训练,只需要冻结大模型的参数就行,甚至单个GPU就能搞定。

由于不增加额外的模型,对于分布式推理也很友好。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

大模型训练之加速篇peft库相关技术 加速。大模型 阅读详情

相关推荐

大模型推理优化实践:KV cache 复用与投机采样

我们在 Qwen13B/int8 量化/A10 机器的条件下,对不同输入和前缀长度的请求进行了测试:可以看到在复用 KV cache 功能极大程度的减少了 FTT,并且历史长度的变化对 FTT 的影响较小,FTT 更多的取决于本次请求的输入长度。并且除了多轮对话场景外,KV cache 复用功能也扩展到复用 Ptuning 前缀和长 System Prompt 的场景,降低 FTT 和显存占用。

阿里技术 4135

大模型加速~

例如,在 PyTorch 中将注意力写入 F.softmax (q @ k.T/sqrt (k.size (-1)) + mask) @ v,能提供正确的结果,但如果使用 torch.nn.function.scaled_dot_product_attention,会将计算委托给可用的 FlashAttention,这可以更好地利用缓存的手写内核产生 3 倍的加速。然后在下一次生成时,只传入单个 token,并且缓存的 KV 行将堆叠在新 token 的 KV 行的顶部,以产生单行 Q 和多行 KV。

whaosoft143ai的博客 813

大模型(LLM)的推理加速

论文分析并总结了如何提高大型语言模型(LLM)在推断阶段的效率。文中指出,尽管LLM在多种任务中表现出色,但它们在资源有限的环境中的部署却面临着由于模型大小、注意力机制的复杂性和自回归解码过程所带来的计算和存储成本的挑战。文章通过建立一个包含数据层面、模型层面和系统层面优化的全面分类体系,探讨了当前文献中的不同优化策略,并进行了一系列比较实验,以提供定量见解。最后,文中还总结了现有知识并讨论了未来的研究方向。 Transformer由注意力机制和FFN层构成,自注意力机制带来大量的计算量,计算

qq_52053775的博客 1万+

全面总结!加速大模型推理的超全指南来了!

2023 年,大型语言模型(LLM)以其强大的生成、理解、推理等能力而持续受到高度关注。然而,训练和部署 LLM 非常昂贵,需要大量的计算资源和内存,因此研究人员开发了许多用于加速 LLM 预训练、微调和推理的方法。如果你对大模型感兴趣,可以加入我们的讨论群、星球,获取要更详细的资料。

机器学习社区 9635

大模型加速的核心手段

加速大模型对话需。

qq_36929638的博客 538

大模型速度大比拼:谁是真正的“快枪手“?

在人工智能领域,大语言模型(Large Language Models, LLMs)的发展可谓日新月异。随着各大科技公司和研究机构纷纷推出自己的大模型,一个常被忽视却至关重要的问题浮出水面:这些模型到底有多快?本文将为您揭秘各大模型的真实速度,带您一探究竟谁才是AI界的"快枪手"。

步子哥的博客 1617

大模型生成提速2倍!单GPU几小时搞定微调,北大数院校友共同一作

来源:量子位只需给大模型“加点小零件”,推理速度立刻提升2倍!不需要额外训练一个模型,也不需要对计算硬件做优化,单张A100最快几小时就能微调完成。这项新研究名叫Medusa(美杜莎),来自普林斯顿、UIUC、CMU和康涅狄格大学,FlashAttention作者Tri Dao也在其中。目前,它已经成功部署到伯克利70亿参数的“骆马”Vicuna中,后续还会支持其他大模型,已经登上GitHub热榜...

深度学习技术前沿 258

互联网摸鱼日报(2023-09-19)

基于月度2万份睡眠报告大数据分析 慕思发布“潮汐”算法极兔聆讯在即,中国邮政这一公司IPO获准5月难招股?“新中式”尸骨未寒,烘焙新风口已抵达战场车企价格战杀疯了,特斯拉最高降15万,新能源车追着燃油车降价对话博主峰哥:料到自己肯定会被骂,“但在缅甸做电诈,多数不是被骗去的”还没挣钱,李彦宏们就卷起来了特斯拉最赚钱的车型,“告别”Model Y营销观察:国漫乘风而起,品牌如何借势破竹?“泼天富贵”砸向旧国货,一夜涨粉超百万,李佳琪还敢说人家不努力吗?上市银行高管频变,大多70后接棒你瞧不起的煤炭,涨疯了CE

weixin_43849685的博客 327

【PDN仿真笔记9-使用Sigrity PowerDC进行IR Drop仿真的方法】

使用Sigrity PowerDC进行IR Drop进行仿真的方法

qq_42682826的博客 8004

Ubuntu 22.04下Realtek R8125网卡驱动安装避坑指南(附DKMS自动编译配置)

本文详细介绍了在Ubuntu 22.04系统上为Realtek R8125 2.5GbE网卡安装驱动的完整流程与避坑指南。针对内核通用驱动r8169的冲突问题,重点讲解了如何通过DKMS(Dynamic Kernel Module Support)实现驱动的持久化自动编译与安装,确保系统内核升级后网卡驱动依然有效。内容包括环境准备、驱动源码获取、DKMS标准配置、驱动冲突解决(设置黑名单)以及日常维护与故障排查方法,旨在为用户提供一个一劳永逸的稳定解决方案。

echo99的专栏 1023

超详细!大模型(LLM)推理加速技术完整指南来了

大模型训练成本很高,且在推理过程中需要大量的计算资源,为了能够实现大模型应用落地,需解决大模型推理成本、模型响应速度等问题,这就需要对大模型进行推理优化。为此,本文将详细介绍主流的大模型推理优化技术,文章安排如下:

2401_85325726的博客 5328

BugkuCTF-PWN题pwn2-overflow超详细讲解

解题思路 1)计算出get_shell_的地址偏移量 2)算出来之后就直接溢出到后门函数 知识点 x64函数调用规则 解题之前我们先学下linux x64的函数调用规则。 x64机器在调用某个函数前,比如int func(int a, int b, int c, int d, int e, int f, int g, int h),首先他会把前6个参数从左往右存入到寄存器rdi、rsi、rdx、rcx、r8、r9,其余参数存入到栈里,保存的顺序是从右往左入栈。比如abcdef会存入到寄存器里,然后一次入栈h

am_03的博客 3013

揭秘”大模型加速器”如何助力大模型应用

揭秘”大模型加速器”如何助力大模型应用

努力让自己发光,对的人才能迎着光而来 16万+

别再手动调时间了!用Windows自带的tzutil命令,1分钟搞定时区错误

本文介绍了如何使用Windows自带的tzutil命令快速解决时区错误问题。通过简单的命令行操作,用户可以一键切换时区、查看全球时区代码库,并实现自动化时区同步。相比传统GUI设置,tzutil更可靠且高效,特别适合企业环境批量部署。

weixin_42531494的博客 314

vuecli3 实现 移动端和pc端 界面切换(两套代码)

适合场景 多页面多系统应用 所有系统都在同一目录下。配置多入口多出口。每个系统之间可以链接。每个系统内依然采用Vue单页应用开发。 产品需求:一套代码 兼容pc端和移动端 , 移动端和pc端的样式布局差别很大,需要使用多界面,并判断使用手机的时候跳转移动端代码,使用pc端跳转pc端代码。 项目目录 分为两部分代码,pc 和mobile 第一步:创建一个登陆页面的文件 在项目public文件夹下创建一个login.html,其实就是将index.html复制一份,将title改一下: <!DOCTYP

你怎么也喜欢嘴巴嘟嘟 5920

大模型的常用加速推理方法

本文探讨了深度学习模型推理加速的多种技术策略。首先,并行化推理通过层间、层内和数据并行三种模式,将计算任务分配到多个处理单元,突破单线程性能瓶颈。其次,向量化推理利用SIMD指令集提高计算效率。循环分块通过优化缓存访问减少主存访问次数。算子融合将多个相邻算子合并,减少数据搬运和Kernel调用开销。量化推理通过降低数据精度减少内存占用和计算量。最后,文章强调多种加速方法的协同作用,如并行化与向量化结合、循环分块与算子融合结合、量化与并行化结合,以实现最优性能。这些策略共同构成了深度学习模型推理加速的综合优化

FPGA/MATLAB学习教程/源码/项目合作开发 1923

【软考之软件设计师】学习笔记

interface 接口implements 实现接口(与接口配套使用)接口里要是有方法定义,子类就会实现。

云轩阁 2533

一文搞懂大模型训练加速框架 DeepSpeed 的使用方法!

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。在AI领域,常见的深度学习框架TensorFlow、PyTorch和Keras无疑是开发者们的得力工具,但随着模型规模的急剧膨胀,这些传统框架在应对大模型时往往会显得力不从心。

2401_84033492的博客 3450

Odoo 入门 | 什么是 Odoo?

Odoo是一套全球开源的ERP/CRM系统,最初的名字为TinyERP,08年5月之后称之为OpenERP,之后又改为Odoo。

洛阳泰山的博客 6208

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【模型加速】关于模型加速的总结

概述 ● 模型加速的目标: a. Increase inference speed:加快推理速度 ● 关于模型的加速大致可以分为三个方面的加速: 1)平台(支持层面) 2)训练前:网络结构的设计 3)训练后:在训练好的模型上进行加速 1. 平台(支持) 2. 训练前:网络结构的设计 3. 训练后:在训练好的模型上进行加速 ...

Roaddd的博客 6890

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

AI大模型高效推理的技术综述!

大型语言模型在人工智能领域中具有巨大的潜力。

xiangxueerfei的博客 2032

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Coggle数据科学 | 国产大模型速度评测(谁是更快大模型?)

2024年无疑会被载入史册,各大科技厂商纷纷争先恐后地推出了自家的大模型产品。6月25日OpenAI暂停在我国大陆地区服务,国产大模型表现更加值得期待。本文将对比较流行的国产大模型进行速度评测,通过不同类型的问题来对比模型的回答速度。统计的标准为数除以耗时。

csdn_xmj的博客 1871

模型部署——如何提高大模型的线上推理速度

通过onnxruntime框架优化,在原有数据上面测试模型推理速度提升7倍 List item

zh515858237的专栏 1996

一文搞懂:如何在深度学习中使用GPU和cuda加速

接下来,我们使用 x.tolist() 方法将 x 转换为Python列表并将其添加到 result 中,或者使用 x.cpu().numpy() 方法将 x 转换为CPU上的NumPy数组,然后将该数组添加到 result 中。不是的,len(Xdata)并不在GPU上。要在GPU上创建一个列表,并将张量对象添加到该列表中,可以使用PyTorch的torch.Tensor.tolist()方法或者torch.Tensor.cpu().numpy()方法先将张量转换为NumPy数组,再将数组添加到列表中。

Python领域优质萌新学习笔记 1万+
上一篇: 清华攒局8个ChatGPT狼人杀,心机伪装都在这一局里,清华:我没教过
下一篇: 从诊室到云端:医疗大模型的应用挑战与未来探索
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值