动手学大模型
文章平均质量分 93
吃果冻不吐果冻皮
坚持输入+输出学习模式,并让其变成一种习惯。
展开
-
大模型量化技术原理-SmoothQuant
本文简要介绍了诞生的SmoothQuant背景和技术原理,作者提到激活值比权重更难量化,因为权重数据分布一般比较均匀,而激活异常值多且大让激活值量化变得更艰难,但是异常值只存在少数通道(Channel)内(单一 token 方差很大(异常值会存在于每一个 token 中),单一 channel 方差会小很多)。因此,SmoothQuant 诞生。SmoothQuant 通过平滑激活层和权重后,再使用per-tensor或per-token量化,实现W8A8。原创 2024-02-29 22:20:44 · 627 阅读 · 0 评论 -
大模型量化技术原理-LLM.int8()、GPTQ
本文简要介绍了两种比较常用的大模型量化方法 GPTQ、LLM.int8();LLM.int8() 属于 round-to-nearest (RTN) 量化:舍入到最近的定点数。而 GPT-Q 则是把量化问题视作优化问题,逐层寻找最优的量化权重。目前,这两种量化方法也集成到了Transformers库中,大家可以非常方便的使用。原创 2024-02-19 18:44:13 · 1864 阅读 · 0 评论 -
大模型量化概述
可以根据实际业务需求将原模型量化成不同比特数的模型,一般深度神经网络的模型用单精度浮点数表示,如果能用有符号整数来近似原模型的参数,那么被量化的权重参数存储大小就可以降到原先的四分之一,用来量化的比特数越少,量化后的模型压缩率越高。)发现对于LLM的性能,权重并不是同等重要的,通过保留1%的显著权重可以大大减少量化误差。因此,引入了一种新的策略,涉及通道级的平移和缩放操作,以纠正异常的不对称呈现,并减轻问题通道的影响,并定量分析了平移和缩放的最佳值,同时考虑了异常的不对称性以及下一层权重引起的量化误差。原创 2024-02-19 18:41:19 · 1205 阅读 · 0 评论 -
TensorRT-LLM保姆级教程(二)-离线环境搭建、模型量化及推理
接下来以Bloom模型为例,进行 TensorRT-LLM 开发实践。build.py:用于构建 TensorRT 引擎来运行Bloom模型。run.py:模型推理。:使用模型来总结 CNN Dailymail 数据集中的文章。:将HF格式的模型进行转换。支持 FP16支持 INT8 & INT4 仅权重量化支持 INT8 KV CACHE 量化支持SmoothQuant 量化支持张量并行大模型量化概述进行过简要概述,后续有时间更详细的梳理常见的一些大模型量化技术。原创 2023-12-04 23:11:08 · 1955 阅读 · 0 评论 -
TensorRT-LLM保姆级教程(一)-快速入门
Protobuf是一种轻量级的、高效的数据交换格式,但它在序列化和反序列化大型数据时有一个默认的大小限制。同时,它的接口和文档相对较少,用户可能需要更深入地了解其底层实现和使用方式,这对于初学者来说可能会增加学习和使用的难度。并且 FastTransformer 的生态较小,可用的资源和支持较少,这也会增加使用者在理解和应用 FastTransformer 上的困难。随着大模型的爆火,投入到生产环境的模型参数量规模也变得越来越大(从数十亿参数到千亿参数规模),从而导致大模型的推理成本急剧增加。原创 2023-12-04 23:10:14 · 1789 阅读 · 0 评论 -
大模型分布式训练并行技术(六)-多维混合并行
GLM-130B 利用自回归空白填充作为其主要的预训练目标,以下图中的句子为例,它掩盖了随机的连续文本区间(例如,“complete unkown”),并对其进行自回归预测。除此之外,我们也可以采用 DP + TP 进行组合、也可以使用 PP + TP 进行组合,还可以使用 ZeRO3 代替 DP + PP + TP,ZeRO3 本质上是DP+MP的组合,并且无需对模型进行过多改造,使用更方便。同时,作者发现,在给定硬件设置的情况下,最有效方法是将张量并行大小设置为 2,将流水线并行大小设置为 4。原创 2023-10-14 13:34:10 · 256 阅读 · 0 评论 -
大模型推理框架概述
Text Generation Inference(TGI)是 HuggingFace 推出的一个项目,作为支持 HuggingFace Inference API 和 Hugging Chat 上的LLM 推理的工具,旨在支持大型语言模型的优化推理。FasterTransformer 库使用此参数对所有底层算法进行实时基准测试,并为模型的参数和您的输入数据(注意层的大小、注意头的数量、隐藏层的大小)选择最佳的一个。对于自注意力块和前馈网络块,FT 按行拆分第一个矩阵的权重,并按列拆分第二个矩阵的权重。原创 2023-10-07 21:54:14 · 1368 阅读 · 0 评论 -
大模型参数高效微调技术原理综述(二)-BitFit、Prefix Tuning、Prompt Tuning
Prompt token 的长度在20左右时的表现已经不错(超过20之后,提升Prompt token长度,对模型的性能提升不明显了),同样的,这个gap也会随着模型参数规模的提升而减小(即对于超大规模模型而言,即使 Prompt token 长度很短,对性能也不会有太大的影响)。同时,通过实验结果还可以看出,BitFit微调结果相对全量参数微调而言, 只更新极少量参数的情况下,在多个数据集上都达到了不错的效果,虽不及全量参数微调,但是远超固定全部模型参数的Frozen方式。另一方面也会占很多存储空间。原创 2023-09-05 23:29:31 · 671 阅读 · 0 评论 -
大模型参数高效微调技术实战(一)-PEFT概述及环境搭建
因果语言建模任务(CLM),在这种建模方法中,模型试图预测给定上下文中的下一个单词,该上下文通常包括在当前单词之前的所有单词。如: 识别句子的语法成分(名词、动词、形容词)或命名实体(人、地点、组织)。特征抽取(Feature extraction),从最初的一组测量数据开始,构建旨在提供信息且非冗余的派生值(特征),通过X,创造新的X',以促进后续的学习和泛化过程。在这种建模方法中,模型是一个Encoder-Decoder架构,即序列到序列模型(编码器的输出作为解码器的输入),代表模型有BART、T5。原创 2023-08-26 17:52:18 · 1663 阅读 · 1 评论