avatar
文章
491
标签
109
分类
29
首页
归档
分类
标签
关于
xhj的博客
首页
归档
分类
标签
关于

xhj的博客

TorchAir学习笔记
发表于2025-12-01|LLM
TorchAir 学习笔记Eager Mode(单算子模式): 优点:立即执行并返回结果;易用、可调试;动态构建计算图(图的形状和大小可以在运行时改变); 缺点:可能存在性能问题(host bound),每一次 OP 调用触发一次 python/C++ 相关处理(torch/torch-npu/CANN)。 PyTorch 图模式演进: torch.jit -> lazy tensor -> TorchDynamo(PyTorch 2.0 正式集成,对外提供 torch.compile API,不光提供了成图能力,也同时发布了 Inductor 代码生成后端) torch.compile 底层原理: 前端: 图定义:torch fx 定义了一种图结构表达,并且能够进行 python 代码生成; 图生成:TorchDynamo 解析 python 编译后的 PyCodeObject 字节码,并生成一张 fx 图(传给用户定义的 Compiler); 后端: 图编译、图执行:TorchAir 是 torch.compile 里的...
大模型推理加速岗位学习路线
发表于2025-11-20|LLM
大模型推理加速岗位学习路线基础知识 Transformer/SelfAttention 原理(精读论文:Attention is all you need) FlashAttention 原理(精读论文) KVCache 原理 FasterTransformer/DeepSpeed/TensorRT-LLM 使用(推理加速) CUDA/CANN 编程(算子开发) vLLM 精读 PagedAttention 论文 阅读 vLLM 源码 Prefill/Decode 性能分析(PD 混合/分离) 参考资料 Basic LLM Inference/Generation
大模型推理中的动态图与静态图解析
发表于2025-11-19|LLM
在大模型推理领域中,图模式(graph mode)中的动态图和静态图是什么意思? 好的,这是一个在大模型推理和深度学习框架中非常核心的概念。我会用尽可能清晰的方式解释动态图和静态图的区别、原理以及它们在大模型推理中的权衡。 核心思想:何时构建计算图?想象一下,你的模型(比如一个Transformer)是由许多层(如线性层、注意力机制、激活函数等)组成的。这些层之间的数据流动和计算关系可以表示为一个计算图。 动态图 和 静态图 最根本的区别就在于这个计算图的构建时机和执行方式。 1. 动态图定义:边定义,边执行。 在动态图模式下,计算图是在代码运行时动态生成的。你每执行一行定义操作的代码(例如 z = x + y),这个操作就立即被执行,并且计算图也会实时地扩展一个节点。 类比:这就像Python的交互式解释器。你输入一行命令,它立刻给你返回结果。 技术特点 直观易懂:代码的执行流程和标准的Python程序完全一致,便于调试。你可以使用 print 语句、断点等所有熟悉的调试工具来检查任何一个中间变量的值。 灵活性高:因为图是动态的,所以你可以轻松使用Python的控制流,如 ...
大模型基础知识
发表于2025-11-17|LLM
大模型基础知识Tokenizertoken:最小语义单元。多模态模型:图像等 -> token,再与文本的 token 进行拼接。 tokenizer:分词器。输入文本 -> token_id(input_id)。 input ids:token 的索引,是整数向量。 tokenizer.decode():将 input_ids 转化为对应的 embedding 向量。 模型文件解析: TransformerTransformer = Encoder + Decoder Encoder:适合理解型任务; Decoder:适合生成型任务。 Self-Attention: Mask-Attention: 1234567891011121314151617181920>>> import torch>>> seq_len = 4>>> qkt = torch.randn([seq_len, seq_len])>>> qkttensor([[ 0.0697, 0.7932, -0.1...
代码编译
发表于2025-11-16|LLM
CUDA 编程练习编译程序跳过 .o 文件,直接编译链接成可执行文件。 12345678910nvcc xxx.cu -o xxx# or:nvcc xxx.cu --gpu-architecture=compute_yy -o xxx# GeForce RTX 2060 (Compute Capability: 7.5)nvcc xxx.cu --gpu-architecture=compute_75 -o xxx# nvcc xxx.cu -arch=sm_75 -o xxx (?)# 执行程序./xxx
为什么不用单张高分辨率图?
发表于2025-11-15|LLM
一、为什么不用单张高分辨率图?传统 VLM 如果直接输入: 比如: 1024×1024 1536×1536 ViT patch 数会急剧上升。 假设 patch size = 14(ViT 常见) 那么 token 数近似: 728×728[(728/14)^2 = 52^2 = 2704] 1024×1024[(1024/14)^2 \approx 73^2 = 5329] 几乎翻倍。 而 ViT self-attention复杂度是: O(N^2) token翻倍,attention计算可能接近 4倍。 所以 Step3-VL 的策略是: 不要让一张图特别大,而是拆成: 一个全局图 + 多个局部图 这样可以: 保持 global understanding 获得 local detail batch 并行计算更友好 论文里明确提到: exploits batch-dimension parallelism, avoiding variable-length packing complexity. (Hy...
vLLM6.md
发表于2025-11-14|LLM
一、引言Guided Decoding,又叫 Structured Output,是大模型推理领域中非常重要的一个特性,主要用于引导大模型输出符合某种特定格式(如:SQL、Json)的结果,以便更好地将大模型落地到具体的应用场景中。 在我的上一篇文章中,简要地介绍了 Guided Decoding 的原理,并详细分析了 vLLM 中相关代码的实现(V0),文章链接:vLLM 学习笔记|Guided Decoding。 自从 vLLM v0.8.x 之后,V1 Engine 将作为 vLLM 启动时的默认选项。关于 V1 Engine 的系统设计以及具体的优化点,我将会在之后逐步梳理并分享出来(如果有空的话)。而在本文中,我将针对 V1 Engine,分享 Structured Output 模块的整体设计与具体实现。 二、V1 Engine 整体架构在介绍 Structured Output 模块的设计之前,让我们先来看下 vLLM V1 Engine 的整体架构。在 V1 中,vLLM 将不同类型的 CPU 密集型操作拆分到了两个相互独立的进程中,以便能够异步执行不同的 CPU...
vLLM5.md
发表于2025-11-13|LLM
一、引言目前,在大模型推理领域中,Guided Decoding 技术广泛用于生成一些特定格式的输出,如:SQL、JSON 等。本文将基于 vLLM 以及 Outlines 后端,深入解析 Guided Decoding 背后的技术原理。 二、什么是 Guided Decoding?一般来说,LLM 的输出通常是一段符合人类表达习惯的文本序列,这让我们可以利用 LLM 来回答问题或是创作内容。然而,当我们需要 LLM 的输出符合特定的格式(如:JSON、SQL、正则表达式等)时——例如希望 LLM 根据我们的需求生成查询数据库的 SQL 语句,通过微调的方法通常很难达到我们预期的效果。这时,就需要用到 Guided Decoding 技术,它可以通过影响模型输出层的 Logits 分布(施加 Mask 过滤不满足要求的 Token)来达到规范模型输出格式的效果。 🌰 举个例子: 我们可以向 LLM 输入一个 Prompt 以及对应的格式数据: 12345678910111213141516171819# Guided decoding by JSON using Pydanti...
vLLM4.md
发表于2025-11-12|LLM
一、引言随着 vLLM 逐渐成为生产级场景下大模型推理的通用解决方案之一,期望 vLLM 支持各式各样算力底座的需求日趋强烈。目前,在 vLLM 的官方仓库中维护着 NVIDIA GPU、AMD GPU 以及 Google TPU 等多家芯片厂商的代码,但除此之外,还有更多的 AI 芯片是通过“硬件插件化机制”来支持自家算力的。 所有不在 vLLM 官方仓库中支持的硬件,都被统称为 OOT(Out Of Tree)Device,包括: 官方插件(指存在于 vllm-project 官方项目下的插件):vllm-ascend(华为昇腾 NPU)、vllm-spyre、vllm-gaudi(Intel Gaudi)、vllm-neuron(AWS Neuron)、vllm-metal(Apple Silicon)等; 非官方插件:vLLM-metax(沐曦 GPU)、vLLM-Kunlun(百度昆仑芯 XPU)等。 本文将深入介绍 vLLM 硬件插件化系统的原理,以及如何通过 CustomOp 完成自定义算子的注册与替换,从而使 vLLM 能够灵活地、高效地支持多样性算力。 二、...
vLLM3.md
发表于2025-11-11|LLM
一、引言在多模态处理的 Pipeline 中,ViT(Vision Transformer)和 DiT(Diffusion Transformer)是最常见的处理模块。其中,ViT 在多模态模型中的角色类似于自然语言建模中的 Tokenizer 组件,负责对图像进行视觉特征编码,产出图像的特征序列,只不过 ViT 的编码过程本身也采用了 Transformer 模型结构。 目前,以 vLLM 和 SGLang 为首的开源推理框架针对纯语言模型的特性和优化已愈发完善,而随着多模态模型的快速发展,涌现出了诸如 VL、Omni、TTS 以及 Diffusion 等各式各样的多模态模型,这些开源推理框架针对多模态理解和生成的推理技术还有待完善。 本文将以 vLLM 为例,分享我在工作中学习并积累到的一些针对 ViT 模块的性能优化手段。 二、多模态推理概述2.1 多模态模型的分类目前,根据模型输入和输出所支持的模态,多模态模型可以分为: 多模态理解模型:输入为“文本/图像/视频/音频”,输出为“文本”,模型的任务是理解而不是创造图像或视频。一般由 ViT ...
1…111213…50
avatar
xhj
相关学习笔记
文章
491
标签
109
分类
29
Follow Me
公告
欢迎来到我的博客
最新文章
Multi-Agent2026-06-03
Multi-Agent vs Single-Agent2026-06-02
Harness Engineering2026-06-01
25-架构模式总结2026-05-25
24-Skill-Plugin开发实战2026-05-24
分类
  • AI Agent40
  • Algorithm20
  • Backend Dev74
  • Big Data2
  • C/C++2
  • Claude Code71
  • Computer Basics18
  • Computer Network2
标签
Netty PyG Stacking Pandas Neural Networks PCA Maven Tornado PCV RabbitMQ Claude Code Heap Memory Tree dijkstra Redis GAT MySQL Computer Basics JVM Architecture Linear Regression List Kruskal Algorithm Object Identification Message Queue Gradient descent HBOS LOF Grid search OSI Embedding OLSE Prim NMF DataFrame AI Agent Kafka GNN Thread Compilation
归档
  • 六月 2026 3
  • 五月 2026 25
  • 四月 2026 16
  • 三月 2026 20
  • 二月 2026 10
  • 一月 2026 22
  • 十二月 2025 15
  • 十一月 2025 19
网站信息
文章数目 :
491
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By xhj框架 Hexo 8.1.2|主题 Butterfly 5.5.4