人工智能导论 第 7 章 · 第一节
课程 › 第 7 章 › 第一节 章首本章导入全流程三要素可训练数据怎么切分信息泄露硬件选型排障顺序学习范式训练与评测
第 7 章 人工智能实践 · 第一节

AI 实践三要素

数据、算力、算法,三样要配得上
本 节 知 识 点
  1. 01第七章 人工智能实践
  2. 02AI 落地不只是训练模型
  3. 03AI 项目开发的全流程
  4. 04AI 实践三要素
  5. 05可用数据不等于可训练数据
  6. 06训练集、验证集、测试集
  7. 07四种信息泄露
  8. 08算力:四种计算硬件
  9. 09算力问题先查直接原因
  10. 10算法:六种学习范式
  11. 11训练不是调用一行 fit
01
第 7 章 · 第一节

第七章 人工智能实践

前六章讲原理,这一章讲怎样把项目做出来。

第 1 页课件

知道更多这一章讲什么

前面六章回答“AI 是怎么学会的”,这一章回答“一个 AI 项目怎样从零做到上线”。先讲数据、算力、算法三样准备,再依次动手做经典机器学习、深度学习、强化学习、大模型、部署和竞赛,最后看各行各业怎么用。

02
第 7 章 · 第一节

AI 落地不只是训练模型

训练出模型只是一段,项目还要能复现、能上线、能改进。

第 2 页课件

重 点一条贯穿全章的流水线

数据采集、模型训练、效果评测、模型导出、模型部署、迭代优化,这六步首尾相接。后面几节的实践,大多落在这条线的某一段上。

关键术语

复现Reproduce
别人或者一个月后的自己,照同样的步骤能做出同样的结果。
部署Deploy
把训练好的模型放到服务器或设备上,让别人能够使用。

知道更多效果不好,先查什么

模型效果不好时,新手常急着换更复杂的模型。更常见的毛病是数据标错、切分漏题、评测方法不对,这些要先查。

03
第 7 章 · 第一节

AI 项目开发的全流程

每走一步都留下记录,出了问题才查得回去。

第 3 页 AI 项目开发的全流程

五个环节,每个环节留一份记录

发现问题,回到前面再改准备数据数据版本训练模型训练配置评测效果评测报告导出模型模型文件部署上线部署镜像虚线框:每一步留下的记录
记录记下什么
数据版本用的是哪一批数据,怎样清洗、怎样标注
训练配置用了哪些参数、什么软件环境、随机种子是几
评测报告用什么指标、在哪批数据上测、错在哪些样本上
模型文件导出成什么格式,导出后结果有没有变
部署镜像上线时的整套运行环境,出了问题能退回上一版

重 点为什么要留记录

训练里有不少随机的环节,比如参数的初始值、数据打乱的顺序。不固定随机种子、不记下用的是哪一批数据,同一份代码跑两次结果就可能不一样,也就说不清一次改动到底有没有用。

关键术语

随机种子Random Seed
让计算机产生的“随机数”每次都按同一个顺序出现的一个编号。种子固定了,结果就能重现。

打个比方

做化学实验要写实验记录:用了哪瓶试剂、温度多少、加热几分钟。结果做好了却没有记,下次就照不出来。数据版本和训练配置就是 AI 项目的实验记录。

04
第 7 章 · 第一节

AI 实践三要素

数据、算力、算法三样要互相配得上。

第 4 页课件

打个比方

做一桌菜,数据是食材,算力是灶具,算法是菜谱。食材不新鲜,菜谱再好也做不出好菜。手边只有一个小电磁炉,就别照着大饭店的菜谱去炖一整锅。

重 点方案要看条件来选

手上有多少数据、能用什么机器、要解决什么问题,这三样一起决定了该选什么方法。

随堂练习

一个小组只有 200 张标好的照片和一台普通笔记本。哪种做法最合适?

  1. 从零训练一个超大模型
  2. 在别人训练好的小模型上稍作调整
  3. 先买十张高端显卡
  4. 不管数据,换最新的算法
查看答案
答案 B。数据少、算力小,从零训练大模型既跑不动也学不好。借用别人训练好的模型稍作调整,三样才配得上。
05
第 7 章 · 第一节

可用数据不等于可训练数据

手上有数据,不等于能直接拿来训练。

第 5 页课件

重 点三条硬要求

程序每次都能正确读进来,同一个标签从头到尾是同一个意思,三份数据之间不漏题。缺了任何一条,后面的训练和评测都靠不住。

打个比方

请两位同学标注照片。一位把小猫也标成“猫”,另一位单独标成“小猫”。合在一起训练,模型看到的规则前后矛盾,怎么学都学不明白。这就是标签不一致。

知道更多数据要反复打磨

图中那条链的最后一环是回流优化:看模型错在哪些样本上,再回头补数据、改标注,一轮一轮地改进。

06
第 7 章 · 第一节

训练集、验证集、测试集

三份数据各管一件事,切法要看数据的来历。

第 6 页 五种切分方法

测试集只在最后用一次

切法怎么切适合的例子
随机按比例全部打乱,按 7:1:2 分成三份一万张猫狗照片
分层随机打乱时保持各类的比例不变一千封邮件里只有 50 封垃圾邮件
按时间早的数据训练,晚的数据测试用前十个月的销量预测后两个月
滚动验证时间窗口一段段往后挪,多验证几次1 至 6 月训练、7 月验证,再 1 至 7 月训练、8 月验证
按组划分同一个人的数据只进其中一份同一位病人的几张 X 光片
不管怎么切,测试集都不能参与任何调参和挑选。

重 点三份数据的分工

训练集学参数,验证集挑方案、调设置,测试集只在最后考一次。看过测试集的成绩再回去改模型,最后的分数就不可信了。

打个比方

分层像分组抽签:全班 40 人里只有 4 位女生,分两组时最好每组各 2 位。少见的那一类,每一份数据里都要有。

随堂练习

用一家超市三年的销量预测明年的销量,该怎样切分数据?

  1. 全部打乱随机切
  2. 按时间,早的训练、晚的测试
  3. 按商品名的拼音切
  4. 不要测试集
查看答案
答案 B。预测未来只能用过去的数据来学。随机打乱会把未来的数据混进训练集,等于提前看了答案。
07
第 7 章 · 第一节

四种信息泄露

测试集的信息偷偷流进训练,分数就会虚高。

第 7 页 四种信息泄露

答案是怎么漏过去的

泄露方式例子
重复样本同一张照片存了两份,一份分进训练集,一份分进测试集。模型只要记住它,就能答对。
同一对象同一位病人的五张片子,三张在训练集,两张在测试集。模型认出了这个人,没有学会看病。
时间倒流用明年才公布的数据去“预测”今年。真要用的时候,明年的数据还不存在。
全量统计先用全部数据算平均数,再切分。测试集的信息已经悄悄混进了这个平均数。
先切分,再只用训练集去算平均数、定编码表这类规则,最后把规则原样套到验证集和测试集上。

重 点泄露不会报错

有泄露的程序照样能跑,只会让分数变得好看。线下测出九成的准确率,上线以后可能只剩六成。分数好得不像话时,先怀疑是不是漏了题。

打个比方

老师考前给大家划重点。要是划重点时已经看过了期末试卷,重点里自然带上了考题,大家考得再好也说明不了什么。先切分,就是划重点时不许看试卷。

知道更多实验一会碰到

实验一的数据里有一列案情描述,是案发以后警员才填的。把它当成特征,分数会好得离谱,这就是时间倒流式的泄露。

08
第 7 章 · 第一节

算力:四种计算硬件

四种硬件各有所长,要按手上的任务来挑。

第 8 页 四种常见的计算硬件

四种硬件各擅长什么

硬件擅长什么常用在哪里
CPU 中央处理器什么都能算,但同时算的数量有限读数据、整理数据、运行小模型
GPU 图形处理器几千个计算单元同时算同一类题训练和运行深度学习模型
TPU 张量处理器谷歌专为神经网络设计,在云上租用云上的大规模训练
NPU 神经网络处理器省电,装在手机、摄像头等设备里手机上的识别、国产硬件上的部署
训练时看重

一次能装下多少数据,算得有多快,能不能多张卡一起算。

使用时看重

用户要等多久,会不会出错,能不能装进手机或摄像头。

打个比方

CPU 像几位什么题都会做的数学老师,GPU 像几千名只会加减乘除的小学生。算一万道乘法,几千名小学生一起算要快得多,神经网络里正是海量的乘法和加法。

关键术语

显存GPU Memory
显卡自带的内存。模型和一批数据都要放进去,放不下就会报错。
吞吐Throughput
单位时间里能处理多少数据,比如每秒能训练多少张图片。

知道更多精度也能省钱

模型里的数平时用 32 位存,部署时改用 8 位整数存,体积缩到四分之一,准确率通常只掉一点。这叫量化,第 4 章讲轻量化时介绍过。

09
第 7 章 · 第一节

算力问题先查直接原因

出了问题先查显存和数据,别急着换模型。

第 9 页课件

关键术语

OOMOut Of Memory
内存或显存不够用,程序直接报错退出。
批大小Batch Size
一次送进显卡计算的样本数。批越大,占的显存越多。

打个比方

GPU 利用率低,像厨师站在灶台前干等,菜还没洗好切好。换一位更厉害的厨师没有用,要让洗菜切菜跟上。数据读得慢,显卡就只能空转。

随堂练习

训练时显卡利用率只有 20%,最先该查什么?

  1. 换一张更贵的显卡
  2. 数据读取和预处理是不是太慢
  3. 把模型改得更大
  4. 再加一张显卡
查看答案
答案 B。利用率低多半是数据供不上,显卡在等。多卡最贵也最难调,放在最后。
10
第 7 章 · 第一节

算法:六种学习范式

标签有多少、贵不贵,决定选哪一种学习方式。

第 10 页课件

关键术语

半监督学习Semi-Supervised Learning
少量有标签的数据加上大量没标签的数据一起学。
自监督学习Self-Supervised Learning
从数据本身造出练习题,比如遮住一个词让模型猜。第 4 章讲过。
弱监督学习Weakly Supervised Learning
标签不精确,比如只知道图里“有猫”,不知道猫在哪儿。

随堂练习

医院有十万张 X 光片,只有 500 张请医生标注过。最适合哪种学习方式?

  1. 监督学习
  2. 半监督学习
  3. 强化学习
  4. 无监督学习
查看答案
答案 B。少量有标签、大量没标签,正是半监督学习的用处。只用 500 张太浪费,完全不用标签又丢掉了医生的判断。
11
第 7 章 · 第一节

训练不是调用一行 fit

要选的东西很多,评测也不只看一个分数。

第 11 页课件

关键术语

拟合fit
很多机器学习软件里,开始训练的命令就叫 fit,意思是让模型去贴合数据。
学习率Learning Rate
第 2 章下山时每一步迈多大。预热是开头先迈小步,衰减是越往后步子越小。

重 点平均分会掩盖问题

整体准确率九成听着不错,可剩下一成的错如果全落在最要紧的那一类上,比如把重病判成健康,模型就不能用。评测要把错误拆开看。

打个比方

驾校总在同一个晴天、同一条路上考,你次次都能过。真上了路,遇到雨夜和学校门口,才发现还有很多没练过。长尾样本和关键切片,说的就是这些少见但要紧的情况。

保山学院·人工智能教研室·曹鼎鼎