ncompute 学习与使用 ncompute 使用示例 准备工作 机器设备:NVIDIA GeForce RTX 4060 laptop CUDA 环境:12.4 docker 环境:nvcr.io/nvidia/pytorch:24.05-py3 我简单地写了一个 elementwise 的 kernel 函数,并使用 ncu 对其做性能分析 1234567891011__global__ void elementwi 2025-02-03 cuda #cuda
DeepSeek 背后的 MLA 和 MoE 架构 最近,DeepSeek(深度求索)公司推出的 DeepSeek-V3 和 DeepSeek-R1 大火,吸引了太平洋两岸所有关心关注 AI 发展的人的目光。本文试图从 DeepSeek 这轮爆火现象的背后,探究其中的架构创新,进而挖掘它如此低廉却好用的原因。 MLA(Multi-head Latent Attention) 一句话说明什么是 MLA 为了进一步解决 KV cache 在模型推理中的 2025-01-27 AI #AI
GraphRAG 框架 引言 对于大模型的应用而言,也许最大的挑战就是让它回答一些在预训练和后训练时从未知晓的领域的问题(比如你昨天的日记、商业公司内部的机密文档等私有数据)。目前,业界解决该问题的方案之一就是使用检索增强生成(RAG),RAG 是一种利用大模型(LLMs)对私有数据文献的检索、理解和生成的 AI 回答技术。虽然传统的 RAG 技术可以很好地帮助大模型回答基于私人数据的问题,但它无法进一步地理解私有数据中 2024-10-13 AI #AI
VLLM custom allreduce 实现 vllm custom allreduce 实现 动机 用过 vllm 执行大模型的读者应该很清楚, vllm 使用张量并行(tensor parallel)的方式执行多卡推理。在 Self-Attention 和 MLP 层会将张量分布到各个 GPU worker 上计算,因此各个 GPU 上计算的只是一部分矩阵乘的数据,故完成计算后所有的 GPU worker 需要将结果“汇总”起来,即执行 2024-08-02 AI #AI
VLLM Paged Attention 实现 Paged Attention 简介 Paged Attention 是 vllm 在 decode 阶段用来解决 KV cache 利用率不高的加速技术。它仿照了操作系统中经典的分页技术(paging)。Paged Attention 通过切分一个 sequence 序列中的 KV cache 为多个 KV blocks 的方法,允许在非连续的内存空间存储连续的 key 和 value。每一个 2024-08-02 AI #AI