一个(爆米花)kernel,原本指的是一种特殊品种的玉米籽粒,加热后能够爆开,并由内向外翻卷。而在计算领域,kernel 也指一段通常只有几百行的 GPU 代码,用来执行大语言模型中的数学计算和 Attention(注意力)等操作。GPU 只有在 kernel 能够持续不断地给 Tensor Cores(张量核心)提供数据、让计算单元始终保持忙碌的情况下,才能真正发挥出纸面标称的 FLOPS 算力。如果内存访问模式设计得不好,数据供给跟不上,就会导致芯片上的计算单元大量处于闲置状态。在 OpenAI 这样的推理服务规模下,哪怕 GPU kernel 的效率只提高几个百分点,折算成计算资源和成本,也可能价值数亿美元。(1/2)5.6-sol 对生产环境中的 GPU kernel 进行了重写和优化,并自行解决了其中的问题,最终实际带来了: ●通过 GPU kernel 优化,推理服务成本降低 20% ●通过改进 speculative decoding(推测解码),Token 生成效率提高 15% ●节省下来的成本进一步转化为 Luna/Terra 的降价空间...
而在计算领域,kernel也指一段通常只有几百行的GPU代码,用来执行大语言模型中的数学计算和Attention(注意力)等操作。
GPU只有在kernel能够持续不断地给Tensor Cores(张量核心)提供数据、让计算单元始终保持忙碌的情况下,才能真正发挥出纸面标称的FLOPS算力。
如果内存访问模式设计得不好,数据供给跟不上,就会导致芯片上的计算单元大量处于闲置状态。
在OpenAI这样的推理服务规模下,哪怕GPU kernel的效率只提高几个百分点,折算成计算资源和成本,也可能价值数亿美元。
(1/2)
5.6-sol对生产环境中的GPU kernel进行了重写和优化,并自行解决了其中的问题,最终实际带来了:
●通过GPU kernel优化,推理服务成本降低20%
●通过改进speculative decoding(推测解码),Token生成效率提高15%
●节省下来的成本进一步转化为Luna/Terra的降价空间