什么是 大语言模型中Kernel优化
什么是 大语言模型中Kernel优化
目录
-
- 什么是 大语言模型中Kernel优化
-
- Kernel优化
- 操作系统内核优化
- 深度学习计算内核优化
- 手工优化原理
- 举例Flash Attention,Faster Transformer
Kernel优化
大语言模型存在访存密集操作(如注意力机制、LayerNorm等),这些操作使得GPU计算性能无法充分利用,导致模型推理延时高。为提高GPU利用效率和大语言模型推理速度,需要对这些操作进行定制化优化,设计高效的运算Kernel。
Kernel即内核,Kernel优化是指对系统内核或计算内核等进行性能改进的一系列技术和方法,旨在提升系统或计算任务的效率、降低资源消耗等。以下从不同场景举例说明其原理:
操作系统内核优化
以Linux内核为例,性能优化是找到系统瓶颈并消除的过程,是在CPU、内存、IO、网络等不同子系统中不断调整以达到平衡的过程。因为这些子系统高度彼此依赖,其中一个被过度使用会影响其他子系统。
- 确认应用类型:明确系统应用类型是定位优化方向的基础。IO消耗型应用如数据库应用,会处理大量数据,需使用大量内存和潜在存储系统,通常用CPU做出IO请求后就进入休眠模式;CPU消耗型应用像web服务器、邮箱服务器、渲染型服务器等,要求大量使用CPU做批处理或数学计算。