这是闪电注意力前向:`TestPcontig.test_flash_attention` 周围甚至没有一个“融合”,从数据流中模式显而易见。 反向缺少两个技巧:q.grad 和 k.grad 的输出一起,以及选择重新计算分数矩阵而不是保存它。
一旦反向闪存注意力变得自动,想象一下它将发现的其他模式。 为了速度,我们正在开发一种类似于 thunderkittens 的传递,将一切分解为 16x16 的瓦片。不再需要考虑 "locals",这正是 Triton 的产品。
人们知道如何阅读这些图表吗?与那些包含代码的帖子相比,这些帖子并没有获得太多关注,但我发现图表更容易理解。
8.46K