当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > 12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

来源:机器之心 2024-07-11 10:36:27 0浏览 收藏

科技周边不知道大家是否熟悉?今天我将给大家介绍《12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

没想到,自 2012 年 AlexNet 开启的深度学习革命已经过去了 12 年。

而如今,我们也进入了大模型的时代。

近日,知名 AI 研究科学家 Andrej Karpathy 的一条帖子,让参与这波深度学习变革的许多大佬们陷入了回忆杀。从图灵奖得主 Yann LeCun 到 GAN 之父 Ian Goodfellow,纷纷忆往昔。

到目前为止,该帖子已经有 63 万 + 的浏览量。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

在帖子中,Karpathy 提到:有一个有趣的事实是,很多人可能听说过 2012 年 ImageNet/AlexNet 的时刻,以及它开启的深度学习革命。不过,可能很少有人知道,支持这次竞赛获胜作品的代码是由 Alex Krizhevsky 从头开始,用 CUDA/C++ 手工编写的。这个代码仓库叫做 cuda-convnet, 当时托管在 Google Code 上:

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

https://code.google.com/archive/p/cuda-convnet/

Karpathy 想着 Google Code 是不是已经关闭了 (?),但他在 GitHub 上找到了一些其他开发者基于原始代码创建的新版本,比如:

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

https://github.com/ulrichstern/cuda-convnet

“AlexNet 是最早将 CUDA 用于深度学习的著名例子之一。”Karpathy 回忆说,正是因为使用了 CUDA 和 GPU,AlexNet 才能处理如此大规模的数据 (ImageNet),并在图像识别任务上取得如此出色的表现。“AlexNet 不仅仅是简单地用了 GPU,还是一个多 GPU 系统。比如 AlexNet 使用了一种叫做模型并行的技术,将卷积运算分成两部分,分别运行在两个 GPU 上。”

Karpathy 提醒大家,你要知道那可是 2012 年啊!“在 2012 年 (大约 12 年前),大多数深度学习研究都是在 Matlab 中进行,跑在 CPU 上,在玩具级别的数据集上不断迭代各种学习算法、网络架构和优化思路。” 他写道。但 AlexNet 的作者 Alex、Ilya 和 Geoff 却做了一件与当时的主流研究风格完全不同的事情 ——“不再纠结于算法细节,只需要拿一个相对标准的卷积神经网络 (ConvNet),把它做得非常大,在一个大规模的数据集 (ImageNet) 上训练它,然后用 CUDA/C++ 把整个东西实现出来。”

Alex Krizhevsky 直接使用 CUDA 和 C++ 编写了所有的代码,包括卷积、池化等深度学习中的基本操作。这种做法非常创新也很有挑战性,需要程序员对算法、硬件架构、编程语言等有深入理解。

从底层开始的编程方式复杂而繁琐,但可以最大限度地优化性能,充分发挥硬件计算能力,也正是这种回归根本的做法为深度学习注入了一股强大动力,构成深度学习历史上的转折点。

有意思的是,这一段描述勾起不少人的回忆,大家纷纷考古 2012 年之前自己使用什么工具实现深度学习项目。纽约大学计算机科学教授 Alfredo Canziani 当时用的是 Torch,“从未听说有人使用 Matlab 进行深度学习研究......” 。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

对此 Yann lecun 表示同意,2012 年大多数重要的深度学习都是用 Torch 和 Theano 完成的。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

Karpathy 有不同看法,他接话说,大多数项目都是在用 Matlab ,自己从未使用过 Theano,2013-2014 年使用过 Torch。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

一些网友也透露 Hinton 也是用 Matlab。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

看来,当时使用 Matlab 的并不少:

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

知名的 GAN 之父 Ian Goodfellow 也现身说法,表示当时 Yoshua 的实验室全用 Theano,还说自己在 ImageNet 发布之前,曾为 Alex 的 cuda-convnet 编写了 Theano 捆绑包。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

谷歌 DeepMind 主管 Douglas Eck 现身说自己没用过 Matlab,而是 C++,然后转向了 Python/Theano。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

纽约大学教授 Kyunghyun Cho 表示,2010 年,他还在大西洋彼岸,当时使用的是 Hannes SChulz 等人做的 CUV 库,帮他从 Matlab 转向了 python。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

Lamini 的联合创始人 Gregory Diamos 表示,说服他的论文是吴恩达等人的论文《Deep learning with COTS HPC systems》。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

论文表明 Frankenstein CUDA 集群可以击败 10,000 个 CPU 组成的 MapReduce 集群。

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

论文链接:https://proceedings.mlr.press/v28/coates13.pdf

不过,AlexNet 的巨大成功并非一个孤立的事件,而是当时整个领域发展趋势的一个缩影。一些研究人员已经意识到深度学习需要更大的规模和更强的计算能力,GPU 是一个很有前景的方向。Karpathy 写道,“当然,在 AlexNet 出现之前,深度学习领域已经有了一些向规模化方向发展的迹象。例如,Matlab 已经开始初步支持 GPU。斯坦福大学吴恩达实验室的很多工作都在朝着使用 GPU 进行大规模深度学习的方向发展。还有一些其他的并行努力。”

考古结束时,Karpathy 感慨道  “在编写 C/C++ 代码和 CUDA kernel 时,有一种有趣的感觉,觉得自己仿佛回到了 AlexNet 的时代,回到了 cuda-convnet 的时代。”

当下这种 "back to the basics" 的做法与当年 AlexNet 的做法有着异曲同工 ——AlexNet 的作者从 Matlab 转向 CUDA/C++,是为了追求更高的性能和更大的规模。虽然现在有了高级框架,但在它们无法轻松实现极致性能时,仍然需要回到最底层,亲自编写 CUDA/C++ 代码。

对了,当时国内的研究者们都是用什么?欢迎留言讨论。

今天关于《12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

版本声明
本文转载于:机器之心 如有侵犯,请联系study_golang@163.com删除
陶哲轩力荐、亲自把关:AI for Math照这个清单学就对了陶哲轩力荐、亲自把关:AI for Math照这个清单学就对了
上一篇
陶哲轩力荐、亲自把关:AI for Math照这个清单学就对了
ICLR 2024 Spotlight | 无惧中间步骤,MUSTARD可生成高质量数学推理数据
下一篇
ICLR 2024 Spotlight | 无惧中间步骤,MUSTARD可生成高质量数学推理数据
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    511次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    498次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 千音漫语:智能声音创作助手,AI配音、音视频翻译一站搞定!
    千音漫语
    千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
    179次使用
  • MiniWork:智能高效AI工具平台,一站式工作学习效率解决方案
    MiniWork
    MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
    177次使用
  • NoCode (nocode.cn):零代码构建应用、网站、管理系统,降低开发门槛
    NoCode
    NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
    180次使用
  • 达医智影:阿里巴巴达摩院医疗AI影像早筛平台,CT一扫多筛癌症急慢病
    达医智影
    达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
    188次使用
  • 智慧芽Eureka:更懂技术创新的AI Agent平台,助力研发效率飞跃
    智慧芽Eureka
    智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
    201次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码