通过本次 “DeepSeek-R1-Distill-Qwen-1.5B 在昇思 MindSpore + 香橙派 AI Pro 开发板上的全流程实战” 课程,我对“模型适配—微调—推理—性能调优”的完整链路有了从理论到实操的闭环认知,也深刻体会到在端侧设备上做 AI 落地的真实挑战与应对之道。
-
推理流程:先搞清“加载谁”。基座权重冻结,只训练 LoRA,因此推理时要先 AutoModelForCausalLM 加载原权重,再用 PeftModel.from_pretrained 把 LoRA 插回去。两行代码,背后却是对参数高效微调思想的直接验证。
-
效果对比:一句“你是谁”就能让差异肉眼可见——微调前模型自称“DeepSeek-R1”,加载 LoRA 后秒变“甄远道”。这种“角色扮演”级别的变化,让我第一次直观感受到 LoRA 在少样本场景下的强大表现力。
-
性能调优:从“能用”到“好用”。
• 先用 export INFERENCE_TIME_RECORD=True 把每个 token 的耗时打出来,发现平均 0.727 s;再关多线程、降到 0.674 s,提升有限。
• 进一步用 jit 把 decode 函数编译成静态图,单 token 直接干到 0.32 s,提速 3 倍以上。虽然首 token 编译慢,但在长文本或高并发场景 ROI 极高。
• 过程中踩到的坑,如 StaticCache 必须替代动态 Cache、RotaryEmbedding 需要重写、Top-p 采样优先用 numpy 实现等,都是“端侧算子/内存受限”带来的典型问题。课程给出的替换方案和 PR 链接可直接落地,少走很多弯路。 -
端侧实战的通用套路:算子缺失 → 用 ACLOP / numpy 补;内存吃紧 → fp16 权重 + 限制进程数 + cgroups;推理慢 → 关线程 + jit。三板斧下来,模型在只有 8 GB 内存的香橙派上也能跑得又稳又快。
一句话总结:这节课不仅教会了我“让大模型在小板子上跑起来”,更让我掌握了在资源受限环境中做 AI 工程的系统方法论——先验证效果,再量化瓶颈,最后对症下药。