底层黑魔法:怎样通过 Triton 或 TVM 编写一个比厂商原生库更快的算子?
在深度学习和高性能计算领域,算子(Kernel)的性能往往是模型推理速度的瓶颈。虽然像 cuBLAS 和 cuDNN 这样的厂商原生库已经高度优化,但它们是通用性的。当面对特定维度、数据类型或计算模式时,通过像 Triton 这样的领域特定...
在深度学习和高性能计算领域,算子(Kernel)的性能往往是模型推理速度的瓶颈。虽然像 cuBLAS 和 cuDNN 这样的厂商原生库已经高度优化,但它们是通用性的。当面对特定维度、数据类型或计算模式时,通过像 Triton 这样的领域特定...
在深度学习,尤其是大型语言模型(LLM)的面试中,这是一个非常常见且重要的问题。理解计算瓶颈是优化模型部署和推理速度的关键。对于基于 Transformer 架构的大模型,在推理(Inference)阶段,计算瓶颈确实往往落在存储带宽(Me...
训练大型语言模型(LLM)是计算密集型任务,其成本往往以GPU-Hours(GPU小时数)来衡量。准确估算这一指标,是项目规划和预算控制的关键。本文将基于LLM训练的算力基础公式(Chinchilla Scaling Laws),提供一个实...
PyTorch 的 Autograd 机制是其核心竞争力之一。与 TensorFlow 1.x 等框架使用的静态图不同,PyTorch 采用动态计算图(Define-by-Run),这意味着计算图是在前向传播过程中即时构建的。而 backw...
在多 GPU 分布式训练(例如使用 PyTorch DDP 或 TensorFlow MirroredStrategy)中,显存(VRAM)使用不均衡是一个常见但棘手的问题。当您在 8 块 A100 上遇到此问题时,通常意味着某个或某些进程...
知识蒸馏(Knowledge Distillation, KD)是一种模型压缩技术,通过训练一个轻量级的学生模型去模仿一个性能强大的教师模型(Teacher Model)的输出。在大模型(LLM)时代,KD的焦点已经从单纯的“模仿输出概率”...
模型剪枝(Pruning)作为一种重要的模型压缩技术,其核心思想是移除神经网络中不重要的权重,从而减小模型体积并理论上降低计算量(FLOPs)。然而,在实践中,尤其是部署到通用CPU或GPU上时,我们往往发现剪枝带来的FLOPs减少并未等比...
在深度学习模型部署到边缘设备或服务器时,模型量化(如 INT8)是提高推理速度和降低内存占用的关键技术。然而,对于大型语言模型(LLM)和现代 Transformer 架构,直接使用传统的后训练量化(PTQ)方法往往会导致显著的精度下降,甚...
在将大型语言模型(LLM)部署到资源受限的端侧设备(如手机、边缘计算网关)时,模型量化是提高推理速度和降低内存占用的关键技术。4-bit 量化(如 GPTQ 和 AWQ)因其极高的压缩比而受到广泛关注。然而,这两种流行算法在底层实现和硬件亲...
模型量化是将模型权重和激活值从高精度浮点数(如FP32)转换为低精度定点整数(如INT8)的过程,以减少模型大小和计算延迟。在面试中,理解均匀量化(Uniform Quantization)的基础知识,特别是如何计算 Scale ($S$)...