@TheAhmadOsman: 你并不是在“运行模型”,你运行的是内核。模型只是一个图,推理引擎是调度器/优化器/执行器…
摘要
这条推文解释了运行AI模型实际上是运行优化的内核,推理引擎及其内核实现对于性能至关重要,而不仅仅是模型或硬件。
你并不是在“运行模型”
你运行的是内核
模型只是一个图
推理引擎是调度器/优化器/执行器
但实际工作呢?那是在内核中完成的
- MatMul 内核
- Attention 内核
- RMSNorm 内核
- KV cache 内核
- 量化线性内核
- 采样内核
- 融合“求你别把这写回内存九次”内核
同样的模型,同样的 GPU,同样的显存
性能天差地别
因为一个栈使用的是优化的融合内核,它们了解你的硬件
而另一个栈则像玩烫手的山芋一样,通过47次微小的启动来传递张量,还假装是GPU的问题
糟糕的内核让人们说:
“这个模型太慢了”
好的内核让人们说:
“等等,这是怎么在本地运行的?”
这就是为什么推理引擎及其实现的内核如此重要
模型是配方
硬件是厨房
内核是刀、锅、炉灶,以及不用勺子切洋葱的厨师
大多数人都在对模型进行基准测试
真正的高手是对底层内核进行基准测试
查看缓存全文
缓存时间: 2026/06/08 11:19
你不是在“跑模型”
你真正跑的是Kernel
模型只是一张计算图
推理引擎是调度器/优化器/执行器
但真正干活的是谁?是Kernel
- 矩阵乘法Kernel
- 注意力Kernel
- RMS归一化Kernel
- KV缓存Kernel
- 量化线性Kernel
- 采样Kernel
- 融合Kernel(求你了,别把这玩意儿来回读写内存9次)
同样的模型、同样的GPU、同样的显存
性能却能天差地别
因为一套方案用的是针对你的硬件优化的融合Kernel
另一套方案却像扔烫手山芋一样,把张量拆成47次微启动来回倒腾,还反过来怪GPU不给力
烂Kernel让人感叹:
“这模型真慢”
好Kernel让人惊呼:
“等等,这东西怎么能在本地跑这么快?”
这就是为什么推理引擎及其内部实现的Kernel至关重要
模型是菜谱
硬件是厨房
而Kernel是刀、锅、灶台,以及那个不用勺子切洋葱的厨师
大多数人都在给模型跑分
真正懂行的人,测的是底层Kernel
相似文章
@TheAhmadOsman: 你想了解这些AI内核是如何工作的吗?从这里开始
@TheAhmadOsman 发布的一条推文,指向一个学习AI内核工作原理的资源。
@TheAhmadOsman: 给本地运行模型的人的一些极好的要点
一条推文强调了给本地运行AI模型的人的一些很好的要点,并附有更多信息的链接。
@TheAhmadOsman:本地AI是未来。学习如何运行开源模型(推理),如何系统地评估它们(评估),……
@TheAhmadOsman 的一条推文强调本地AI是未来,并推荐学习诸如运行开源模型、进行评估以及通过微调定制模型等技能。
最好的模型是你真正能运行的模型
文章认为,最好的AI模型不一定是最强大的,而是能够实际部署并高效运行的模型,强调要考虑现实中的约束,如成本和硬件需求。
@RisingSayak: 发现更快的内核?您不应该需要重写模型来使用它。借助 Kernels,您可以选择哪个内核运行…
这个Twitter线程介绍了Hugging Face的Kernels,这是一个工具,允许用户选择和替换AI模型中支持层的优化内核实现,而无需重写整个模型。