- 博客(27)
- 问答 (9)
- 收藏
- 关注
原创 Nano-VLLM全代码解析笔记(13)-GDN字段与顶层调度
(待完成)多模态支持(视觉塔/多模态预处理/多模态条件生成类/权重加载)(正在完成)QKVParallelLinear和GDN线性注意力层。(已完成)GemmaRMSNorm和MRoPE。(已完成)Qwen3.5架构介绍。(待完成)流式输出与多请求支持。(待完成)MTP支持。🔗上一篇: [12]
2026-09-08 21:48:12
132
原创 Nano-VLLM全代码解析笔记(12)-Gated Delta Rule
没什么好说的,就是实现上面第二张图的流程,唯一值得注意的就是for循环这里decode阶段sequence_length=1。(待完成)多模态支持(视觉塔/多模态预处理/多模态条件生成类/权重加载)(正在完成)QKVParallelLinear和GDN线性注意力层。(已完成)GemmaRMSNorm和MRoPE。(已完成)Qwen3.5架构介绍。(待完成)流式输出与多请求支持。(待完成)MTP支持。🔗上一篇: [11]
2026-09-05 22:52:37
290
原创 Nano-VLLM全代码解析笔记(11)-Linear与GDNAttention
Qwen3.5 线性注意力机制三讲:从 KV Cache 到 Gated DeltaNet简单而言#注意区别,这里不是RMSNorm,这里除以的不是x的均方根。#因此RMSNorm 的输出 = l2norm 的输出 × sqrt(x)#l2norm把向量长度拉成1,目的是用来对Query(Q)和Key(K)进行归一化。目的是让点积计算的结果只取决于“方向”的相似度(即余弦相似度),而不受向量模长的影响,从而稳定注意力分数的数值范围。
2026-09-03 22:23:05
266
原创 Nano-VLLM全代码解析笔记(10)-GemmaRMSNorm和MRoPE
本节参考资料:VLLM源码Transformers源码(49 封私信) Qwen3.5 架构最全拆解:Linear Attention 源码配图解析、Gated DeltaRule 公式源码逻辑介绍、Full Attention与 MoE 模块算子流程解析 - 知乎(已完成)Qwen3.5架构介绍(正在完成)GemmaRMSNorm和MRoPE(待完成)GDN线性注意力层(待完成)多模态支持(视觉塔/多模态预处理/多模态条件生成类/权重加载)(待完成)引擎()修改(待完成)MTP支持(待完成)流式输出与多请
2026-09-01 22:50:39
204
原创 Nano-VLLM全代码解析笔记(7)-rotary_embedding
【代码】Nano-VLLM全代码解析笔记(7)-rotary_embedding。
2026-08-24 21:51:00
228
原创 Nano-VLLM全代码解析笔记(6)-embed_head和linear
【代码】Nano-VLLM全代码解析笔记(6)-embed_head和linear。
2026-08-23 13:37:22
259
原创 Nano-VLLM全代码解析笔记(5)-laynorm和attention
【代码】Nano-VLLM全代码解析笔记(5)-laynorm和attention。
2026-08-23 13:37:07
226
原创 Nano-VLLM全代码解析笔记(3)-llm_engine和scheduler
🔗下一篇:[系列(3)实战演练](https://blog.youkuaiyun.com/xxx/article/details/xxxxxx)🔗上一篇:[系列(1)开篇](https://blog.youkuaiyun.com/xxx/article/details/xxxxxx)[系列(2) 核心原理](https://blog.youkuaiyun.com/xxx/article/details/xxxxxx)[系列(1) 开篇](https://blog.youkuaiyun.com/xxx/article/details/xxxxxx)
2026-08-22 14:20:04
48
原创 Nano-VLLM全代码解析笔记(2)-block_manager
本文解析了NanoVLLM引擎中BlockManager的架构与实现逻辑。BlockManager负责管理KV缓存块,通过链式哈希实现前缀缓存复用。核心机制包括:1)采用引用计数和哈希表管理块生命周期;2)通过两阶段提交(can_allocate/allocate)确保显存安全分配;3)使用xxhash构建链式哈希,确保块复用必须前缀完全匹配。文章详细说明了块分配、释放、哈希计算等关键流程,并解答了引用计数初始化、哈希表更新等实现细节问题,揭示了Transformer推理中KV缓存管理的核心技术。
2026-08-21 19:47:25
189
原创 Nano-VLLM全代码解析笔记(1)-sequence
定义用户请求序列的状态:等待、执行、完成#block_size=256是指一个Block最多256个token,不是一个序列最多分配256个Block#创建唯一的请求序列的ID,用法见问题1的第三点#默认序列的初始状态为等待#把传入的token列表存下来#记录序列已有的token总数#记录prompt的token的长度,即用户问的问题,而不包含模型的回答#记录sequence的token存在哪些显存的block中,以便快速查找#配置推理参数@property@property。
2026-08-21 19:43:40
465
原创 虚拟环境中pip install时报错error: externally-managed-environment(PEP 668)的一种可能原因与解决方法
按“↓”键找到export PATH="...:$PATH"这一行,然后Ctrl + K剪切,Ctrl + U黏贴到# <<< conda initialize <<<代码段之前,然后Ctrl + Z退出并保存,之后执行以下命令(或者重启主机\重建SSH链接),重新加载配置即可。3.which python的路径是对的,但是which pip的路径不对。发现.bashrc中的export PATH="...:$PATH"被写在。2.是在新建的虚拟环境中使用pip遇到的报错,即使重新创建也还是报错。
2026-01-08 23:15:51
414
原创 Transformer从零构建的数据流变换详解笔记
本文是本人记录Transformer的手撕过程,尽可能记录代码作用、碰到的问题,以及最重要的数据变换流程,以备以后遗忘复习。
2025-06-30 20:32:05
876
原创 VLLM部署Qwen3-4B实现本地HTML交互详细流程
其中ollama与LM studio配置简单,可在Windows系统上使用,其中ollama仅需要一定命令行基础即可使用,而LM studio更是提供了可视化界面,但这两个框架存在部分推理限制与BUG。解决方法均在评论区)Qwen3是阿里最新开源的大预言模型,性能在目前的开源模型中排名靠前,尤其是4B模型性能突出,本文将详细介绍如何在Linux上部署Qwen3模型,并规避一些可能的问题。安装VLLM,建议安装最新的版本的(如下代码),直接pip install vllm安装的0.85版本存在以下问题。
2025-05-24 19:30:26
1358
原创 [PAT刷题记录]1044 Shopping in Mars
思路:滑动窗口,如果第一次滑的时候没有碰到正好等于m的窗口,令m为最接近的那个值再滑动一次。测试点4:n为1,m任意,链上仅有的值大于m,需要直接输出。
2025-03-13 15:02:54
280
原创 [PAT刷题记录]1023 Have Fun with Numbers
测试点2:这个测试点的数字翻倍后有进位,并且它的构成不仅有原数字的9个数字,还有0,因此还要判断0的出现次数,正确输出应该是No。
2025-03-11 16:14:29
253
原创 解决Edge意外关闭重启后未出现恢复最近关闭的页面的选项的问题
使用edge等浏览器时,我们可能会保留许多页面,这些页面分散存储于历史记录各处。如果edge浏览器意外关闭,重启时无法恢复最近使用的页面,此处提供两种解决方法。
2025-02-10 21:21:44
20004
5
原创 吉林大学2021级计算机系统结构期末复习
如果这一块的标识匹配,则称发生了“伪命中”。在组相联或直接映像Cache中,若太多的块映像到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。当目录项中的m个指针都已经全被占满,而某处理机又需要新调入该块时,就需要在其m个指针中选择一个,将之驱逐,以便腾出位置,存放指向新调入块的处理机的指针。当一个处理器的Cache响应本地CPU的访问时,如果它涉及全局操作,其Cache控制器就要在获得总线的控制权后,在总线上发出相应的消息(如cache A发作废)。
2023-06-12 10:57:10
4721
7
关于grabwindow函数
2022-10-09
请问c的项目中如何使用cpp文件
2022-03-09
请问关于fgetc的使用问题
2021-11-15
请问下关于指针的问题
2021-10-21
请问下关于冒泡排序的问题
2021-10-24
请问下关于括号统计的问题
2021-10-19
请问为什么这段程序输出不了结果
2021-10-17
为什么这些代码输入同样的治,输出的结果却不一样?
2021-10-18
请问为什么我输出的结果是1.00000
2021-10-15
c语言编程关于getchar使用
2021-10-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅