1. 课程导论与AI落地全景:从云端模型到边缘DSP的必然趋势

各位同学好,我是这门课的主讲。在嵌入式AI这个领域摸爬滚打了十几年,踩过的坑比走过的路还多。今天咱们开篇第一讲,不急着上代码,先聊聊大势。

你想想看,五年前大家聊AI,张口闭口都是“云端”、“GPU集群”、“大数据中心”。现在呢?智能音箱、TWS耳机、工业电机、车载ECU……这些巴掌大的设备,全都在跑神经网络。为什么?说白了,算力在往下沉,场景在往边缘走。

核心观点:AI落地的最后一公里,不在云端,而在你手边的嵌入式设备上。DSP(数字信号处理器)凭借其极致的能效比和实时性,正在成为边缘AI推理的首选载体。

1.1 为什么是DSP?不是CPU也不是GPU?

我刚开始做嵌入式AI时,也纠结过这个问题。CPU通用性强,但跑一次卷积能把你电池吃光;GPU算力猛,但功耗和成本在消费电子里根本扛不住。DSP呢?它天生就是为信号处理设计的——乘加运算、循环寻址、SIMD指令集,这些特性跟神经网络里的卷积、全连接、激活函数简直是天作之合。

举个例子。一个典型的语音唤醒模型,在Cortex-M4上跑一次推理大概要80ms,功耗约50mW。换到同工艺的DSP上,同样的模型,推理时间能压到15ms以内,功耗只有10mW出头。这差距,你品,你细品。

处理器类型 典型功耗 推理速度(语音唤醒模型) 适用场景
Cortex-M4 CPU ~50 mW ~80 ms 简单控制、传感器融合
低端GPU ~2 W ~5 ms 图像分类、目标检测
专用DSP ~10 mW ~15 ms 语音、电机控制、振动分析

我的经验:选型时别只看算力(MAC/s),要看“有效算力/功耗”这个比值。DSP在这个指标上,往往比CPU高一个数量级。

1.2 课程目标:从训练到部署,打通全链路

这门课的目标很明确——让你能独立把一个训练好的模型,完整地部署到DSP上跑起来。不是只讲理论,也不是只给工具链操作手册,而是把中间那些“坑”一个一个填平。

具体来说,学完这门课,你应该能做到:

  • 模型选型与轻量化:知道什么样的模型适合DSP,怎么剪枝、量化、蒸馏。
  • 定点数学与数值精度:理解浮点转定点的原理,知道什么时候该用int8,什么时候必须用int16。
  • DSP指令集优化:会用SIMD、循环展开、乒乓缓冲这些技巧,把算力榨干。
  • 工具链实操:熟练使用TI、CEVA、Cadence等主流DSP的编译器和推理库。
  • 端到端调试:从PC仿真到板级调试,能定位精度损失和性能瓶颈。

注意:这门课默认你有一定的C语言基础和基本的机器学习概念。如果你连“卷积”是什么都不清楚,建议先补一下基础。我不会花时间讲反向传播的数学推导,但会告诉你为什么在DSP上做反向传播不现实。

1.3 典型应用场景:语音唤醒与电机控制

理论说再多,不如看两个实际场景。我选了两个最具代表性的——语音唤醒和电机控制。一个代表“人机交互”,一个代表“工业控制”。它们对DSP的要求,恰好是硬币的两面。

1.3.1 语音唤醒:低功耗、低延迟、高精度

你对着智能音箱说“小爱同学”,或者对着TWS耳机说“Hey Siri”。这个“唤醒”动作,背后就是一个跑在DSP上的小模型。它需要:

  • 始终监听:麦克风一直开着,DSP不能休眠,功耗必须极低。
  • 实时响应:从语音输入到唤醒输出,延迟不能超过100ms,否则体验极差。
  • 高精度:误唤醒率要低,否则音箱半夜自己说话,用户会疯掉。

我在项目中遇到过一个问题:模型在PC上精度99.5%,部署到DSP上直接掉到85%。查了三天,发现是MFCC特征提取的定点化出了问题。这种坑,后面我会专门讲怎么避。

1.3.2 电机控制:高实时、高可靠、强鲁棒

工业伺服电机、无人机电调、汽车EPS转向……这些场景对实时性的要求比语音严苛得多。控制周期通常是10kHz甚至20kHz,也就是每50微秒就要完成一次电流采样、一次模型推理、一次PWM更新。

  • 确定性延迟:推理时间必须是固定的,不能有抖动,否则电机就会震动。
  • 抗干扰:工业现场电磁环境恶劣,DSP的定点运算比CPU的浮点运算更稳定。
  • 安全冗余:模型输出异常时,系统必须能快速回退到传统PID控制。

我曾经给一个客户做电机堵转检测,用了一个简单的3层MLP。在DSP上跑得好好的,一上电机台架就误报。后来发现是电流采样噪声导致输入特征偏移。嗯,数据预处理在边缘端比模型本身还重要。

1.4 知识体系全景图

下面这张图,是我自己梳理的课程知识体系。你可以把它当作整个课程的地图。每学完一章,回来看看这张图,就知道自己走到哪了。

课程知识体系全景图 从模型训练到DSP部署 — 知识体系全景 模型训练与选型 模型轻量化 定点数学与量化 DSP工具链与编译 指令集优化 内存与数据流优化 精度调试与性能分析 语音唤醒实战 电机控制实战 说明:每个模块对应课程中的2~3章,从训练到部署,层层递进,最终落到两个实战项目。 建议按顺序学习,不要跳章。

1.5 前置知识:你最好会这些

我不希望你在上课时因为基础问题卡住。所以提前说清楚,以下内容我默认你已掌握:

  1. C语言基础:指针、结构体、内存管理。DSP开发大部分还是C,偶尔内联汇编。
  2. 基本信号处理:采样定理、FFT、FIR/IIR滤波器。不懂这些,语音和电机场景你会很吃力。
  3. 机器学习入门:知道什么是神经网络、卷积、池化、全连接。不需要会推导梯度,但要知道它们长什么样。
  4. 嵌入式基础:中断、DMA、时钟树、外设配置。DSP本质上就是个特殊架构的嵌入式处理器。

我的建议:如果你对上面某一块不熟,别慌。每章开头我会给一个“前置知识速览”,帮你快速回忆。但别指望我从头教C语言。

1.6 课程节奏与学习方法

这门课一共30章,我把它分成5个阶段:

阶段 章节 核心内容 产出物
基础篇 1~6 DSP架构、定点数学、模型轻量化 能看懂DSP汇编,会做模型量化
优化篇 7~14 指令集优化、内存优化、数据流 能手动优化一个卷积层
工具篇 15~20 工具链、推理库、仿真器 能独立完成模型部署
实战篇 21~26 语音唤醒、电机控制完整项目 两个可运行的Demo
进阶篇 27~30 多核DSP、异构计算、安全部署 能应对复杂工业级需求

学习方法上,我建议你:每章看完后,一定要动手跑代码。我会提供完整的示例工程,从PC仿真到板级运行都有。光看不练,等于白学。我自己带过的工程师,凡是动手快的,三个月就能独立做项目;光看不动手的,半年还在原地打转。

重要提醒:DSP开发板和仿真器需要自备。课程里我会用TI TMS320C6748和CEVA-XM6两款主流DSP做演示。如果你手头没有,用仿真器跑也一样,但板级调试的经验是仿真器给不了的。