
大模型
文章平均质量分 72
luoganttcc
微信:luogantt2
展开
-
deepseek v3模型为啥要开源
(3)在颠覆性的技术面前,闭源形成的护城河是短暂的。我们把价值沉淀在团队上,我们的同事在这个过程中得到成长,积累很多know-how,形成可以创新的组织和文化,就是我们的护城河。(10)我们在做最难的事。我们的出发点,就不是趁机赚一笔,而是走到技术的前沿,去推动整个生态发展。(2)任何 AI 公司(短期内)都没有碾压对手的技术优势,因为有 OpenAI 指路,又都基于公开论文和代码,大厂和创业公司都会做出自己的大语言模型。(9)我们选人的标准一直都是热爱和好奇心,所以很多人会有一些奇特的经历,很有意思。原创 2025-01-03 17:05:16 · 1134 阅读 · 0 评论 -
LLM推理优化技术综述:KVCache、PageAttention、FlashAttention、MQA、GQA
意思是通过合理的应用GPU显存实现IO的优化,从而提升资源利用率,提高性能。如上图,GQA以及MQA都可以实现一定程度的Key value的共享,从而可以使模型体积减小,GQA是MQA和MHA的折中方案。也就是说,存在一种优化方案是利用SRAM远快于HBM的性能优势,将密集计算尽放在SRAM,减少与HBM的反复通信,实现整体的IO效率最大化。随着大模型被越来越多的应用到不同的领域,随之而来的问题是应用过程中的推理优化问题,针对LLM推理性能优化有一些新的方向,最近一直在学习和研究,今天简单总结下学习笔记。原创 2024-12-26 14:58:44 · 973 阅读 · 0 评论 -
大模型推理加速:看图学KV Cache
这是因为Decoder有Causal Mask,在推理的时候前面已经生成的字符不需要与后面的字符产生attention,从而使得前面已经计算的K和V可以缓存起来。KV Cache是Transformer标配的推理加速功能,transformer官方use_cache这个参数默认是True,但是它。所以说叫KV Cache好像有点不太对,因为KV本来就需要全程计算,可能叫增量KV计算会更好理解。我们先看一下不使用KV Cache的推理过程。下面4张图展示了使用KV Cache和不使用的对比。原创 2024-12-26 14:22:22 · 595 阅读 · 0 评论 -
Transformer
order: 2AttentionQKVSoftmaxdkQK⊤V这个公式中的QK和V分别代表Query、Key和Value,单看这个公式,其实并不能很好地理解Attention到底在做什么,本文从Transformer所使用的Self-Attention,介绍Attention背后的原理。原创 2024-12-26 14:06:28 · 626 阅读 · 0 评论 -
理解语言的 Transformer 模型
在本教程中,您已经学习了位置编码,多头注意力,遮挡的重要性以及如何创建一个 transformer。尝试使用一个不同的数据集来训练 transformer。您可也可以通过修改上述的超参数来创建基础 transformer 或者 transformer XL。您也可以使用这里定义的层来创建BERT并训练最先进的模型。此外,您可以实现 beam search 得到更好的预测。原创 2024-12-26 13:09:28 · 866 阅读 · 0 评论 -
大模型推理性能优化之KV Cache解读
KV Cache是Transformer推理性能优化的一项重要工程化技术,各大推理框架都已实现并将其进行了封装(例如 transformers库 generate 函数已经将其封装,用户不需要手动传入past_key_values)并默认开启(config.json文件中use_cache=True)。本文尝试打开封装分析该技术内部实现,希望对大家有所帮助,文中如有纰漏,欢迎指正。原创 2024-12-25 13:40:06 · 843 阅读 · 0 评论 -
浅显易懂地介绍 llm.c [译]
这一过程十分艰难,因为你需要深入理解训练算法,并能够推导出所有层的前向和反向传播过程,还必须非常小心地处理所有的数组索引计算,因为 PyTorch 中的张量抽象并不可用。所有的 Tensor 操作都极为谨慎地调用了最有效的 CUDA 核函数,并且有类似 torch.compile 的工具进一步优化了你的神经网络,让其在你的计算机上运行得更加高效。但这需要更多精力和关注,如同之前提到的,如果你对神经网络或使用的计算机做了改变,可能需要调用不同的核函数,调整参数,手动做更多的修改。为什么我要投入这项工作呢?原创 2024-12-24 15:29:30 · 485 阅读 · 0 评论 -
embeding 层到底是什么
【代码】embeding 层到底是什么。原创 2024-12-24 14:21:18 · 647 阅读 · 0 评论 -
大白话讲解word2vec到底在做些什么
假设语料库中有30000个不同的单词,hidden layer取128,word2vec两个权值矩阵维度都是[30000,128],在使用SGD对庞大的神经网络进行学习时,将是十分缓慢的。Word2Vec可以将One-Hot Encoder转化为低维度的连续值,也就是稠密向量,并且其中意思相近的词将被映射到向量空间中相近的位置。Skip-Gram可以制造的映射关系为(is,Hangzhou),(is,a),(a,is), (a,nice),(nice,a),(nice,city)原创 2024-12-24 14:01:54 · 199 阅读 · 0 评论 -
模型并行分布式训练Megatron (5) --Pipedream Flush
PipeDream-2BW 在流水线之中维护了两个版本的模型权重,“2BW” 是 双缓冲权重(double-buffered weights)”,PipeDream-2BW 会为每个微批次生成一个新的模型版本K(K>d),但是因为有些剩余后向传递仍然依赖于旧版本模型,所以新的模型版本无法立即取代旧版本,但是由于只保存了两个版本,所以极大降低了内存占用。PipeDream不会定期Flush流水线,但会存储多个权重版本,这增加了吞吐量,但也增加了内存占用,由于内存限制,无法训练大型模型。原创 2024-12-22 13:18:13 · 883 阅读 · 0 评论 -
模型并行分布式训练 Megatron (4) --- 如何设置各种并行
假如每一层分为两个tensor,则 _TENSOR_MODEL_PARALLEL_GROUP 例子为:[g0, g1], [g2, g3], [g4, g5], [g6, g7], [g8, g9], [g10, g11], [g12, g13], [g14, g15]。假如数据并行度数为2,则例子为[g0, g2], [g1, g3], [g4, g6], [g5, g7], [g8, g10], [g9, g11], [g12, g14], [g13, g15]。原创 2024-12-22 13:04:55 · 385 阅读 · 0 评论 -
模型并行分布式训练 Megatron (3) ---模型并行实现
因为对于第二行来说,其输入Y其实本质是 XA1,XA2并行的,所以为了降低通信量,我们可以把数据通信延后或者干脆取消通信,就是把第一行最后的 all_gather 和第二行最初的 split 省略掉,这其实就是数学上的传递性和结合律(局部和之和为全局和)。NVIDIA Megatron 是一个基于 PyTorch 的分布式训练框架,用来训练超大Transformer语言模型,其通过综合应用了数据并行,Tensor并行和Pipeline并行来复现 GPT3,值得我们深入分析其背后机理。原创 2024-12-22 12:49:53 · 1062 阅读 · 0 评论 -
深入理解 Megatron-LM(5)张量并行
NVIDIA Megatron-LM 是一个基于 PyTorch 的分布式训练框架,用来训练基于Transformer的大型语言模型。最近在基于Megatron-LM的代码来训练大语言模型,本人觉得Megatron的代码很具有学习意义,于是大量参考了网上很多对Megatron代码的解读文章和NVIDA Megatron团队公开发布的2篇论文,并结合最近Megatron-LM代码库的更新,整理成了这几篇系列文章。简枫:深入理解 Megatron-LM(4)并行设置。简枫:Megatron-LM 近期的改动。原创 2024-12-22 11:55:18 · 368 阅读 · 0 评论 -
深入理解 Megatron-LM(4)并行设置
最近在基于Megatron-LM的代码来训练大语言模型,本人觉得Megatron的代码很具有学习意义,于是大量参考了网上很多对Megatron代码的解读文章和NVIDA Megatron团队公开发布的2篇论文,并结合最近Megatron-LM代码库的更新,整理成了这几篇系列文章。并行策略: 根据不同的并行策略,将节点分配给不同的并行任务。例如,数据并行可能涉及将不同的批次分配给不同节点,模型并行可能涉及将不同层分配给不同节点,流水线并行可能涉及将不同流水线阶段分配给不同节点。接下来对上述问题进行分析。原创 2024-12-22 11:53:37 · 441 阅读 · 0 评论 -
深入理解 Megatron-LM(3)代码结构
link原创 2024-12-22 11:47:41 · 78 阅读 · 0 评论 -
[源码解析] 模型并行分布式训练Megatron (2) --- 整体架构
NVIDIA Megatron 是一个基于 PyTorch 的分布式训练框架,用来训练超大Transformer语言模型,其通过综合应用了数据并行,Tensor并行和Pipeline并行来复现 GPT3,值得我们深入分析其背后机理。本系列大概有6~7篇文章,通过论文和源码和大家一起学习研究。本文将对 Megatron 的基本架构做一下梳理。本系列其他文章为:源码解析] 模型并行分布式训练Megatron (1) --- 论文 & 基础。原创 2024-12-22 10:25:42 · 1007 阅读 · 0 评论 -
模型并行分布式训练Megatron (1) --- 论文 & 基础
NVIDIA Megatron 是一个基于 PyTorch 的分布式训练框架,用来训练超大Transformer语言模型,其通过综合应用了数据并行,Tensor并行和Pipeline并行来复现 GPT3,值得我们深入分析其背后机理。本系列大概有6~7篇文章,通过论文和源码和大家一起学习研究。本文把 Megatron 的两篇论文/一篇官方PPT 选取部分内容,糅合在一起进行翻译分析,希望大家可以通过本文对 Megatron 思路有一个基本了解。原创 2024-12-22 10:22:09 · 965 阅读 · 0 评论 -
深入理解 Megatron-LM(2)原理介绍
在节点内部(如DGX A100服务器),张量模型的并行性表现最佳,因为这可以降低通信量。另一方面,流水线模型并行性采用更经济的点对点通信方式,可以跨节点执行,而不会受到整个计算的限制。然而,流水线并行性可能会在流水线“气泡”中消耗大量时间,因此应该限制流水线的总数,以确保流水线中微批次(micro-batches)的数量是流水线深度的合理倍数。因此,当张量模型的并行大小等于单个节点中GPU的数量(例如DGX A100有8个GPU的节点)时,性能会达到峰值。原创 2024-12-22 10:16:22 · 301 阅读 · 0 评论 -
深入理解 Megatron-LM(1)基础知识
深入理解 Megatron-LM(1)基础知识原创 2024-12-22 10:01:23 · 1063 阅读 · 0 评论 -
万卡GPU集群落地实践
我们内部采用的是4张200Gb/s 的Mellanox CX6网卡,采用200Gb/s网卡的原因是同主机GPU与相邻的网卡之间通过PCIe Gen4 Switch芯片通信,PCIe Gen4 x16的通信带宽是单向32GB/s,网卡的通信性能是200Gb/s = 25GB/s,接近PCIe的通信性能,如果采用400Gb/s的CX7网卡,此时受限于PCIe Gen4的带宽,CX7的网卡性能很难发挥出来。针对不同类型的故障,系统应具备灵活的检测手段和自愈策略,以降低人为干预的频率,提升系统的自动化水平。原创 2024-12-19 13:02:56 · 998 阅读 · 0 评论 -
Qwen2.5-7B-Instruct vLLM 部署调用
vLLM框架是一个高效的大语言模型vLLMKVvLLMvLLMOpenAIAPIGPUvLLM。原创 2024-12-11 17:39:39 · 937 阅读 · 0 评论 -
字节大模型关键8人首次曝光
去年2月36氪曾透露,字节从语言和图像两方面发力大模型布局,语言大模型团队由字节跳动搜索部门牵头,图片大模型团队由产品研发与工程架构部下属的智能创作团队牵头。目前担任字节跳动头条大语言模型预训练方向负责人,研究领域包括数据的清洗、合成、配比,关联学习与课程学习,训练算法与scaling capability等。研发出了字节跳动的搜索系统,在ranking架构和算法、多语言和多模态相关性领域有较大的创新和突破,在。冯佳时,2019年加入字节,专注于计算机视觉、机器学习领域的相关研究及其在多媒体中的应用。原创 2024-12-11 11:05:20 · 1200 阅读 · 0 评论 -
目前业界大模型推理框架很多,各有什么优缺点,应该如何选择
上个月sglang-v0.3.0和vllm-v0.6.0前后脚发布之后,就一直想总结梳理一下现在主流的大模型推理引擎。因为我觉得这也算是一个有意义的节点吧,从此开源大模型推理引擎总算是由"非常粗糙,但是能用"的阶段迈入到了"稍微有那么点粗糙"的阶段。大模型的推理引擎实际也就是近一两年才开始飞速发展,从最开始的tgi和vllm并驾齐驱到如今sglang、lmdeply的异军突起,整个开源社区都是非常有活力的。但是正如之前所说,从长远的一个视角看如今的开源引擎实际上都还是比较粗糙的,大家都是在摸索中前进。原创 2024-12-04 17:06:09 · 886 阅读 · 0 评论 -
huggingface-cli下载
为保障账号安全,本站不支持登录,需先前往 Hugging Face 官网登录、申请许可,在官网这里获取 Access Token 后回镜像站用命令行下载。可以添加 --local-dir-use-symlinks False 参数禁用文件软链接,这样下载路径下所见即所得,详细解释请见上面提到的教程。huggingface-cli 是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。不过有些数据集有内置的下载脚本,那就需要手动改一下脚本内的地址来实现了。Q: 有些项目需要登录,如何下载?原创 2024-12-04 15:15:25 · 1166 阅读 · 0 评论 -
第五课 LMDeploy 量化部署 LLM 实践
W4A16 量化,将 FP16 的模型权重量化为 INT4,Kernel 计算时,访存量直接降为 FP16 模型的 1/4,大幅降低了访存成本。TurboMind是LMDeploy团队开发的一款关于LLM推理的高效推理引擎,它的主要功能包括:LLaMa 结构模型的支持,continuous batch 推理模式和可扩展的 KV 缓存管理器。模型在运行时,占用的显存可大致分为三部分:模型参数本身占用的显存、KV Cache占用的显存,以及中间运算结果占用的显存。主要包括 KV8量化和W4A16量化。原创 2024-10-30 01:23:36 · 1084 阅读 · 0 评论 -
https://zhuanlan.zhihu.com/p/680075822
vv。原创 2024-10-28 09:14:08 · 309 阅读 · 0 评论 -
英伟达的GPU(4)
英伟达gpu介绍原创 2024-10-26 09:02:59 · 76 阅读 · 0 评论 -
LMDeploy高效部署Llama-3-8B,1.8倍vLLM推理效率
Llama 3 近期重磅发布,发布了 8B 和 70B 参数量的模型,LMDeploy 对 Llama 3 部署进行了光速支持,同时对 LMDeploy 推理 Llama 3 进行了测试,在公平比较的条件下推理效率是 vLLM 的 1.8 倍。书生·浦语和机智流社区同学光速投稿了 LMDeploy 高效量化部署 Llama 3,欢迎 Star。原创 2024-10-25 15:25:50 · 857 阅读 · 0 评论 -
4个顶级LLM推理引擎
此软件包还允许压缩、部署和服务 LLM,同时提供高效推理(持久批处理、块 KV 缓存、动态拆分和融合、张量并行、高性能 CUDA 内核)、有效量化(4 位推理性能比 FP16 高 2.4 倍)、轻松的分发服务器(跨多台机器和卡部署多模型服务)和交互式推理模式(记住对话历史并避免重复处理历史会话)。然而,它们的庞大规模也给推理带来了挑战。为了优化 LLM 推理和服务,有多个框架和软件包,在本博客中,我将使用和比较以下推理引擎:TensorRT-LLM、vLLM、LMDeploy 和 MLC-LLM。原创 2024-10-25 15:21:32 · 978 阅读 · 0 评论 -
目前业界大模型推理框架
FasterTransformer 库使用此参数对所有底层算法进行实时基准测试,并为模型的参数和您的输入数据(注意层的大小、注意头的数量、隐藏层的大小)选择最佳的一个。等,推荐深蓝学院最近刚出的深度学习模型推理加速项目实践课程,精选百度文心大模型ERNIE部署实践中的推理加速为例,详细讲解项目实践中常见推理加速方法与策略,培养真实推理加速任务中分析与拆解问题的能力,小班教学,专家讲师直播与录播结合授课,感兴趣的朋友可以看看。它包含Transformer块的高度优化版本的实现,其中包含编码器和解码器部分。原创 2024-10-25 10:56:29 · 1631 阅读 · 0 评论 -
hugging tocken
【代码】hugging tocken。原创 2024-10-24 14:53:30 · 118 阅读 · 0 评论 -
应用深度学习EEGNet来处理脑电信号
创建数据集“”" 生成训练数据集,数据集有100个样本 训练数据X_train:为[0,1)之间的随机数;标签数据y_train:为0或1 “”" X_train = np.random.rand(100, 1, 120, 64).astype(‘float32’) y_train = np.round(np.random.rand(100).astype(‘float32’)) “”" 生成验证数据集,数据集有100个样本 验证数据X_val:为[0,1)之间的随机数;原创 2024-10-21 14:41:21 · 1381 阅读 · 0 评论 -
脑电信号特征提取方法与应用
在这个独特的空间中,一组的方差被放大,而另一组的方差较小。在选择ML算法时,有一些一般标准需要考虑:(1)生物信号的类型,(2)特征矩阵的大小,和(3)标记数据的可用性等等。然而,在无监督学习中,ML预测标签将应用于全程信号,这是不可取的,特别是当存在需要局部特征提取而不是全局特征提取的感兴趣区域(ROI)时。共空间模式(CSP)方法具有广泛的应用前景,而且基于CSP改进的方法包括CSSP、CSSSP、SBCSP和RCSP等,这些方法都优于传统的CSP方法,精度更高,并克服了CSP的局限性。原创 2024-10-21 14:40:38 · 1241 阅读 · 0 评论 -
大模型量化感知训练 LLM-QAT
目前一些针对大模型的训练后量化(Post Training Quantization)方法已被证明在低至 8比特的情况下也能表现良好。但是本文的作者发现这些方法在较低比特精度下会出现问题;因此,本文研究了 LLM 的量化感知训练(Quantization Aware Training) ,以进一步提高量化水平。同时,作者还提出了一种 data-free 蒸馏方法,该方法利用预训练模型产生的生成,可以更好地保留原始输出分布,并允许独立于其训练数据来量化任何生成模型,类似于训练后量化方法。原创 2024-10-19 07:03:21 · 959 阅读 · 0 评论 -
目前针对大模型进行量化的方法有哪些
近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,从而导致模型变得越来越大,因此,我们需要一些大模型压缩技术来降低模型部署的成本,并提升模型的推理性能。本系列将针对大模型的一些常见训练后量化方案(GPTQ、LLM.int8()、SmoothQuant、AWQ等)进行讲述。而本文主要针对大模型量化技术 SmoothQuant 进行讲述。背景。原创 2024-10-19 06:43:56 · 1313 阅读 · 0 评论 -
大模型量化技术原理-SmoothQuant
近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,从而导致模型变得越来越大,因此,我们需要一些大模型压缩技术来降低模型部署的成本,并提升模型的推理性能。本系列将针对大模型的一些常见训练后量化方案(GPTQ、LLM.int8()、SmoothQuant、AWQ等)进行讲述。而本文主要针对大模型量化技术 SmoothQuant 进行讲述。背景。原创 2024-10-19 06:23:44 · 771 阅读 · 0 评论 -
神经网络量化基础
在处理隐式量化网络时,TensorRT 在应用图形优化时将模型视为浮点模型,并适时的使用 INT8 来优化层执行时间。在这种模式下,TensorRT 仅针对性能进行优化,您几乎无法控制 INT8 的使用位置——即使您在 API 级别明确设置层的精度,TensorRT 也可能在图优化期间将该层与另一个层融合,并丢失它必须在 INT8 中执行的信息。这在多次构建相同的网络时非常有用,例如,在多个平台上 – 特别是,它可以简化工作流程,在具有离散 GPU 的机器上构建校准表,然后在嵌入式平台上重用它。原创 2024-10-19 05:06:45 · 942 阅读 · 0 评论 -
TensorRT 中的 INT8
在处理隐式量化网络时,TensorRT 在应用图形优化时将模型视为浮点模型,并适时的使用 INT8 来优化层执行时间。在这种模式下,TensorRT 仅针对性能进行优化,您几乎无法控制 INT8 的使用位置——即使您在 API 级别明确设置层的精度,TensorRT 也可能在图优化期间将该层与另一个层融合,并丢失它必须在 INT8 中执行的信息。这在多次构建相同的网络时非常有用,例如,在多个平台上 – 特别是,它可以简化工作流程,在具有离散 GPU 的机器上构建校准表,然后在嵌入式平台上重用它。原创 2024-10-19 05:03:32 · 1351 阅读 · 0 评论 -
内存墙与LLM 计算
然而,在应付最新 AI 模型的训练时,这些设计上的趋势已经显得捉襟见肘,特别是对于 NLP 和 推荐系统相关的模型:有通信带宽瓶颈。类似的,大规模的推荐系统模型,模型大小已经达到了 O(10) TB 的级别了。PageAttention 的主要特性是对 KV cache 高效存储与访问,以下是 FlashInfer PageAttention 内核和 vLLM PageAttention 内核的性能对比,需要说明的是,能够在更小的文本长度达到更高的带宽利用率,即代表对 GPU 的整体利用率的同等提高。原创 2024-10-19 04:04:37 · 887 阅读 · 0 评论 -
LLM 的推理优化技术纵览
推理是 LLM 应用的重要一环,在部署服务环节影响重大,本文将讨论主流的 LLM 的推理优化技术。原创 2024-10-19 03:56:58 · 1122 阅读 · 0 评论