- 博客(181)
- 资源 (8)
- 收藏
- 关注
原创 大模型-vllm的online 使用多模态数据-4
如果没有可用的默认聊天模板,我们会首先在 vllm/transformers_utils/chat_templates/registry.py 中查找内置的备用模板。如果没有备用模板,将会报错,并且您必须通过 --chat-template 参数手动提供聊天模板。对于某些模型,我们在示例中提供了备用聊天模板。例如,VLM2Vec 使用 examples/template_vlm2vec_phi3v.jinja,它与 Phi-3-Vision 的默认模板不同。
2025-11-18 17:14:19
647
原创 大模型-Vllm offline推理方式启用多模态数据-3
llavaVL的示例代码vLLM 通过 vllm.multimodal包为多模态模型提供实验性支持。多模态输入可以与文本和令牌提示一起传递给,方法是通过 vllm.inputs.PromptInputs中的字段。目前,vLLM 仅内置支持图像数据。你可以按照扩展 vLLM 以处理其他模态.
2025-11-16 23:26:48
926
原创 大模型-vllm如何部署新模型-2
添加新模型的复杂程度在很大程度上取决于模型的架构。如果模型与 vLLM 中的现有模型具有相似的架构,则该过程相当简单。但是,对于包含新运算符(例如,新的注意力机制)的模型,该过程可能会稍微复杂一些。默认情况下,vLLM 模型不支持多模态输入。要启用多模态支持,请在在此处实现模型后,按照进行操作。
2025-11-16 21:12:59
1020
原创 大模型-vllm的知识点记录-1
较小的 max_num_batched_tokens 可以实现更好的 ITL,因为中断解码的预填充较少。较高的 max_num_batched_tokens 可以实现更好的 TTFT,因为您可以在批次中添加更多预填充。若生成配置中指定了 max_new_tokens,则会在服务器范围内对所有请求的输出 token 数量施加限制。它通过将计算绑定 (预填充) 和内存绑定 (解码) 请求定位到同一批次,可以实现更好的 GPU 利用率。这可以减少批量中并发请求的数量,从而需要更少的 KV 缓存空间。
2025-11-06 20:41:43
679
原创 大模型-qwen+audio的vllm部署初探-3
模块功能提供/infer/stream两种模式WebSocket 实时接口分块接收 PCM 数据,服务端实时拼接计算 embedding音频到文本 embedding 转换Qwen2 LLM 生成文本模拟语音流推送,实时接收转写结果。
2025-10-29 17:50:02
289
原创 大模型-qwen+audio的vllm部署初探-2
我们将输出一个增强版 Python 代码文件在原有和流式模式接口缓存状态维护动态 prompt 更新逻辑最后部分给出一个最小推理示例,演示完整流程。
2025-10-29 17:48:19
401
原创 大模型-qwen+audio的vllm部署初探-1
替换 projector:把线性 projector 替为小型 transformer / attention 层,使 audio→text 映射更强。离线缓存 audio embeddings:对于高吞吐场景,提前把 audio encoder 的输出 cache 到磁盘(或 redis),生成时直接使用。支持 streaming:将改为 chunked 处理,并允许incremental 替换、与 LM KV cache 一起工作。热词/LLM 引导:在。
2025-10-29 17:45:13
968
原创 大模型-mtk 转换运行qwen2.5 模型
官方教程:https://neuropilot.mediatek.com/sphinx/neuropilot-8-basic-gai-full/html/l1_gai_toolkit/l2_model_deployment/tutorial_llm.html下载官方示例文件 GAI-Deployment-Toolkit-v2.0.8_qwen2.5-0.5b-1.5b-7b-v0.1.tar.gz3. 支持的llm 模型列表如下:4. 软件版本要求。
2025-09-16 18:10:38
1002
原创 大模型-mtk llm sdk 使用简要说明
MTK llm sdk的总体流程图如下:1:实现token embedding 作用。2:构建PTQ的校准数据集。3:进行PTQ 量化。4:进行模型的size的reshape操作。5:进行tflite格式模型的编译,得到dla 结构的模型文件。
2025-09-11 17:42:26
1018
原创 大模型推理-MTK Neurapilot sdk了解与环境配置-1
编译器自定义 API 允许用户通过向 Neuron 编译器提供用户特定信息 (USI) 文件来定制模型。将编译器自定义 API 集成到编译器工作流程后,用户可以直接控制高级编译器功能,例如执行计划、运算精度和并行执行。
2025-08-22 18:35:30
810
原创 Eagle论文解析
EAGLE-1:Speculative Decoding 加速框架摘要Algorithm是一个用于加速大语言模型自回归推理的无损推理加速机制,它通过预测特征(而非直接预测 token)来提升推理效率。arXiv工作机制利用模型倒数第二层的特征向量作为输入,让一个轻量级插件预测下一个时刻的特征。使用原模型冻结好的分类头从 predicted feature 输出 token。在不修改模型和输出分布的前提下,实现推理速度显著提升(如 Vicuna 13B 上速度提升约 2.7–3.5 倍)
2025-08-22 15:41:12
1122
原创 大模型-BitNet
如前所述,降至 4 位已经相当小了,但如果我们进一步缩小呢?微软研究人员提出BitNet, 使用或来表示模型权重的单一位,即将weight matrix量化成1-bit(即取值1或-1),并且将activation量化成8-bit来执行矩阵乘法。然后使用1-bit矩阵乘上8-bit activation的矩阵运算,代替一般神经网络中的矩阵乘法nn.Linear。模型其余部分则会维持一个高精度,比如FP16,包括梯度、优化器状态、以及Attention里的运算。
2025-08-14 10:52:26
869
原创 大模型-量化感知训练QAT论文解读
最早的时候Google在《Quantization and training of neural networks for efficient integer-arithmetic-only inference》论文中提出了QAT,在训练过程加入了模拟量化。但是还不是大模型QAT, 是小模型时代的QAT, 这也算是这个概念最早出现。论文“LLM-QAT: Data-Free Quantization Aware Training for Large Language Models”是大模型量化的开山。
2025-08-13 16:15:43
811
原创 大模型-QAT介绍
近年来,随着Transformer、MOE架构的提出,使得大模型轻松突破上万亿规模参数,从而导致模型变得越来越大,因此,需要一些大模型压缩技术来降低模型部署的成本,并提升模型的推理性能。模型量化是一种用于减少神经网络模型大小和计算量的技术,将模型参数(如:权重)从高精度数据类型(如:float32)转换为低精度数据类型(如:int8 或 fp4)。模型量化通过以更少的位数表示数据,可以减少模型尺寸,进而减少在推理时的内存消耗,并且在一些低精度运算较快的处理器上可以增加推理速度,同时仍然可以保持模型的性能。
2025-08-12 17:46:12
668
原创 大模型-bacth之chunked prefills
ORCA虽然很优秀,但是依然存在两个问题:GPU利用率不高,流水线依然可能导致气泡问题。我们来看sarathi-serve做的一个实验。左右两图分别刻画了在不同的batch size下,prefill和decode阶段的处理时间和计算强度。可以观察到如下:prefill 阶段是计算密集型(compute-bound),主要时间花在大规模的线性变换和矩阵运算上,算力利用率高,但内存带宽利用率不高。
2025-07-25 16:11:22
1180
原创 大模型-batch之continuous batching
看下Continuous Batching 技术的开山之作ORCA,这个其实是融合的思路。。目前业界把依据ORCA思想实现的方案叫做连续批处理是一种优化技术,它允许在生成过程中。具体来说,一旦一个序列在批处理中完成生成,就可以立即用新的序列替代它,从而提高了GPU的利用率。这种方法的关键在于实时地适应当前的生成状态,而不是等待整个批次的序列都完成。与静态批处理不同,连续批处理采用了迭代级别的调度。它并不等待每个序列在批次中完成生成后再进行下一个序列的处理。
2025-07-25 16:05:00
1023
原创 大模型-batch之static batch
目前的推理服务系统,基本都是专注于最大化整体 LLM serving 系统的整体吞吐量(throughput),也就是每秒服务的请求数量(或 rps)。目前主流的 LLM serving 引擎都把整体的吞吐量作为对比性能的主要指标。为了提高吞吐率,大家会采用批处理技术。所谓的批处理是一种将使用批处理后,推理引擎会将来自多个请求的输入张量合并成一个大的输入张量,然后将其送入模型进行推理。
2025-07-24 20:00:52
915
原创 大模型-internvl高通qnn运行源码解读
模型链接:https://huggingface.co/OpenGVLab/InternVL2-2B论文官方简要说明 https://internvl.github.io/blog/2024-07-02-InternVL-2.0中文解读 https://zhuanlan.zhihu.com/p/702946079在线demo https://internvl.opengvlab.com/
2025-07-03 18:57:46
1457
6
原创 大模型-分布式论文一瞥
在满足90%的SLO达成率的情况下,单个A100 GPU的最大可实现吞吐量,受到TTFT和TPOT要求中较严格要求的限制,约为。
2025-07-01 19:32:31
865
原创 大模型-分布式推理简介
模型推理中的分布式并行技术,是指将一个大模型的推理过程拆解到多个设备或计算节点上运行,以达到提升吞吐、加速响应、突破单卡显存限制等目的。
2025-06-30 16:20:43
1718
原创 大模型-FlashAttention 算法分析
首先,我们将输入序列的查询(Query)矩阵Q、键(Key)矩阵的转置K^T和值(Value)矩阵V分别进行分块。Q分为Tr个块,每个块的大小为(Br, d),其中Br是块的长度,d是向量的维度。K^T分为Tc个块,每个块的大小为(d, Bc)。V分为Tc个块,每个块的大小为(Bc, d)。前两小节是伪代码的11, 12 的计算定义计算的背景。f(x)的计算,可以构造。
2025-06-25 20:33:48
1484
原创 大模型-高通qnn基础
提供较低级别、高度可定制的统一API,通过单独的库加速所有AI加速器核心上的AI模型, 可以直接用于针对特定的加速器核心或从流行的运行时(包括Qualcomm Neural Processing SDK、TensorFlow Lite和ONNX运行时)委派工作负载。一个支持异构计算、系统级配置的一体化SDK,旨在将AI工作负载引导到我们平台上的所有加速器核心。为开发人员提供灵活性,包括核心间协作支持和其他高级功能。是一个为训练好的神经网络模型提供高级量化和压缩技术的库。
2025-06-25 19:50:09
2711
原创 大模型-attention汇总解析之-NSA
被选中的块会进行拼接操作。它处理的是输入序列的局部上下文,通过滑动窗口的方式对序列进行处理,捕捉局部上下文信息,防止局部模式干扰其他分支学习,增强模型对长序列的适应性。基于网格的外循环,由于不同查询块的内循环长度(与所选块的数量n成正比)几乎相同,将output和Grid Loop放入Triton的网格调度器中,以简化和优化内核。压缩的目的是减少计算量,用更紧凑的表示来替代原始的kv对。可训练的架构: NSA采用可训练的算子,能够在训练过程中动态学习最优的稀疏模式,从而在保持模型性能的同时,降低训练成本。
2025-05-30 18:30:23
1209
原创 大模型-attention汇总解析之-MLA
先看下初始的MLA的一般性公式:我们一般会缓存的是投影后的k_i, v_i而不是投影前的x_i, c_i ,根据 MLA 的这个做法,通过不同的投影矩阵再次让所有的 K、V Head 都变得各不相同,那么 KV Cache 的大小就恢复成跟 MHA 一样大了,因为需要存下每一个k_i, v_i,这显然违背了减少kv cache的本意。MLA算法作者发现,可以结合 Dot-Attention 的矩阵运算的具体形式,通过一个简单但不失巧妙的恒等变换来实现输入的低秩压缩。
2025-05-30 18:22:49
556
原创 大模型-attention汇总解析之-GQA
MHA把一个注意力计算拆成多个注意力头,每个注意力头使用独立的Q、K、V进行计算,需要把K、V都存储下来,KV Cache中每个token需要缓存的参数量为2n*h_d*h_l。从上面的图可以看出,MHA是一个attention 头有自己独立的kv cache 缓存,这样子的计算效果是最好的,同时kv cache 也是最完善的,意味着也是最占用内存的。GQA:将所有的Q头分成g组,同一组的Q头共享一个K头和一个V头,因此KV Cache中每个token需要缓存的参数量为2n_g_d_h_l。
2025-05-30 18:16:49
478
原创 大模型-attention汇总解析之-MQA
ttention”,是减少 KV Cache 的一次的一种大胆尝试,首次提出自《Fast Transformer Decoding: One Write-Head is All You Need》, 在2019 年减少 KV Cache 就已经是研究人员非常关注的一个课题了。一般的multi head attention 的qkv的头的数量都一样,而multi query attention的q的头数量保持不变,k,v的头数量都变为1。
2025-05-30 18:13:04
281
原创 大模型-attention汇总解析之-MHA
这里我们只考虑了主流的自回归 LLM 所用的 Causal Attention,因此在 token by token 递归生成时,新预测出来的第 i+1个 token,并不会影响到已经算好的 前面的i个K, V的值,因此这部分K, V结果我们可以缓存下来供后续生成调用,避免不必要的重复计算,这就是所谓的 KV Cache。下面是kv cache的示意图。在实践中,为了减少计算复杂度和内存占用,通常会设置 ,其中 d 是模型的维度,h 是缩放因子(也称为头数,即多头注意力中的头的数量)。
2025-05-30 18:10:31
648
原创 大模型-高通平台性能测试示例-2
在QNN中,可以使用(genis-t2t-run)和这两个工具来进行推理的性能分析。支持在QNX操作系统或Android操作系统上进行性能分析。:提供基本的性能数据,如运行时间、资源消耗等。:提供更详细的性能数据,可能包括各个操作的执行时间、资源使用情况等。:是指在性能分析的同时进行代码质量检查,以发现潜在的问题。:是指跟踪和分析神经网络中各个操作的性能,以优化网络结构或参数。
2025-05-28 20:01:28
973
原创 大模型-高通性能测试工具介绍-1
支持QDSP6、HVX、HMX加载, NPU, CPU等核心指标测试。在SA8295 (nt2.x)上无法分析系统DDR带宽。获取cDSP的基本配置(时钟、缓存未命中大小等)支持QDSP6、HVX、HMX加载。在SA8295上无法分析cDSP。在SA8295上无法分析cDSP。无法查看cDSP上每个线程状态。无法查看cDSP上每个线程状态。官网没找到,需要问高通的要。主要测试GPU, CPU。无法监控VTCM大小。
2025-05-28 19:48:10
615
原创 Prompt compress 技术探究-LLMLingua2
LLMLingua2 https://arxiv.org/pdf/2403.12968是LLMLingua的改进版本。我们知道LLMLingua需要用小模型压缩,模型太小不一定能保证性能,模型太大耗费时间又太长。这个方法理论上可以,但实际上不是很方便用。很难选择到合适的小模型。小模型压缩后的prompt在不同系列的大模型不一定能识别的准。信息熵不一定是最好的压缩度量指标,比如胡乱的语句信息熵很高,但是确是无效错误的信息,通用模型压缩效果肯定不如专门训练的压缩模型效果好。
2025-05-04 18:31:04
1176
原创 Prompt compress 技术探究-LLMLingua
这里以微软的一篇发表在2023EMNLP 顶级期刊研究论文,介绍下prompt compress技术。就信息熵角度来说,困惑度 (PPL) 较低的标记对语言模型的整体熵增益贡献较小,删除困惑度较低的词条,对LLM理解上下文的影响相对较小, 基于这个理论指导,这篇论文进行了尝试。大型语言模型 (LLM) 因其强大的性能而被广泛应用于各种领域。随着思路链 (CoT) 提示和语境学习 (ICL) 等技术的进步,输入到 LLM 的提示越来越长,甚至超过数万个 token。
2025-05-04 18:23:30
1133
原创 在android 系统上qnn sdk转换,运行模型,精度调优示例总结
前面讲了如何配置qnn sdk的环境,这一篇总结下qnn 实际转换一个onnx 模型,并运行的实现步骤。设备:1. ubuntu22.04 的Linux 服务器。2. 一台android手机。
2025-04-28 17:24:11
2026
2
原创 基于medusa范式的大模型并行解码推理加速初探
树注意力机制:树注意力机制通过树状结构来组织所有候选的token。每个token只能看到自己当前路径上的prefix(前缀),确保每条路径互不干扰。掩码(Masking):通过掩码技术实现每个token只能看到自己当前路径上的prefix,从而确保每条路径互不干扰。Medusa模型:Medusa模型引入了树注意力机制,通过这种方式,Medusa只需要对这些候选进行一次forward pass(前向传播)就能对所有路径并行地实现验证(verify)。
2025-04-19 12:51:31
1103
原创 Speculative decoding投机解码原理思考与解决
投机解码的核心动机是:在生成任务中,总有简单和复杂的子任务,对于一些较为简单的任务,解码过程存在可以节约资源的环节,使用大模型进行每轮一个token的自回归解码存在资源上的浪费;换句话说,简单的子任务只需要用参数量较小的模型来生成也能取得与使用大模型生成相当的效果,亦或是用大模型在每轮迭代进行多个token的并行解码也依然能保持生成质量。基于此,投机解码采用一种draft-then-verify(起草+验证)的机制来实现这一过程。
2025-04-19 12:42:59
2038
vc6.0的filetool.dll
2013-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅