端侧小模型优化工程师
💵 2026 年薪资区间与平均薪资
下表口径:一线城市 · 社招 · 税前月薪(现金部分)。数字综合 2026 年公开招聘信息与薪酬报告整理,不是精确统计 —— 校招与社招、均值与中位、是否含股票期权的口径差异很大,实际请以招聘平台实时岗位为准。
| 层级 | 月薪区间 | 说明 |
|---|---|---|
| 🥉 初级(0–3 年 / 校招) | 20–32K | 看基础与动手能力,校招通常要求硕士起步 |
| 🥈 中级(3–5 年) | 32–58K | 能独立负责模块,市场上的主力区间 |
| 🥇 高级 / 专家(5 年以上) | 58–100K | 能定方案、带团队;含股票期权的总包常显著高于现金部分 |
平均月薪参考:约 42K(一线城市社招口径)。稀缺在「端」:懂量化 + 图优化 + 芯片后端,能把模型真正塞进目标设备并达标的人很少。
可以对照的公开锚点:2026 届校招里 AI 相关岗位月薪中位值约 2.53 万元;偏中高端的样本中 AI 岗位平均月薪约 6.07 万元;算法研究员 / 大模型算法岗位普遍在 7 万元 左右,AI 科学家 / 负责人可达 13 万元 以上。资深 AI 人才 2026 年的调薪幅度最高可达 20%–35%,高于市场平均。
地域差异明显:长三角与大湾区贡献了全国近七成的 AI 岗位需求,北京、上海、深圳、杭州、苏州的薪酬普遍高于其他城市。
🏦 岗位画像:这个岗位到底在招谁
端侧小模型优化工程师负责让模型在没有云端算力的设备上跑得动、跑得快、跑得准:手机、车机、摄像头、机器人、PC、可穿戴设备。约束通常是硬性的——内存上限、功耗预算、发热、包体大小、芯片算子支持,而不是「尽量快」。
日常工作:把训练好的模型导出成可部署格式,做图优化与量化,评估精度损失,逐层 profile 找瓶颈,替换或手写目标芯片不支持的算子,压峰值内存与首次响应延迟,最后在多机型上跑回归。这个岗位的时间大半花在测量与验证上,而不是改模型结构。
三类用人单位侧重不同:
- 手机 / 终端厂商的 AI 团队:模型小型化加芯片工具链适配。面试重精度与性能的权衡,会问你为了提速接受了多少掉点、怎么证明这个交换划算。
- 应用公司与创业团队:用成熟推理引擎快速落地。面试重工程效率与端到端指标,关注你能不能一个人把离线到上线的链路跑通。
- 芯片公司(NPU / SoC):工具链与算子。面试会深入到图编译、算子实现与硬件特性,甚至会问你读过哪段引擎源码。
一句话判断:如果你对性能数字有耐心——愿意反复 profile、逐层试、盯着毫秒和 MB 抠——这个岗位适合你。只想调模型结构、不愿意碰底层与工具链的人,做起来会很吃力。
📅 岗位职责
- 模型导出与图优化:格式转换、算子融合、常量折叠、无用节点消除,处理转换失败与算子不兼容
- 量化落地:校准集构造、PTQ 流程、QAT 微调、混合精度策略、量化前后的精度回归
- 性能优化:逐层 profile,判断瓶颈在算力还是带宽,优化数据搬运与内存访问
- 算子与引擎适配:打通目标推理引擎,处理不支持的算子,必要时替换或手写实现
- 内存与功耗:KV cache 管理、权重按需加载、峰值内存压降、发热降频后的稳态表现
- 端到端指标:首响应延迟、解码速度、常驻内存、包体增量、耗电与温升
- 机型适配与回归:多芯片、多系统版本上的一致性验证与自动化回归流水线
- 与算法协作:把端侧约束(层数、算子、输入分辨率)前置到模型设计阶段,而不是事后硬塞
🗝️ 岗位技能:技术基础
必备
- 模型格式与转换:ONNX、TensorFlow Lite、gguf 等,理解算子集版本差异是转换失败的首要原因
- 量化基础:对称与非对称量化、per-tensor 与 per-channel、权重量化与激活量化的差别
- 量化方法:PTQ(含校准集怎么选)、QAT、逐层敏感度分析、混合精度保留
- 推理引擎:TensorRT、ONNX Runtime、MNN、NCNN、TFLite、Core ML 或厂商 NPU SDK,至少熟练一类
- Profiling 工具:能读懂逐层耗时、内存占用曲线、带宽利用与占用率,而不是只看一个总耗时
- 性能模型:理解 roofline,能判断一层是受限于算力还是受限于访存
- 编程:Python 做流程与评测,C++ 用来读引擎源码或写算子
- 精度评测:任务指标加逐层误差分析,能定位到具体是哪个模块掉的点
加分
- 模型小型化:剪枝、蒸馏、结构重参数化、算子替换
- 端侧大模型推理:分块预填充、KV cache 量化、投机解码、权重内存映射加载
- 编译器方向:TVM、IREE、torch.compile 或厂商图编译器
- CUDA / OpenCL / DSP 编程,写过自定义算子
- 熟悉功耗与热设计,知道跑分好看不等于真实体验好
🛡️ 技术面重点:会被问什么
- 「量化后掉点怎么办?」——考方法论。先逐层定位敏感层(把单层换回高精度看指标),再考虑保留首尾层与敏感层的高精度,再换更贴近真实输入的校准集,最后才是上 QAT 微调。只答「多喂点数据」是减分项。
- 「INT4 为什么有时不比 INT8 快?」——考硬件理解。反量化开销、算子支持不全导致回退、访存下降但算力没打满;受带宽限制的层能受益,受算力限制的层不一定,具体要看目标芯片的支持情况。
- 「内存放不下怎么办?」——按代价排序:KV cache 量化、权重分组按需加载、内存映射、降低并发、分块计算。要能说清每种方案对延迟的影响。
- 「怎么定位性能瓶颈?」——逐层计时加带宽占用加占用率,用 roofline 判断,不要凭感觉猜。回答里出现具体工具名和「先测再改」的顺序是加分项。
- 「端侧为什么不直接跑大模型的量化版?」——考权衡:内存与带宽、功耗、首屏延迟、精度。多数消费场景里小模型加蒸馏,比硬塞一个大模型更划算。
- 「某个算子芯片不支持怎么办?」——回退 CPU 的代价是数据来回搬运,要能估出这个代价;其余手段是算子分解、融合成支持的组合、或手写实现。
- 「不同机型结果不一致怎么处理?」——浮点累积顺序、算子实现差异、量化路径不同都会导致差异;要做的是统一评测口径、建立机型矩阵回归,而不是逐台手调。
⚖️ 业务场景:选型与权衡
| 场景 | 方案 | 权衡 |
|---|---|---|
| 低延迟、隐私敏感、要离线 | 端侧推理 | 无网络往返、数据不出设备;受内存与算力限制,模型规模封顶 |
| 效果优先、设备参差 | 云侧 API | 能力上限高、迭代快;有网络延迟、按量成本与数据合规问题 |
| 工期紧、芯片支持好 | PTQ 加校准 | 开发成本低、见效快;精度损失要靠敏感层分析兜住 |
| PTQ 掉点无法接受 | QAT 微调 | 精度更稳;要动训练流程,周期与工程成本明显更高 |
| 内存紧张、算力富余 | 权重量化到 INT4,激活动态量化 | 内存与带宽收益明显;部分算子不支持会回退,需实测 |
| 追求峰值性能 | 厂商 SDK 或自研算子 | 能榨出硬件性能;移植成本高、机型绑定强、维护负担大 |
🚧 故障排查
- 精度掉点:先用同一份输入比对浮点与量化输出,逐层找误差最大的层;再查预处理是否对齐(归一化、色彩空间、resize 算法不一致是最常见的隐形原因)
- 首响应慢:预填充阶段计算密集,查输入长度、是否分块、是否每次请求都重复初始化;初始化开销常常比推理本身还大
- 内存溢出:峰值通常出现在预填充而不是解码阶段;查临时张量、KV cache 增长、内存复用是否真的生效
- 跑一会儿就变慢:发热降频。要按稳态功耗设计指标,而不是按冷启动的峰值跑分
- 多线程抢占:与主线程或其他模块争 CPU,表现为延迟抖动;用绑核与优先级调整隔离
- 机型差异:同一模型在不同 NPU 上速度与结果都不同,靠机型矩阵加自动化回归提前发现
💵 成本优化
- 先把账算对:端侧的成本是内存、功耗、包体与研发工时,不是 GPU 账单。多占一百兆内存,可能意味着丢掉一批低端机型
- 一次量化到位:校准集与评测流程做扎实,避免「上线后发现掉点再返工」这种最贵的路径
- 优先复用引擎能力:能用官方工具链解决的,不要自研算子;自研的长期维护成本远超一次性的性能收益
- 缓存与复用:会话复用、权重常驻、避免重复初始化,这些改动的收益往往比抠算子还大
- 分级下发:低端机用小模型、高端机用大模型,按机型能力下发不同规格
- 回归自动化:把机型矩阵跑成流水线,问题在研发期发现比在线上发现便宜得多
♾️ 项目经历怎么讲
端侧项目最容易被追问「你为了这个速度付出了什么代价」。讲项目时用三段式:
- 约束:目标设备、内存上限、延迟或吞吐目标、功耗限制,以及为什么这些是硬约束
- 动作与取舍:用了哪些手段(量化、图优化、算子替换、内存管理),每一手段换来了多少收益、付出了多少精度或工期
- 结果:端到端指标的前后对比,以及在几款机型上验证过
正例:「目标机型内存上限很紧,我先做逐层敏感度分析,把大部分层量化到低比特、敏感层保留高精度,再换掉两个不被支持导致回退的算子,最后延迟和内存都降下来了,掉点在可接受范围内且经过多机型验证。」
反例:「我把模型量化了一下,速度快了很多。」——没说设备、没说代价、没说是怎么测的,面试官会直接怀疑数字的真实性。
