移动端显存复用技术详解:如何通过内存池设计让 1GB 内存跑起大参数模型
在移动端进行AI推理时,显存(通常是共享内存DRAM或专用的VRAM)往往是瓶颈。对于参数量较大的模型(如轻量级LLM或大型CV模型),其激活值和中间计算结果可能会瞬间占用数百兆甚至超过1GB的内存。本文将聚焦于推理引擎中最关键的优化技术之...
在移动端进行AI推理时,显存(通常是共享内存DRAM或专用的VRAM)往往是瓶颈。对于参数量较大的模型(如轻量级LLM或大型CV模型),其激活值和中间计算结果可能会瞬间占用数百兆甚至超过1GB的内存。本文将聚焦于推理引擎中最关键的优化技术之...
为什么 VRAM 成为大模型训练的瓶颈? 在训练参数量巨大的模型(如 Llama-2 70B)时,即使是顶级的GPU(如A100或H100)也面临着显存(VRAM)不足的问题。一个完整的模型训练状态需要存储以下核心组件: 模型参数 (P):...
循环分块(Loop Tiling),也称为循环阻塞(Loop Blocking),是高性能计算中优化内存局部性(Temporal and Spatial Locality)的关键技术。通过将大型计算任务分解为可放入缓存(Cache)的小块,...
模型量化(Quantization)是端侧推理加速的关键技术之一,它将浮点数(FP32)权重和激活值转换为低比特整数(如INT8),显著减少了模型大小并提高了计算效率。然而,量化方式的选择——特别是对称量化(Symmetric Quanti...
在构建复杂的 Python 框架、Web 框架或依赖注入(DI)系统时,我们经常需要动态地知道一个函数需要哪些参数,并根据这些需求从一个可用的资源池中自动提供相应的参数。Python 标准库中的 inspect 模块正是解决这类问题的利器。...
在处理大规模向量搜索时,我们通常需要在搜索速度(延迟)和搜索准确性(召回率)之间做出权衡。Faiss 的 IVF(Inverted File Index)系列索引是实现高性能搜索的关键工具,而 nprobe 参数则是控制这种权衡的核心。 本...
如何使用 PyTorch FSDP 解决超大模型单卡显存不足问题 随着大语言模型(LLM)的参数量突破百亿甚至万亿级别,传统的分布式训练方案(如DDP,数据并行)已经无法满足需求,因为DDP要求每张GPU都复制完整的模型权重、梯度和优化器状...
在构建大规模深度学习模型训练系统时,参数服务器(Parameter Server, PS)架构是一种常见的解决方案。它将模型参数的存储和更新集中在专用的PS节点上,而Worker节点(训练器)只负责计算梯度并发送给PS。PyTorch 提供...