特斯拉前AI总监Karpathy疯狂点赞:单张A100,10秒训练CIFAR-10,破世界纪录!

人工智能
这位小哥在单张A100上,10秒完成了CIFAR-10训练,打破了世界纪录,还引来了Karpathy啧啧称赞。

刷新世界纪录!

用600行代码,在单张A100上,不到10秒,就完成了CIFAR-10数据集的训练,并且精度高达94%。

特斯拉前AI总监Andrej Karpathy连发3条推特,疯狂点赞。

图片

Karpathy之所以如此激动,是因为12年前,他试过手动对CIFAR-10进行分类,得到的也是94%!而当时的SOTA只有80%。

项目介绍

图片

项目地址:https://github.com/tysam-code/hlb-CIFAR10

git clone https://github.com/tysam-code/hlb-CIFAR10 && cd hlb-CIFAR10 && python -m pip install -r requirements.txt && python main.py

这段代码可以在Colab上直接使用,事实上——其中大部分是在Colab中开发的。

这位叫Tysam的小哥,给自己定下的目标是——

  • 简单
  • 初学者友好
  • 只需torch和python的常用代码
  • 几乎不用外部依赖(目前只有torch和torchvision)
  • 破世界纪录的单GPU训练时间(此前在A100上的世界纪录是18.1秒,而Tysam打破了世界纪录——小于10秒)
  • 在2年内让训练时间小于2秒

为了达成快速训练的神经网络实现,Tysam参考了David Page在CIFAR-10图像分类数据集上有效训练残差网络的代码,但几乎是从头编写的。

图片

这种做法的好处是,Tysam code现在保持着CIFAR-10上单GPU训练速度的世界纪录——在A100上不到10秒!

在David Page代码的基础上,Tysam做了如下改动:

  • 压缩和激励层(squeeze and excite layers)
  • 非常多的超参数调整
  • 复杂架构修剪(miscellaneous architecture trimmings)
  • 更改内存格式,更好地使用张量核心等
  • 其他

与原始代码相比,Tysam的代码全部都在一个文件中,而且非常扁平flat。

此外,所有的管线也都已经公开,有兴趣的朋友可以在里面快速探索自己的想法。

至于为什么会选择ConvNet,而不是现在最流行的Transformer呢?

在Tysam看来,虽然Transformer是新事物,但信息从训练集中压缩到神经网络中的方式,实际上始终都遵循着同样的一套基本数学原理。

Tysam希望,在一两年内让这个代码库在2秒内完成训练,在四到五年内在1秒内完成训练。

Karpathy疯狂点赞

对于Tysam的代码,Karpathy赞叹不已,他丝毫不吝啬自己的溢美之辞——

「我喜欢这种极简的设计美学,它让阅读代码不再是精疲力竭的寻宝过程。你不需要把代码散布在复杂的嵌套目录结构之中,然后用各种指令把事情搞得过于复杂。」

图片

随后,Karpathy还表示,这让他想起了自己在12年前做的测试:

12年前,「肉眼」分类实现了94%的准确率,用时未知。

12年后,600行代码实现了94%的准确率,用时不到10秒。

图片

当时的过程大概是:

在一个平平无奇的周末,Karpathy突然想看看人类在这个数据集上能达到什么样的精度。

于是就快速地手搓了一段MATLAB代码用于测试。

界面长这个样子:

图片

在测试过程中,程序首先会一张一张图片地展示,然后Karpathy会按下0-9(10个键),对应这张图他所认为的类别(10个分类)。

在经过了不知道多长时间之后,Karpathy终于完成了400张图片的分类,准确率为94%左右。

那么,为什么不是100%呢?

Karpathy:「因为有些图像真的太扯了!」

比如下面这几个:

图片

也难怪Karpathy当年预测AI所能达到的极限是85-90%(笑)。

当然,后来的结果大家也都知道了,CIFAR-10分类的准确率早就被刷到了99.5%。

图片

著名的CIFAR-10

众所周知,CIFAR-10是由Geoffrey Hinton和他的学生Alex Krizhevsky和Ilya Sutskever整理的一个用于识别普适物体的小型数据集,也是如今机器学习研究中最广泛使用的数据集之一。

CIFAR-10数据集由10类32x32的彩色图片组成,总共包含60000张图片,其中50000张图片作为训练集,10000张图片作为测试集。

这10个类别为:飞机( airplane )、汽车( automobile )、鸟类( bird )、猫( cat )、鹿( deer )、狗( dog )、蛙类( frog )、马( horse )、船( ship )和卡车( truck )。

图片

​参考资料:https://github.com/tysam-code/hlb-CIFAR10

责任编辑:武晓燕 来源: 新智元
相关推荐

2022-11-01 13:42:54

雷达智能

2022-04-08 08:11:28

Python代码

2022-08-21 21:15:28

模型AI

2021-07-09 17:49:46

脑机接口机器人工智能

2011-06-10 13:53:24

天河一号A

2023-07-05 15:18:42

AI自动驾驶

2021-12-09 10:26:35

AI 数据人工智能

2016-06-16 16:55:02

华为

2017-05-10 15:06:43

联想联想X6服务器

2023-03-22 15:35:48

新华三

2014-04-24 09:45:23

ASC14HPL计算性能

2020-08-18 14:48:00

AI 数据人工智能

2017-11-29 11:15:43

AMDEPYC服务器

2015-05-21 21:55:42

浪潮

2011-11-01 11:00:43

AMD处理器推土机FX-8150

2024-01-29 07:05:00

自动驾驶技术

2024-03-20 12:27:48

模型训练

2009-04-07 13:55:15

NehalemIntel服务器

2021-11-15 15:19:11

NVIDIA

2021-10-15 15:26:10

AI 数据人工智能
点赞
收藏

51CTO技术栈公众号