从零开始构建快速LLM推理引擎

2024-12-15

本文讲述了作者如何使用C++和CUDA从零开始构建一个LLM推理引擎,无需任何库。通过这个过程,作者深入学习了LLM推理的全栈知识,从CUDA内核到模型架构,并了解了各种优化如何影响推理速度。目标是创建一个程序,可以在单CPU+GPU服务器上加载常用开源模型的权重,进行单批推理,并迭代改进令牌吞吐量,最终超越llama.cpp。文章详细介绍了CPU和GPU上的优化步骤,包括多线程、权重量化、SIMD、内核融合以及KV缓存量化等,并分析了遇到的瓶颈和挑战。最终实现了接近最先进性能的本地LLM推理。

阅读更多
开发

透视校正插值

2024-06-12

本文介绍了透视校正插值的概念及其在渲染中的重要性。透视校正插值用于解决仿射纹理映射在非平行于图像平面的三角形上出现的纹理扭曲问题。文章详细解释了如何使用重心坐标计算屏幕空间点的正确颜色值,并通过数学公式和代码示例展示了如何实现透视校正插值。文章还解释了为什么早期的游戏机,如PlayStation 1,由于硬件限制无法实现透视校正插值,导致纹理扭曲。

阅读更多
未分类 透视校正

扩散模型笔记

2024-05-25

这篇文章详细介绍了扩散模型的理论基础及其在图像生成等领域的应用。文章首先介绍了生成模型的基本概念,然后重点讲解了去噪扩散概率模型(DDPM)的原理,包括前向扩散过程、反向去噪过程、训练目标函数以及采样方法。文章还介绍了扩散模型的最新进展,例如基于分数匹配的快速生成方法、条件生成技术(包括分类器指导和无分类器指导)、图像编辑技术(包括图像到图像转换和修复)以及文本到图像生成。此外,文章还探讨了扩散模型在音频、视频、3D模型生成以及生命科学和机器人领域的应用。

阅读更多
未分类