归档
所有归档文章。
【ICLR 2024】OmniQuant: Omnidirectionally Calibrated Quantization for Large Language Models
OmniQuant 用可学习权重裁剪(LWC)和可学习等价变换(LET),在逐块量化误差最小化框架里用 SGD 学少量量化参数,把 LLM 压到 W4A4/W2A16 并保持接近 QAT 的精度。本文拆解两个模块的公式、代价,以及论文的实验证据与局限。
【ICML 2023】FlexRound: Learnable Rounding based on Element-wise Division for Post-Training Quantization
FlexRound 把 PTQ 的权重舍入从逐元素加法改成逐元素除法,用 W_hat = s1·round(W/(s1⊙S2⊙s3)) 同时学习公共网格步长和每个权重的缩放。本文拆解公式、reciprocal 梯度性质、消融实验与实验覆盖。
【arXiv】Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models
更新于:从 n-gram 哈希、上下文门控和模型内的数据流出发,解读 DeepSeek Engram 怎样与 Transformer、MoE 配合,核对能力收益,并解释它为何仍然自回归、也不等于推理加速开关。
BigMoeOnEdge:端侧 MoE 专家流式推理原理与实测
更新于:结合 BigMoeOnEdge 的架构图和两组 Android 端实验,解释专家权重流式加载、缓存与 I/O 调度,并比较 mmap、repack 和 HTP Prefill 的性能边界。
Jev 到底是什么:结构化决策 API、开源生态与工程边界
从 TypeSafe 官方资料、Jev 解读站、Datawhale Cookbook 和独立论文出发,解释 Jev 的类型化决策 API、概率与置信度,并梳理闭源服务与开源生态的边界。
QNN W8A16 的 INT32 Bias Overflow:从极小 Scale 到稳定部署
记录 QNN HTP W8A16 中 INT32 bias 溢出的根因、公式、QueOpt 修复方式,以及在真实板端的验证结果。
从 LoRA 到 QLoRA、QA-LoRA:低秩更新如何进入量化模型
用一个完整的数值例子解释 LoRA、QLoRA 和 QA-LoRA 的训练、推理与合并流程,并拆开 QA-LoRA 官方实现中的 group pooling 和 qzeros 写回。
从权重角度理解均匀量化与向量量化
用权重矩阵、scale/offset、码本和索引,拆开解释均匀量化与向量量化到底在压缩什么、如何反量化,以及为什么码本大小会决定 bit 数。
HQQ 算法解读:不用校准数据,怎样把大模型权重压到 4 bit
从 Dropbox HQQ 源码出发,拆解分组非对称量化、half-quadratic 零点优化、bit packing 与推理路径,并说明 axis、group size 和 backend 该怎样选。
DINOv3 做 W8A8 PTQ:一次 FP 激活分布定位,把问题从猜测变成证据
DINOv3 ViT-B/16 的标准全图 W8A8 为何失效?64 张图的逐层 FP32 激活 profile 表明,block 2 MLP 的 learned register 与 patch token 出现数百倍动态范围差。
【arXiv】Activation Quantization of Vision Encoders Needs Prefixing Registers
更新于:RegCache 发现视觉编码器中的高范数 outlier 会严重放大量化误差,并通过中间层 prefix registers 和 token deletion 改善 CLIP、SigLIP、DINOv2 等模型的低比特量化。
【ICLR 2024】Vision Transformers Need Registers
更新于:Vision Transformers Need Registers 解释 ViT 中背景高范数 token 的来源,并用额外的 register tokens 把模型的隐式工作空间显式化。
project 的 GitLab CI/CD 与 Python 包发版流程
记录 project 从专用 GitLab Runner、部署回归,到 wheel 构建、隔离验证、包发布和 Release 创建的完整流程。
Agent 时代的基础设施:从 lark-cli 看执行 Harness 应该怎么建
Agent 需要的不是更多工具,而是一条可验证、可约束、可恢复的执行链。以 lark-cli 源码为例,拆解命令层、身份、策略、输出契约与测试如何组成 Harness。
QAIRT 2.42 适配 Streaming Spatial Speech Enhancement Network 的 GRU
Streaming Spatial Speech Enhancement Network 的 HTP 部署排查:GRU 展开、长序列 native cell、QAIRT 源码开关、Einsum layout bug 与流式 I/O 对齐。
MNN QNN 里为什么 chunk size 会影响 PPL
记录一次 Qwen3-0.6B 在 MNN QNN 上排查 PPL 异常的过程,解释为什么 chunk size 不只是输入切块参数,而是同时决定 prefill 图 shape、padding 路径和 ppl_eval 的上下文窗口,因此会真实影响困惑度。
【arXiv】INP-Former++: Advancing Universal Anomaly Detection via Intrinsic Normal Prototypes and Residual Learning
INP-Former++ 在 INP-Former 的单图内在正常原型上加入 Soft INP Coherence Loss 和 Residual Learning,把方法扩展到 semi-supervised、few-shot、multi-class 和一定 zero-shot 场景。
【arXiv】One Dinomaly2 Detect Them All: A Unified Framework for Full-Spectrum Unsupervised Anomaly Detection
Dinomaly2 在 Dinomaly 的特征重建框架上加入 Context-Aware Recentering,并把同一套最小化设计扩展到多视角、多模态、few-shot 和 inference-unified MUAD。
【CVPR 2025】Exploring Intrinsic Normal Prototypes within a Single Image for Universal Anomaly Detection
INP-Former 从测试图像自身动态提取 Intrinsic Normal Prototypes,并用这些正常原型指导特征重建,缓解训练集正常原型与测试图不对齐的问题。
【CVPR 2025】Dinomaly: The Less Is More Philosophy in Multi-Class Unsupervised Anomaly Detection
Dinomaly 用强预训练 ViT 特征、Noisy Bottleneck、Linear Attention 和 Loose Reconstruction,缓解多类别无监督异常检测中的 identity mapping 问题。
SeqMSE 原理:用输出重构误差选择量化 Encoding
SeqMSE 的核心思想、候选 encoding 搜索、reconstruction loss 计算、block-wise 优化方式,以及它和 min/max、AdaRound、GPTQ 的区别。
RKNN OCR Rec INT8 量化:Weight Outlier、CLE 与 Hybrid 的取舍
记录一次 OCR recognition presoftmax 模型在 RKNN W8A8 量化下的精度排查:对比 normal、KL、MMSE,尝试手动 Cross-Layer Equalization 处理 weight outlier,并分析为什么最终仍需要 hybrid。
MNN QNN 离线模式跑通 Qwen3-4B 大模型
完整记录从本地编译 MNN、生成 QNN 离线模型、准备高通 QNN 依赖,到在 QCS8550/8 Gen 2 板端按 MNN 文档跑通 Qwen3-4B 的全过程,以及中间遇到的权限、路径和库问题。
llama.cpp Hexagon HTP 长 Prompt 默认 ubatch=512 卡住的定位与修复
本来只是想在 Hexagon HTP 上跑一条稍长一点的总结题,结果 `llama.cpp` 默认 `ubatch=512` 直接卡在 prefill。最后一路排到 HMX matmul,发现是小 remainder batch 走异步 pipeline 后没回来。
llama.cpp 里的 lm-head:Q6_K、Q4_0,以及为什么 4B 不一定提速
从 Qwen3/Qwen3.5 的 tied embedding 看 lm-head 性能瓶颈:0.6B 改 output-q4_0 有收益,4B 上收益有限甚至可能变慢。
llama.cpp HTP 调优:少用 CPU 为什么反而慢
用 Qwen3-0.6B 的 profile 解释一个朴素误区:减少 CPU 参与不等于更快。HTP attention、SET_ROWS、图切分和真实 token/s 的关系。
llama.cpp 跑 Qwen3-0.6B:HTP 上从 20 到 70 token/s
一次 Snapdragon Hexagon HTP 上的真实调优记录:OPPOLL、算子过滤、lm-head 量化,以及为什么 70 token/s 不是“全上 NPU”跑出来的。
llama.cpp Hexagon NPU 量化:Q4_0 / IQ4_NL / MXFP4 / Q8_0
对比 llama.cpp Hexagon HTP 支持的 Q4_0、Q4_1、IQ4_NL、MXFP4、Q8_0 格式,解释存储表示、反量化 kernel 和格式选择。
TVM 是什么:层级架构与编译流水线
通过 TVM 的 Relax、TIR、Target 和 Runtime 分层,跟踪一个 matmul + add 模型如何从图表示逐步编译为目标设备代码。
llama.cpp 高通 Hexagon NPU 初跑 Qwen3.5 4B 模型
记录 llama.cpp 在 Snapdragon 8 Gen 2 / Hexagon HTP v73 上部署 Qwen3.5-4B 的模型转换、交叉编译、板端运行和实测速度。
TVM FFI(三):多语言绑定与工具链
Python/Rust 绑定 SDK、JIT 即时编译、stubgen 类型标注生成、全局注册表、stream 管理及 addons。
TVM FFI(二):类型系统与容器
Any/AnyView 所有权语义、Array/Map/Variant/Expected 容器、结构相等性与哈希、反射系统与 Dataclass。
TVM FFI(一):对象系统与调用约定
TVM FFI 的核心骨架:引用计数对象系统、类型擦除容器 TVMFFIAny、Packed Function 调用约定,以及 DLPack 零拷贝张量传递。