怎样在安卓端利用 Vulkan 编写 4-bit 专用算子:直接在 GPU 上进行解量化与计算融合
前言 在安卓端侧部署大语言模型(LLM)时,内存带宽往往是最大的瓶颈。4-bit 量化(INT4)可以将权重体积减少 75%,但如果我们在推理前先用 CPU 或 GPU 算子将其还原为 FP16,会产生额外的显存读写开销。 本文将教你如何编...
前言 在安卓端侧部署大语言模型(LLM)时,内存带宽往往是最大的瓶颈。4-bit 量化(INT4)可以将权重体积减少 75%,但如果我们在推理前先用 CPU 或 GPU 算子将其还原为 FP16,会产生额外的显存读写开销。 本文将教你如何编...
如何通过反汇编 ncnn 的 gemm.cpp 快速上手 ARM NEON 汇编优化 在移动端推理框架 ncnn 中,卷积和矩阵乘法(GEMM)的性能核心在于 ARM NEON 汇编。对于初学者来说,直接从头编写汇编指令非常困难。本文将介绍...
在移动端进行 AI 推理时,我们通常依赖 TFLite, MNN 或 NCNN 等成熟框架。然而,当模型引入了高度定制化的层(如新型激活函数、特定的数据重排或融合操作)时,这些框架可能缺乏相应的优化实现,甚至根本不支持。这导致模型必须回退到...
在深度学习和高性能计算领域,算子(Kernel)的性能往往是模型推理速度的瓶颈。虽然像 cuBLAS 和 cuDNN 这样的厂商原生库已经高度优化,但它们是通用性的。当面对特定维度、数据类型或计算模式时,通过像 Triton 这样的领域特定...
Kubernetes的原生调度器(kube-scheduler)功能强大,但在面对特定业务场景,例如强制将某类Pod调度到拥有特定硬件(如FPGA/GPU)的节点组,或者实现复杂的租户隔离计分逻辑时,标准调度策略可能无法满足需求。 解决这类...