博客文章¶
函数Hook(LD_PRELOAD)、审计流劫持(LD_AUDIT)及函数插桩
Linux从符号劫持到运行时追踪:函数Hook(LD_PRELOAD)、审计流劫持(LD_AUDIT)及函数插桩。
sglang投机推理实现
deepseek_nextn.py
实现DeepSeek NextN推测解码。 通过forward_batch.spec_info.hidden_states获取推测解码的隐藏状态 使用eh_proj合并当前和推测的隐藏状态 支持分布式并行计算(通过enable_dp_attention标志)
LLM推理:VLLM投机采样实现
架构
SpecDecodeWorker + Proposers (ngram, draft model) + Scorer (top-1 scoring) + Verifier (rejection sampling)
LLM推理:采用投机采样加速推理[译]
推测解码
关于投机采样是什么这里就不赘述了,参考这篇大佬的文章大模型推理妙招—投机采样(Speculative Decoding),解释的很清晰。
vllm框架对投机采样(Speculative Decoding)进行了支持, 见spec_decode。
投机采样也可以翻译为推测解码,我觉得推测解码会更加容易理解一些,下文采用推测解码。
推测解码是一种推理优化技术,它在生成当前Token的同时,对未来的Token进行有根据的猜测,这一切都在一次前向传播中完成。它融入了一种验证机制,以确保这些推测出的Token的正确性,从而保证推测解码的整体输出与普通解码的输出相同。优化大语言模型(LLMs)的推理成本,可以说是降低生成式人工智能成本并提高其应用率的最关键因素之一。为了实现这一目标,有各种推理优化技术可用,包括自定义内核、输入请求的动态批处理以及大型模型的量化。
MPI是什么?有哪些集体通信操作以及在TensorRT LLM中应用
MPI介绍
MPI(Message Passing Interface,消息传递接口)是一种并行计算的通信标准,主要用于在分布式内存系统中实现多进程间的数据交换和协同计算。它是高性能计算(HPC)领域的核心工具之一,尤其适用于超级计算机和集群环境。MPI是独立于硬件和编程语言的规范,主流实现(如OpenMPI、MPICH)支持C/C++、Fortran等语言,可在Linux、Windows等系统运行。
如何实现paged_attention–基于flash-attention的PagedAttention内核实现缓存管理器
类似linux操作系统管理内存的机制,paged_attention用于管理LLM推理时kv cache的显存分配,通过页表机制,优化显存分配,减少碎片。
rust使用:Arc new_cyclic 构建自身的弱引用指针
Arc new_cyclic 构建自身的弱引用指针
创建一个新的Arc<T>,同时为你提供对分配的Weak<T>,以便你构建一个持有对自身弱指针的T。
通常,直接或间接循环引用自身的结构不应持有对自身的强引用,以防止内存泄漏。使用此函数,你可以在T初始化期间(在Arc<T>创建之前)访问弱指针,以便你可以克隆并将其存储在T内部。