01 它是干嘛的
飞桨是百度开源的深度学习框架,作用与 PyTorch、TensorFlow 类似:帮开发者搭建、训练与部署神经网络。它面向中文语料与国内产业场景做了大量适配,并且能对接多种国产算力,是国内 AI 生态的重要基础软件之一。
02 为什么会有它
AI 的地基握在别人手里:框架与硬件的双重绑定
深度学习框架是 AI 的地基:开发者用它描述网络、训练模型。但这个地基长期由国外主导,而且底层紧跟英伟达的 GPU 与 CUDA 生态,硬件一变,框架上的很多优化就要重做。
另一层问题是「水土不服」。通用框架的训练样本与文档以英文为主,中文语料的处理、中文场景的预训练模型相对欠缺,国内开发者常常要自己补齐这一块。
还有一个长期争论:静态图与动态图。静态图要求先把整张计算流程画好再运行,效率高但难调试;动态图边写边跑,好调试但早期性能吃亏。飞桨的设计目标是尽可能两头兼顾,让开发者用起来顺、跑起来也快,同时把中文与产业场景的积累直接内置进去。
03 它怎么工作
框架的核心工作是三件事:帮你把网络写成代码、自动算出该往哪个方向调整参数、把训练任务高效地分配到多块芯片上执行,最后还能把模型部署到不同环境。
写一个模型并训练它,框架在背后做了什么
- 1① 描述网络
用几行 Python 定义层与层之间的连接关系,不必手写底层数学运算。
- 2② 前向计算
数据从输入一路算到输出,得到模型的预测结果。
- 3③ 计算损失
把预测与正确答案比较,算出一个「错得有多离谱」的数值。
- 4④ 反向求梯度
框架自动(自动微分)算出每个参数应该往哪个方向调、调多少。
- 5⑤ 更新参数
按梯度调整参数,然后重复上述过程成千上万轮,模型逐渐变准。
- 6⑥ 保存与部署
导出训练好的模型,部署到服务器、手机或各种芯片上运行。
04 谁在用它
情感分析、文本分类、信息抽取等任务,可借助预置的中文模型快速起步。
质检、缺陷检测、预测性维护等,百度在这些方向积累了落地案例与预训练模型。
训练与推理可对接多种国产算力,降低对单一硬件生态的依赖。
中文文档与教程完善,适合初学者作为入门深度学习的第一站。
把模型压缩后放到手机、摄像头等设备上运行,不必总依赖云端。
05 怎么用
安装飞桨只需一条 pip 命令,官方中文教程从零开始讲,对初学者相当友好。
- 01用 pip 安装飞桨,按是否使用加速硬件选择对应的安装命令。
- 02从官方教程或示例仓库拉一个能跑通的小项目,先把环境验证一遍。
- 03用 Python 定义网络结构,通常几行就能搭出第一个模型。
- 04定义损失函数与优化器,告诉框架怎么衡量对错、怎么调整参数。
- 05用一小批数据跑通训练循环,确认能正常迭代后再上完整数据。
- 06训练完成后保存模型,再用官方工具做推理或部署。
import paddle
from paddle import nn
model = nn.Linear(4, 1) # 一个 4 进 1 出的线性层
loss_fn = nn.MSELoss()
optimizer = paddle.optimizer.SGD(
learning_rate=0.01, parameters=model.parameters()
)
x = paddle.randn([8, 4])
y = paddle.randn([8, 1])
pred = model(x) # 前向计算
loss = loss_fn(pred, y) # 计算损失
loss.backward() # 反向求梯度
optimizer.step() # 更新参数
optimizer.clear_grad() # 清空梯度,准备下一轮避坑提示
- !先把一个小例子端到端跑通,再改造成自己的任务,比一上来就写大项目顺利得多。
- !使用不同硬件要装对应版本的包,装错版本会在运行时才报错。
- !训练时先用小数据验证代码逻辑,避免跑几个小时才发现写错了。
06 关键概念
- 深度学习框架
- 帮开发者搭建和训练神经网络的工具库,省去手写复杂数学运算。
- 张量
- 框架里数据的基本形式,可以理解成多维数组,是计算的最小载体。
- 自动微分
- 框架自动算出梯度,是训练能跑起来的关键能力。
- 静态图 / 动态图
- 前者先把计算流程固定再执行,效率高但难调试;后者边写边跑,好调试但早期性能吃亏。