专栏名称: GiantPandaCV
专注于机器学习、深度学习、计算机视觉、图像处理等多个方向技术分享。团队由一群热爱技术且热衷于分享的小伙伴组成。我们坚持原创,每天一到两篇原创技术分享。希望在传播知识、分享知识的同时能够启发你,大家一起共同进步(・ω<)☆
目录
相关文章推荐
GiantPandaCV  ·  vLLM源码之框架执行 ·  6 天前  
今天看啥  ›  专栏  ›  GiantPandaCV

CUDA-MODE课程笔记 第7课: Quantization Cuda vs Triton

GiantPandaCV  · 公众号  · 3D  · 2024-07-28 23:53

主要观点总结

本文介绍了基于CUDA和Triton的量化技术在生成式AI模型中的应用,包括动态量化、仅权重量化(int8/int4)等不同量化方法的原理、实现和性能比较,以及Smoothquant、GPTQ等量化优化技术的简介。分析了Triton相对于CUDA在这些场景的优劣,以及Torch Compiler针对这些量化的优化。

关键观点总结

关键观点1: 动态量化、仅权重量化(int8/int4)等不同量化方法的原理、实现和性能比较

动态量化通过在计算过程中使用整数运算来提高效率,而仅权重量化则只对权重进行压缩,在实际计算时仍使用浮点数。未量化的方法则完全使用浮点数,可能提供最高的精度但计算效率较低。

关键观点2: Smoothquant、GPTQ等量化优化技术的简介

Smoothquant通过预先的缩放操作,可以更好地平衡权重和激活的数值范围,有助于减少量化过程中的信息损失。GPTQ使用期望Hessian来量化权重,目标是最小化量化后的误差。

关键观点3: 分析了Triton相对于CUDA在这些场景的优劣

对于int4 weight only,Triton本身的限制就不太适合来实现这个cuda kernel。而Torch Compiler针对这些量化的优化,比如decode阶段的gemv就让编译器走elementwise mul+reduce的特殊分支以提升性能。


文章预览

我的课程笔记,欢迎关注:https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode CUDA-MODE课程笔记 第7课: Quantization Cuda vs Triton 适配课件详细解读 作者课件可以在这里找到:https://github.com/cuda-mode/lectures 。我也下载里一份放在 https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode/ppt 这里。 PyTorch最近一年发布了一些生成式AI模型的案例研究,这些模型运行速度极快,且代码及其精简。这些模型比如GPT-FAST,SAM-FAST都应用了量化技术,Charles很大程度上是这些量化Kernel的主要开发者。因此,这节课由Charles来分享量化技术。 这张Slides介绍了演讲者的背景和最近的研究重点,内容如下: Pytorch Core 量化 (Quantization) 剪枝 (Pruning) AO (Architecture Optimization) 团队 最近的研究重点 Segment-anything-fast, gpt-fast, sdxl-fast 等项目 TorchAO - 提供了一个 GitHub 链接 (https://gith ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览