WhynotTV Podcast - 陈天奇:机器学习系统、长期主义、初心、XGBoost、MXNet、TVM、MLC LLM、OctoML、CMU、UW、ACM班 封面

陈天奇:机器学习系统、长期主义、初心、XGBoost、MXNet、TVM、MLC LLM、OctoML、CMU、UW、ACM班

陈天奇:机器学习系统,长期主义,初心,XGBoost,MXNet,TVM,MLC LLM,OctoML,CMU,UW,ACM班

本集简介

当我问陈天奇,会对十年前、二十年前的自己说些什么时,他沉默了近20秒,说—— “可能要反过来,我需要过去的我告诉现在的我,现在的我告诉未来的我:记住自己对自己的承诺,坚持自己的理想,继续走下去。” 那一刻我真正被感动了——因为我真正看到了一个真正的理想主义者。过去二十年机器学习的历史中,XGBoost、MXNet、TVM、MLC都是不可磨灭的精彩印记,而这些项目背后,有一个共同的名字:本期播客的嘉宾陈天奇。过去十五年,陈天奇始终将“让机器学习模型更轻、更快、更易部署”作为清晰的技术主线。从最早将树模型系统推向极致的XGBoost,到最早的深度学习框架之一MXNet,再到开创深度学习编译领域的TVM,直至今天希望将大模型部署到所有设备的MLC LLM。 陈天奇在这条机器学习系统之路上,已走了近二十年——从他的视角看,这二十年的激荡会是怎样的风景?在这期播客中,你会听到: 我和陈天奇会逐一拆解他的每一个开源项目——它们为何诞生、如何成长、在何处转折。 也会走进陈天奇的个人经历——年少时如何与计算机相遇,高二时如何自学编写编译器,在交大ACM班打下系统功底,在华盛顿大学的科研突破,最终同时踏上创业与教职两条道路。 更重要的是,我们还聊到了陈天奇的底层价值观——长期主义如何落地?如何在不确定性中坚持敢于失败的勇气与初心?在科研、创业、教职三条路上都取得成功后,陈天奇正在筹划怎样的下一步? 这里是WhynotTV Podcast——现在,请和我一起进入陈天奇的世界。 00:02:06 在童年时期对什么事物最感兴趣 00:08:38 有没有什么十八岁之前的经历对未来产生了深远影响 00:10:16 温和的性格是童年时期就养成的吗? 00:12:08 上海交大ACM班的经历 00:14:33 本科ACM班教育对人生的影响 00:18:05 本科第一次接触机器学习科研时的挑战 00:20:09 手搓CUDA用深度学习尝试ImageNet 00:23:10 在2010年用GPU做深度学习是共识了吗 00:24:32 初生牛犊不怕虎做深度学习的经验教训 00:29:40 如何从失败的科研后反而变得不怕失败 00:32:16 研究视野的飞跃,二十年后对研究视野的反思 00:39:01 来到UW读PhD的选择 00:41:08 XGBoost成功的关键原因:极致、社区、专注 00:46:14 为什么选择树方法?Carlos的严格要求 00:49:31 站在现在反思XGBoost当年对神经网络和深度学习的判断 00:53:02 MXNet的前世今生 01:00:03 MXNet背后的博士生团队协作 01:04:14 从MXNet的历史学到的经验教训 01:07:56 科研的风险与收益 01:11:40 TVM的前世今生——什么是机器学习编译 01:14:19 为什么做TVM这么有挑战性 01:17:17 选择做重要的事——做TVM的勇气 01:21:55 GPU/TPU/NPU的区别 01:23:05 初生牛犊不怕虎的勇气与初心 01:26:08 TVM的生态位,2025年面临的挑战与机会 01:30:26 机器学习系统的历史 01:35:03 机器学习系统的未来,挑战与机遇 01:36:13 MLC LLM——将大模型部署到所有设备 01:37:24 未来大模型推理的格局分布——云 vs 端侧 01:41:11 AI模型的收敛趋同会持续下去吗?对机器学习系统意味着什么? 01:45:38 因为资源受限,学术界应该去解决什么样的机器学习系统研究问题? 01:50:42 对开源的热情——如何做成功的开源项目? 01:54:50 OctoML——创业的动机与故事 01:56:29 基于开源项目的创业的得失与优劣 01:59:15 OctoML的商业模式与转型 02:03:00 创业过程中的收获与教训 02:03:58 考虑过当CEO吗?当技术领袖所需的自我革新 02:06:18 创业被NVIDIA收购是符合预期的退出方式吗? 02:08:19 技术创业必须的自我革新 02:10:23 为什么决定要当教授? 02:10:54 一线经验的重要性——为什么当教授了还要写那么多代码? 02:15:03 如何做到高效的时间分配与产出? 02:16:28 这个时代的快节奏机器学习系统研究——我们还能慢下来吗? 02:18:31 如何面对AI研究的新挑战? 02:19:52 现在陈天奇作为教授的风格是什么样的——如何指导学生? 02:21:06 工业界工作 vs 学术界PhD 02:22:19 实事求是、问题导向的研究风格 02:23:22 对长期主义的感悟 02:26:12 面临人生选择的智慧 02:28:41 未来的陈天奇还想做什么——失败与初心 02:32:58 AGI需要什么样的机器学习系统 02:34:23 未来AI的格局会是巨头统治还是百花齐放 02:35:03 会对二十年前、十年前的陈天奇说什么? 02:35:52 对成功和幸福有什么新的感悟 02:37:51 会回望这二十年的旅途——你最后想说些什么?

双语字幕

仅展示文本字幕,不包含中文音频;想边听边看,请使用 Bayt 播客 App。

Speaker 0

我们刚开始做MAXNET的时候,完全不会担心TENSORFLOW能够对我们产生什么样的竞争。

我们刚开始做MAXNET的时候,完全不会担心TENSORFLOW能够对我们产生什么样的竞争。

Speaker 0

你去做一件比较平庸的问题和一个重要的问题,花的时间几乎是一样的。

你去做一件比较平庸的问题和一个重要的问题,花的时间几乎是一样的。

Speaker 0

时间是有限的,所以一定要做想要做的事情。

时间是有限的,所以一定要做想要做的事情。

Speaker 0

我觉得很多时候你的勇气可能是你过去的自己给你自己的约定。

我觉得很多时候你的勇气可能是你过去的自己给你自己的约定。

Speaker 0

其实最后你开始STARTUP之后,开始要想要做的东西和你后面要做的东西肯定是不一样的。

其实最后你开始STARTUP之后,开始要想要做的东西和你后面要做的东西肯定是不一样的。

Speaker 0

所有东西你都去必须要能够 REINVENT YOURSELF,还是继续抱着我们原来的技术路线,就是继续去优化 RESNET。

所有东西你都去必须要能够 REINVENT YOURSELF,还是继续抱着我们原来的技术路线,就是继续去优化 RESNET。

Speaker 0

这个我觉得最后我们会输得很惨。

这个我觉得最后我们会输得很惨。

Speaker 0

这段经历会让我觉得我会更现实,我会知道说怎么样能够通过现实的方式去更好的实现理想。

这段经历会让我觉得我会更现实,我会知道说怎么样能够通过现实的方式去更好的实现理想。

Speaker 0

我还在一起期待吗?

我还在一起期待吗?

Speaker 0

我现在还在一起期待吗?

我现在还在一起期待吗?

Speaker 0

失败也没那么可怕,然后要接受可以失败这个事实。

失败也没那么可怕,然后要接受可以失败这个事实。

Speaker 0

其实我觉得现在的我最难。

其实我觉得现在的我最难。

Speaker 0

的事情。

的事情。

Speaker 0

还是要保持初心。

还是要保持初心。

Speaker 1

哈喽,大家好。

哈喽,大家好。

Speaker 1

如果你学过机器学习,那么你对以下几个名字不会陌生:XGBOOST、MXNET、TVM、MLCLOM。

如果你学过机器学习,那么你对以下几个名字不会陌生:XGBOOST、MXNET、TVM、MLCLOM。

Speaker 1

而在这几个项目名背后,有一个共同的名字,它就是本期嘉宾陈天奇。

而在这几个项目名背后,有一个共同的名字,它就是本期嘉宾陈天奇。

Speaker 1

过去十五年,陈天奇把让机器学习模型更轻、更快、更易部署,做成了一条清晰的技术主线。

过去十五年,陈天奇把让机器学习模型更轻、更快、更易部署,做成了一条清晰的技术主线。

Speaker 1

对我而言,陈天奇不仅仅是AI领域一个响亮的人名。

对我而言,陈天奇不仅仅是AI领域一个响亮的人名。

Speaker 1

他还影响了我对机器学习和科研最早的认知。

他还影响了我对机器学习和科研最早的认知。

Speaker 1

2019年,陈年奇写下知乎文章《机器学习科研这十年》,收获上万点赞。

2019年,陈年奇写下知乎文章《机器学习科研这十年》,收获上万点赞。

Speaker 1

转眼六年过去了,陈年奇在机器学习这条路上已经走了快二十年。

转眼六年过去了,陈年奇在机器学习这条路上已经走了快二十年。

Speaker 1

从最早的大数据,再到深度学习,再到今天的大模型。

从最早的大数据,再到深度学习,再到今天的大模型。

Speaker 1

从陈年奇的视角看,这二十年的激荡会是什么样的风景?

从陈年奇的视角看,这二十年的激荡会是什么样的风景?

Speaker 1

在这期节目,你会听到我和陈年奇会把他的每一个开源项目都拆解清楚,也会走进陈年奇的个人经历:他年少如何与计算机相遇,高二的时候如何自学写编译器。

在这期节目,你会听到我和陈年奇会把他的每一个开源项目都拆解清楚,也会走进陈年奇的个人经历:他年少如何与计算机相遇,高二的时候如何自学写编译器。

Speaker 1

在交大 ACM 班打下系统功底,在 Udub 的科研突破,到最后同时走向创业和教职两条路。

在交大 ACM 班打下系统功底,在 Udub 的科研突破,到最后同时走向创业和教职两条路。

Speaker 1

更重要的我们还聊到了陈天奇的底层价值观。

更重要的我们还聊到了陈天奇的底层价值观。

Speaker 1

长期主义如何落地?

长期主义如何落地?

Speaker 1

如何在不确定性中坚持?

如何在不确定性中坚持?

Speaker 1

敢失败的勇气?

敢失败的勇气?

Speaker 1

在科研、创业、教职三条路都获得成功后,陈天奇在筹划着什么样的下一步?

在科研、创业、教职三条路都获得成功后,陈天奇在筹划着什么样的下一步?

Speaker 1

这里是 Why Not TV Podcast,现在请和我一起进入陈天奇的世界。

这里是 Why Not TV Podcast,现在请和我一起进入陈天奇的世界。

Speaker 1

在童年的时期,在接触计算机和机器学习之前,那个时候的你对什么事物最感兴趣?

在童年的时期,在接触计算机和机器学习之前,那个时候的你对什么事物最感兴趣?

Speaker 0

我觉得关于就是去大学之前的嘛。

我觉得关于就是去大学之前的嘛。

Speaker 0

我觉得最有趣的经历还是怎么样开始接触计算机的两个人经历。

我觉得最有趣的经历还是怎么样开始接触计算机的两个人经历。

Speaker 0

就是我是我的高中是在一个浙江省的一个小县城的县中,而且它现在就是排名是不是那个县最好的中学,原因是因为。

就是我是我的高中是在一个浙江省的一个小县城的县中,而且它现在就是排名是不是那个县最好的中学,原因是因为。

Speaker 0

原来我母亲她是那边的高中老师,然后我们当时觉得就是自己在自己地方上学也挺好的。

原来我母亲她是那边的高中老师,然后我们当时觉得就是自己在自己地方上学也挺好的。

Speaker 0

于是就在那个叫松阳二中,然后在那个时候,其实在初中的时候,我们当时嗯,就是一开始的时候我开始有点想要接触计算机,原因是因为当时觉得哎,这个就是有电脑,然后你可以上网,有很多人可以做网页。

于是就在那个叫松阳二中,然后在那个时候,其实在初中的时候,我们当时嗯,就是一开始的时候我开始有点想要接触计算机,原因是因为当时觉得哎,这个就是有电脑,然后你可以上网,有很多人可以做网页。

Speaker 0

非常的酷。

非常的酷。

Speaker 0

于是我当时就找到了当时我们计算机的一个启蒙老师,他在我叫何老师。

于是我当时就找到了当时我们计算机的一个启蒙老师,他在我叫何老师。

Speaker 0

然后他这个呃,我就问他说:‘你能不能教我学计算机?

然后他这个呃,我就问他说:‘你能不能教我学计算机?

Speaker 0

’当时我的想法是我可以马上学会做这个做网页,然后做很多炫酷的东西。

’当时我的想法是我可以马上学会做这个做网页,然后做很多炫酷的东西。

Speaker 0

然后他给了我一本C语言编程入门。

然后他给了我一本C语言编程入门。

Speaker 0

那时候你多少岁?

那时候你多少岁?

Speaker 0

那时候应该是上初中吧,上刚上高中的时候。

那时候应该是上初中吧,上刚上高中的时候。

Speaker 1

应该是刚上零零年左右。

应该是刚上零零年左右。

Speaker 1

对。

对。

Speaker 0

差不多呃,应该不是零零年,我是零六年上的大学,零三年左右,零三年左右对。

差不多呃,应该不是零零年,我是零六年上的大学,零三年左右,零三年左右对。

Speaker 0

然后就是当时就是就开始学习编程这条路,但是基本上在高中生涯中都没有学会做网络和做游戏,基本上就是差差不多是差不多是这样子。

然后就是当时就是就开始学习编程这条路,但是基本上在高中生涯中都没有学会做网络和做游戏,基本上就是差差不多是差不多是这样子。

Speaker 0

然后而且我当时觉得比较幸运的是,其实呃就是当时其实信息竞赛在网上已经有非常多的资料了,就是你可以找到那个OJ,当时有一个FORUM叫做大龙树,现在已经大概不在了。

然后而且我当时觉得比较幸运的是,其实呃就是当时其实信息竞赛在网上已经有非常多的资料了,就是你可以找到那个OJ,当时有一个FORUM叫做大龙树,现在已经大概不在了。

Speaker 0

大榕树,对,叫大榕树,是是 io 做 oi 的那个一个论坛。

大榕树,对,叫大榕树,是是 io 做 oi 的那个一个论坛。

Speaker 0

然后因为因为其实我的启蒙老师他本身不是做比赛这方面,他只是就是做教计算机。

然后因为因为其实我的启蒙老师他本身不是做比赛这方面,他只是就是做教计算机。

Speaker 0

所以其实当时我们在一个县中并没有任何的资源可以去,就是就是入门这个东西。

所以其实当时我们在一个县中并没有任何的资源可以去,就是就是入门这个东西。

Speaker 0

但是因为现当时网上有 online judge。

但是因为现当时网上有 online judge。

Speaker 0

然后有有公开的资源,所以基本上我就在那个时候就开始自学这个编程和开始打比赛。

然后有有公开的资源,所以基本上我就在那个时候就开始自学这个编程和开始打比赛。

Speaker 0

当时就是,然后呃,然后当时就是学完之后,其实在呃高二的时候,因为我当时开始比较晚了,就高二的时候去参加NYP,就省省赛。

当时就是,然后呃,然后当时就是学完之后,其实在呃高二的时候,因为我当时开始比较晚了,就高二的时候去参加NYP,就省省赛。

Speaker 0

当时我记得比较清楚的是初赛没有过,然后后来SOMEHOW去还是去TAGALONG去参加了一下那个。

当时我记得比较清楚的是初赛没有过,然后后来SOMEHOW去还是去TAGALONG去参加了一下那个。

Speaker 0

这个最后的那个省省选哦,不是不是省选,应该是省省里面那个比赛。

这个最后的那个省省选哦,不是不是省选,应该是省省里面那个比赛。

Speaker 0

然后最后发现最后就拿了二等奖,当时然后后来第第二年的时候,高三的时候是是拿了一等奖,就基本上全部是自学这个东西。

然后最后发现最后就拿了二等奖,当时然后后来第第二年的时候,高三的时候是是拿了一等奖,就基本上全部是自学这个东西。

Speaker 0

然后所以我就那段时间的经历其实嗯对于我后面选择计算机这条路其实非常的有很大的影响,而且我觉得当时就让我感觉到其实因为有互联网,嗯它可以让我们比较自由的接触到这些信息,可以就是。

然后所以我就那段时间的经历其实嗯对于我后面选择计算机这条路其实非常的有很大的影响,而且我觉得当时就让我感觉到其实因为有互联网,嗯它可以让我们比较自由的接触到这些信息,可以就是。

Speaker 0

那我一个相当于草根拳手也可以慢慢的进入到这个领域里面来,我觉得 that that's really amazing 然后另外一个比较有趣的事情就是可能因为当时我一开始的时候就不是特别的,就有点初生牛犊那种感觉,就是呃其实我在。

那我一个相当于草根拳手也可以慢慢的进入到这个领域里面来,我觉得 that that's really amazing 然后另外一个比较有趣的事情就是可能因为当时我一开始的时候就不是特别的,就有点初生牛犊那种感觉,就是呃其实我在。

Speaker 0

高高二的时候,当时就因为自己兴趣嘛,就我想当时就尝试开始自己写编译器。

高高二的时候,当时就因为自己兴趣嘛,就我想当时就尝试开始自己写编译器。

Speaker 0

当时就是就是觉得哎,这个东西很酷。

当时就是就是觉得哎,这个东西很酷。

Speaker 0

因为当时我们做那个online judge的时候呢,其实是呃大部分的编程语言,在我高中的时候,主流的竞赛语言是pass。

因为当时我们做那个online judge的时候呢,其实是呃大部分的编程语言,在我高中的时候,主流的竞赛语言是pass。

Speaker 0

然后我自己是写 c c c c 语言,当时。

然后我自己是写 c c c c 语言,当时。

Speaker 1

为什么你写 c 别人写 pascal.

为什么你写 c 别人写 pascal.

Speaker 0

因为可能纯粹就是因为我的我当时入门的时候就学了 c 就只有 c 语言,因为我没有正规的。

因为可能纯粹就是因为我的我当时入门的时候就学了 c 就只有 c 语言,因为我没有正规的。

Speaker 0

比如说我如果说是在一个正常有竞赛教练培训的学校,估计当时大家都是 all go pascal,因为 that's the standard。

比如说我如果说是在一个正常有竞赛教练培训的学校,估计当时大家都是 all go pascal,因为 that's the standard。

Speaker 0

对,但是因为我是自己就是野路子出家,然后当时就看了 c 语言。

对,但是因为我是自己就是野路子出家,然后当时就看了 c 语言。

Speaker 1

所以你学这个计算机竞赛是自学的。

所以你学这个计算机竞赛是自学的。

Speaker 0

基本上对。

基本上对。

Speaker 1

基本上是自学的。

基本上是自学的。

Speaker 1

那当时你是出于自己升学的角度考虑,为未来打算,还是你纯兴趣?

那当时你是出于自己升学的角度考虑,为未来打算,还是你纯兴趣?

Speaker 0

就是一开始一开始纯兴趣,纯兴趣就是。

就是一开始一开始纯兴趣,纯兴趣就是。

Speaker 0

当然当然就是纯兴趣,然后有人建议说你为什么要不要去打打看比赛?

当然当然就是纯兴趣,然后有人建议说你为什么要不要去打打看比赛?

Speaker 0

i think that that's very 然后其实你刚,一个小一个小孩子,当时刚开始做这个东西的时候发现你可以这个就叫 oj 你可以,就那个还是非常有 reward experience 所以就是开始 getting into it 而且当时因为做 oi 其实还是有一些 online community 的嘛,就大家大家在有有论坛,大家可以交流,对吧?

i think that that's very 然后其实你刚,一个小一个小孩子,当时刚开始做这个东西的时候发现你可以这个就叫 oj 你可以,就那个还是非常有 reward experience 所以就是开始 getting into it 而且当时因为做 oi 其实还是有一些 online community 的嘛,就大家大家在有有论坛,大家可以交流,对吧?

Speaker 0

我觉得这个会非常的好。

我觉得这个会非常的好。

Speaker 0

对,然后就是另外一个就是当时我就开始自己学写编译器。

对,然后就是另外一个就是当时我就开始自己学写编译器。

Speaker 0

就当时因为有这个主要的语言是 pass code,然后我自己写 c,属于当时有一个想法,就是是不是写一个编译器,它的 transpiler,其实就是你把一个 pass code transpile 成 c,然后就是自己吭哧吭哧的搞了一个暑假,最后最后搞出来一个能用的版本,就是就是这个是。

就当时因为有这个主要的语言是 pass code,然后我自己写 c,属于当时有一个想法,就是是不是写一个编译器,它的 transpiler,其实就是你把一个 pass code transpile 成 c,然后就是自己吭哧吭哧的搞了一个暑假,最后最后搞出来一个能用的版本,就是就是这个是。

Speaker 0

可能是一个契机,让我开始去对,就是比较深入的做计算机,有这样的兴趣。

可能是一个契机,让我开始去对,就是比较深入的做计算机,有这样的兴趣。

Speaker 1

所以你对计算机的兴趣在这之前有什么影响吗?

所以你对计算机的兴趣在这之前有什么影响吗?

Speaker 1

因为可能很多人都喜欢计算机,但最后都打游戏,玩电子游戏去了。

因为可能很多人都喜欢计算机,但最后都打游戏,玩电子游戏去了。

Speaker 1

你为什么会开始自学编程?

你为什么会开始自学编程?

Speaker 0

首先我我也喜欢玩电子游戏,我我其实我一直一直都打游戏。

首先我我也喜欢玩电子游戏,我我其实我一直一直都打游戏。

Speaker 0

OK,然后呃,而且学计算机的一个 MOTIVATION 就是。

OK,然后呃,而且学计算机的一个 MOTIVATION 就是。

Speaker 0

能够自己创造游戏,当然这个末日危险一直没有实现对吧?

能够自己创造游戏,当然这个末日危险一直没有实现对吧?

Speaker 0

就是但是就是这是一个契机,就是就是觉得希望能够自己创造游戏。

就是但是就是这是一个契机,就是就是觉得希望能够自己创造游戏。

Speaker 0

一开始的时候,然后然后当然学进去之后发现,哎这个地方还是有很多有趣的东西,于是就就开始往这条道路上开始前进了。

一开始的时候,然后然后当然学进去之后发现,哎这个地方还是有很多有趣的东西,于是就就开始往这条道路上开始前进了。

Speaker 1

很有意思,我们上一期的嘉宾胡彦明,也就是小学的时候就开始做电子游戏了。

很有意思,我们上一期的嘉宾胡彦明,也就是小学的时候就开始做电子游戏了。

Speaker 1

OK OK,对对对对对。

OK OK,对对对对对。

Speaker 1

所以在十八岁之前的这段经历来说,你现在想起来。

所以在十八岁之前的这段经历来说,你现在想起来。

Speaker 1

有没有什么呃故事或者也经历,让你觉得时至今日看来,对你产生了其实挺深远的影响?

有没有什么呃故事或者也经历,让你觉得时至今日看来,对你产生了其实挺深远的影响?

Speaker 0

对,我觉得就是我在高中从零开始搭编译器那一个经历,其实是也不算编译器,其实就是一个 mini transpiler 在那个地方,但是呃。

对,我觉得就是我在高中从零开始搭编译器那一个经历,其实是也不算编译器,其实就是一个 mini transpiler 在那个地方,但是呃。

Speaker 0

就是基本上,因为因为我当时的环境是一个嗯,就是一个一个一个小小地方,对吧?

就是基本上,因为因为我当时的环境是一个嗯,就是一个一个一个小小地方,对吧?

Speaker 0

就是然后但是但是就是当时,所以说也没有一开始没有见识到很多很广的各种各路高手这种感觉。

就是然后但是但是就是当时,所以说也没有一开始没有见识到很多很广的各种各路高手这种感觉。

Speaker 0

但是又因为有互联网,可以能够和看到说诶有很多很多厉害的人在在这个世界上面对吧。

但是又因为有互联网,可以能够和看到说诶有很多很多厉害的人在在这个世界上面对吧。

Speaker 0

但是反过来说,当时总是有一个经历,感觉到说我自己可以尝试。

但是反过来说,当时总是有一个经历,感觉到说我自己可以尝试。

Speaker 0

然后失败了也没有什么关系,对吧?

然后失败了也没有什么关系,对吧?

Speaker 0

就是所以说,就比如说自己尝试,其实当时做编译器花了一个暑假,其实他从从架构到写什么东西都没有现成的教程。

就是所以说,就比如说自己尝试,其实当时做编译器花了一个暑假,其实他从从架构到写什么东西都没有现成的教程。

Speaker 1

那个时候应该没有 github.

那个时候应该没有 github.

Speaker 0

你去搜。

你去搜。

Speaker 0

没有没有 github,没有 github,就就纯粹就是自己在,应该是一开始 windows,后来用了 linux 上面自己。

没有没有 github,没有 github,就就纯粹就是自己在,应该是一开始 windows,后来用了 linux 上面自己。

Speaker 0

管理这个项目,在小本本上面记,说我这个地方要有这个模块、这个模块、这个模块,然后他们应该怎么交互。

管理这个项目,在小本本上面记,说我这个地方要有这个模块、这个模块、这个模块,然后他们应该怎么交互。

Speaker 0

然后对,然后就是纯粹的这样子把一个东西搞起来之后,感觉呃对于后面就是就是我觉得是不怕干事情,我觉得这这一点上面是有很大的影响的。

然后对,然后就是纯粹的这样子把一个东西搞起来之后,感觉呃对于后面就是就是我觉得是不怕干事情,我觉得这这一点上面是有很大的影响的。

Speaker 1

其实我和包括你的学生和你的一些认识你的人交流,他们一直跟我说,你给人一种很温和的印象。

其实我和包括你的学生和你的一些认识你的人交流,他们一直跟我说,你给人一种很温和的印象。

Speaker 1

嗯,你觉得这种性格是你童年时期与生俱来的吗?

嗯,你觉得这种性格是你童年时期与生俱来的吗?

Speaker 1

还是后来的经历慢慢把你塑造成了这样?

还是后来的经历慢慢把你塑造成了这样?

Speaker 0

嗯,这个我觉得 it's funny that people call me that way i think 我觉得这个是很难说哦,就是说,我觉得至少有一点,就是在至少在大学的阶段,特别是 a3班那段经历,其实于勇老师他特别注重强调跟我们说你需要低调做人,高调做事。

嗯,这个我觉得 it's funny that people call me that way i think 我觉得这个是很难说哦,就是说,我觉得至少有一点,就是在至少在大学的阶段,特别是 a3班那段经历,其实于勇老师他特别注重强调跟我们说你需要低调做人,高调做事。

Speaker 0

对吧我觉得这一点对我们影响很大,那个地方,而且的确呃。

对吧我觉得这一点对我们影响很大,那个地方,而且的确呃。

Speaker 0

我我觉得就是,而且就是在整个职业生涯中接触到各种各样的人。

我我觉得就是,而且就是在整个职业生涯中接触到各种各样的人。

Speaker 0

我觉得很多时候我可以发现,嗯,首先我觉得要有做事是需要有锐气的,就是你在你在去完成一件事情的时候,YOU HAVE TO BE AMBITIOUS,对吧?

我觉得很多时候我可以发现,嗯,首先我觉得要有做事是需要有锐气的,就是你在你在去完成一件事情的时候,YOU HAVE TO BE AMBITIOUS,对吧?

Speaker 0

但是IN THE MEANTIME,我觉得很多时候你之所以能够成一件事情。

但是IN THE MEANTIME,我觉得很多时候你之所以能够成一件事情。

Speaker 0

他的因素几乎不全部来自于你自己。

他的因素几乎不全部来自于你自己。

Speaker 0

我接触了很多的人里面,我觉得 THE LESSON I LEARN FROM THEM,THEY ALL HUMBLE,他们都非常的谦虚,知道说其实很多时候你需要你周围的人在一起去合作完成一件事情。

我接触了很多的人里面,我觉得 THE LESSON I LEARN FROM THEM,THEY ALL HUMBLE,他们都非常的谦虚,知道说其实很多时候你需要你周围的人在一起去合作完成一件事情。

Speaker 0

然后基于这样的假设之后,我觉得其实我觉得在跟人交流的时候,其实需要有一定程度的尊重和能够去。

然后基于这样的假设之后,我觉得其实我觉得在跟人交流的时候,其实需要有一定程度的尊重和能够去。

Speaker 0

Let's collaborate together but also in the meanwhile 这个并不代表说我们不要不要能够 be very ambitious 并且我们需要能够去 challenge the status quo 嗯.

Let's collaborate together but also in the meanwhile 这个并不代表说我们不要不要能够 be very ambitious 并且我们需要能够去 challenge the status quo 嗯.

Speaker 1

对。

对。

Speaker 1

好,正好聊到 sm 班,你是在16年加入,06年,0,呃,06年,sorry,呃,在那里读本科。

好,正好聊到 sm 班,你是在16年加入,06年,0,呃,06年,sorry,呃,在那里读本科。

Speaker 1

对,然后那个应该是很早的几届 sm 班嘛,对不对?

对,然后那个应该是很早的几届 sm 班嘛,对不对?

Speaker 1

当时的 sm 班是什么样的体验?

当时的 sm 班是什么样的体验?

Speaker 0

嗯,我觉得我还是非常幸运的。

嗯,我觉得我还是非常幸运的。

Speaker 0

因为我是我是高考生,当时因为我我是高三才拿了省一,就根本就没有参加过NOI,就属于是相当于是在这个省赛、省就是就是省选都没有参加过,基本上就是在在在大概省里到省这个级别。

因为我是我是高考生,当时因为我我是高三才拿了省一,就根本就没有参加过NOI,就属于是相当于是在这个省赛、省就是就是省选都没有参加过,基本上就是在在在大概省里到省这个级别。

Speaker 0

所以说就是并没有就是A三班,因为它有竞赛生和高考生嘛。

所以说就是并没有就是A三班,因为它有竞赛生和高考生嘛。

Speaker 0

就是我是高考考到了交大。

就是我是高考考到了交大。

Speaker 0

的电院,然后嗯,当时高考填志愿的时候,就是应该是我好像在新闻上面看到了交大SM班。

的电院,然后嗯,当时高考填志愿的时候,就是应该是我好像在新闻上面看到了交大SM班。

Speaker 0

然后后来去自己查了资料,发现哎,这个是一个就是是我想要去的地方。

然后后来去自己查了资料,发现哎,这个是一个就是是我想要去的地方。

Speaker 0

就是所以就是呃,然后我还记得非常清楚,就是当时去交大找玉勇老师宣讲会嘛,他的宣讲会,然后。

就是所以就是呃,然后我还记得非常清楚,就是当时去交大找玉勇老师宣讲会嘛,他的宣讲会,然后。

Speaker 0

我当时也就是比较仔细的准备了我的材料,交给了他。

我当时也就是比较仔细的准备了我的材料,交给了他。

Speaker 0

然后后来于老师也跟我说,好像他印象中对我印象比较深刻的是因为当时我是比其他学生中准备材料最仔细的一个,然后就 somehow 就得到了这个机会。

然后后来于老师也跟我说,好像他印象中对我印象比较深刻的是因为当时我是比其他学生中准备材料最仔细的一个,然后就 somehow 就得到了这个机会。

Speaker 1

你的材料是你写的 compiler 吗?

你的材料是你写的 compiler 吗?

Speaker 0

并没有,就是主要是简历。

并没有,就是主要是简历。

Speaker 0

当然其实我在简历里面我有提到说我的原来的经历是什么。

当然其实我在简历里面我有提到说我的原来的经历是什么。

Speaker 0

就是为什么我比较,这现在回过来看,其实我觉得非常像你去 prepare your personal statement for a phd application。

就是为什么我比较,这现在回过来看,其实我觉得非常像你去 prepare your personal statement for a phd application。

Speaker 0

但是当时并没有意识到这一点,对。

但是当时并没有意识到这一点,对。

Speaker 0

嗯,就是当时只是纯粹的想说我我需要,因为我本身是一个高考生,又是在一个名不见经传的地方来的一个这样的一个学生,我希望能够 be prepared to to get the opportunity.

嗯,就是当时只是纯粹的想说我我需要,因为我本身是一个高考生,又是在一个名不见经传的地方来的一个这样的一个学生,我希望能够 be prepared to to get the opportunity.

Speaker 1

那这个很有意思。

那这个很有意思。

Speaker 1

你高中花了那么多的时间自学编程,嗯哼,打OI,然后写compiler一个暑假。

你高中花了那么多的时间自学编程,嗯哼,打OI,然后写compiler一个暑假。

Speaker 1

但你高考完全没有落下,你还是正常高考考进了上海交大。

但你高考完全没有落下,你还是正常高考考进了上海交大。

Speaker 0

嗯,对。

嗯,对。

Speaker 1

是这样子的。

是这样子的。

Speaker 1

你当时在你们那个县城是不是当时一直都是。

你当时在你们那个县城是不是当时一直都是。

Speaker 1

嗯嗯,全年级第一这种神一样的。

嗯嗯,全年级第一这种神一样的。

Speaker 0

差不多算是吧。

差不多算是吧。

Speaker 1

差不多算是吧。

差不多算是吧。

Speaker 1

所以你是开窍很早的,就是基本上从小都是呃,一路上来成绩都是最好的那一波。

所以你是开窍很早的,就是基本上从小都是呃,一路上来成绩都是最好的那一波。

Speaker 0

应该应该算是这样子。

应该应该算是这样子。

Speaker 1

刚刚你提到于勇老师在A C M班的时候一直跟你们强调低调做人、高调做事。

刚刚你提到于勇老师在A C M班的时候一直跟你们强调低调做人、高调做事。

Speaker 1

你觉得呃,本科在A C M班的经历对你后来的学术训练也好、人生经历也好,产生了什么样的影响?

你觉得呃,本科在A C M班的经历对你后来的学术训练也好、人生经历也好,产生了什么样的影响?

Speaker 1

其实。

其实。

Speaker 0

我的对SM的第一个印象是,当时我们现在叫学子讲坛,就是他SM他每年,就是他他都会应该每个学期都会让每个学生上去讲你自己选择的一个TOPIC,就是就是可以讲任何东西。

我的对SM的第一个印象是,当时我们现在叫学子讲坛,就是他SM他每年,就是他他都会应该每个学期都会让每个学生上去讲你自己选择的一个TOPIC,就是就是可以讲任何东西。

Speaker 0

然后这个是一个给大家表达自己的一个机会,对吧?

然后这个是一个给大家表达自己的一个机会,对吧?

Speaker 0

我觉得那一段。

我觉得那一段。

Speaker 0

培养是,it turns out 就就是在我去读博士的时候,我也当时 volunteer 第一个讲主会,然后我就发现,就说其实当时因为交大的那段时间的历练,可以让人感觉到自己可以有自信直接出来表达自己。

培养是,it turns out 就就是在我去读博士的时候,我也当时 volunteer 第一个讲主会,然后我就发现,就说其实当时因为交大的那段时间的历练,可以让人感觉到自己可以有自信直接出来表达自己。

Speaker 0

我觉得这一点是在整个培养中,non technical 的部分其实反倒是最重要的部分。

我觉得这一点是在整个培养中,non technical 的部分其实反倒是最重要的部分。

Speaker 0

在这里,对,当然A三班有非常强的technical,就是技术方面的培养。

在这里,对,当然A三班有非常强的technical,就是技术方面的培养。

Speaker 0

嗯,特别是它在传统里面,我觉得非常好,一直传承到现在的一点是它的课程设计和大作业,就是我们当时有一个叫编译原理大作业,现在也一直在上。

嗯,特别是它在传统里面,我觉得非常好,一直传承到现在的一点是它的课程设计和大作业,就是我们当时有一个叫编译原理大作业,现在也一直在上。

Speaker 0

他是。

他是。

Speaker 0

基本上是从零开始,让大家搭一个编译器。

基本上是从零开始,让大家搭一个编译器。

Speaker 0

FROM FROM SCRATCH,应该是我们的第一届学长他们自己去,就并不是老师主导设计这个东西,而是第一届学长他们自己去去借鉴了当时北美高校先进的经历,然后设计了这个课程设计。

FROM FROM SCRATCH,应该是我们的第一届学长他们自己去,就并不是老师主导设计这个东西,而是第一届学长他们自己去去借鉴了当时北美高校先进的经历,然后设计了这个课程设计。

Speaker 0

然后经过几代学生的迭代,就每一代都是由学生来去当,就上一届的学长来当助教,其实就是和INSTRUCTOR。

然后经过几代学生的迭代,就每一代都是由学生来去当,就上一届的学长来当助教,其实就是和INSTRUCTOR。

Speaker 0

然后他们去迭代这个编译、编译课程作业,然后并且传承给下一代。

然后他们去迭代这个编译、编译课程作业,然后并且传承给下一代。

Speaker 0

然后那个训练我觉得是非常非常棒,就甚至把它放到现在北美高校的标准来看,我觉得都是一流的。

然后那个训练我觉得是非常非常棒,就甚至把它放到现在北美高校的标准来看,我觉得都是一流的。

Speaker 0

这个训练这个很有意思。

这个训练这个很有意思。

Speaker 1

所以你觉得这样的氛围怎么会有这样的氛围?

所以你觉得这样的氛围怎么会有这样的氛围?

Speaker 1

这可能就学生自发的找北美的课,然后一代一代传下去。

这可能就学生自发的找北美的课,然后一代一代传下去。

Speaker 0

我觉得很大程度是受于老师的影响。

我觉得很大程度是受于老师的影响。

Speaker 0

就是可能他不一定会告诉我们你技术上面具体要做这件事情,但是他其实鼓励学生们去相互的帮助,有传承。

就是可能他不一定会告诉我们你技术上面具体要做这件事情,但是他其实鼓励学生们去相互的帮助,有传承。

Speaker 0

对吧?

对吧?

Speaker 0

并且可以去这个,我觉得也是也是就和他说这个高调做事吧,就是我们希望能够做事就做到,能够做到一流,我觉得这一点会非常非常难能可贵。

并且可以去这个,我觉得也是也是就和他说这个高调做事吧,就是我们希望能够做事就做到,能够做到一流,我觉得这一点会非常非常难能可贵。

Speaker 1

在这里。

在这里。

Speaker 1

所以当时对很多可能你的 ACM 班同学来说是第一次写编译器,但对你来说应该已经是第二次了。

所以当时对很多可能你的 ACM 班同学来说是第一次写编译器,但对你来说应该已经是第二次了。

Speaker 0

嗯,算是。

嗯,算是。

Speaker 0

但是我觉得,我觉得这个就是它的难度完全不在一个数量级了。

但是我觉得,我觉得这个就是它的难度完全不在一个数量级了。

Speaker 0

嗯,就是和和一个简单的 TRANSPILER 比起来,当然又有点不太一样。

嗯,就是和和一个简单的 TRANSPILER 比起来,当然又有点不太一样。

Speaker 0

原因是因为可能另外一种就原来高中时候的经历,像更像是这个乱拳打这个东西,但是 SOMEHOW 能够 FIGURE OUT 一些东西。

原因是因为可能另外一种就原来高中时候的经历,像更像是这个乱拳打这个东西,但是 SOMEHOW 能够 FIGURE OUT 一些东西。

Speaker 0

但是到了就真正开始写大作业的时候,当时已经有了一定程度的训练,所以说。

但是到了就真正开始写大作业的时候,当时已经有了一定程度的训练,所以说。

Speaker 0

就相对来说,当然还是很多时候是靠自己 figure out 的,因为我们当时其实唯一的资料就是前面学长留下来的东西。

就相对来说,当然还是很多时候是靠自己 figure out 的,因为我们当时其实唯一的资料就是前面学长留下来的东西。

Speaker 1

我看到你说你本科期间你就加入了交大的 APEX 实验室,嗯,然后当时就开始接触机器学习了,在最早的时候。

我看到你说你本科期间你就加入了交大的 APEX 实验室,嗯,然后当时就开始接触机器学习了,在最早的时候。

Speaker 1

当时你在文章里面写到,你说那个时候你对科研是什么这个问题感到非常困惑。

当时你在文章里面写到,你说那个时候你对科研是什么这个问题感到非常困惑。

Speaker 1

对,能不能跟我们分享一下当时的心态?

对,能不能跟我们分享一下当时的心态?

Speaker 1

第一次接触科研时最大的挑战是什么?

第一次接触科研时最大的挑战是什么?

Speaker 0

我觉得进入 APEX 当时其实选机学习一开始的就是就是动机其实非常的简单,就当时觉得诶可以机器可以学习,听起来很酷,然后我要不要试试看。

我觉得进入 APEX 当时其实选机学习一开始的就是就是动机其实非常的简单,就当时觉得诶可以机器可以学习,听起来很酷,然后我要不要试试看。

Speaker 0

嗯,而且当时我们就在看那个 TOM MITCHELL 的那个 MACHINE LEARNING 这本书,TOM 尤其是我们现在的这个呃机学习系的第一任系主任,他现在还在 CMU 的时候。

嗯,而且当时我们就在看那个 TOM MITCHELL 的那个 MACHINE LEARNING 这本书,TOM 尤其是我们现在的这个呃机学习系的第一任系主任,他现在还在 CMU 的时候。

Speaker 0

这个过来的时候,我就会跟他说:‘我们很多其实很多的这个机器学习的教授们都是看着那本书长大,在这个地方。

这个过来的时候,我就会跟他说:‘我们很多其实很多的这个机器学习的教授们都是看着那本书长大,在这个地方。

Speaker 0

’对,然后当时对于科研是什么比较困惑的原因,其实其实就是我觉得大家进入科研都会有这样的困惑,困惑对,就说我应该怎么样做科研。

’对,然后当时对于科研是什么比较困惑的原因,其实其实就是我觉得大家进入科研都会有这样的困惑,困惑对,就说我应该怎么样做科研。

Speaker 0

而且我觉得。

而且我觉得。

Speaker 0

从现在来看,其实我觉得那个困惑是非常正常的。

从现在来看,其实我觉得那个困惑是非常正常的。

Speaker 0

就是甚至对于你在做一个方向非常久了之后,你还是会有这样的困惑,特别是因为这是就是对来自于未知嘛。

就是甚至对于你在做一个方向非常久了之后,你还是会有这样的困惑,特别是因为这是就是对来自于未知嘛。

Speaker 0

就是因为科研它的目标就是你要去在未知的UNCHARTED TERRITORY去尝试一些东西,那么。

就是因为科研它的目标就是你要去在未知的UNCHARTED TERRITORY去尝试一些东西,那么。

Speaker 0

必然它就会,就是会有不知道的东西,对吧?

必然它就会,就是会有不知道的东西,对吧?

Speaker 0

如果说你对一个东西似乎看上去比较清澈,因为你在做科研做了一段时间之后,可能你会对一个领域相对来说比较轻车熟路了。

如果说你对一个东西似乎看上去比较清澈,因为你在做科研做了一段时间之后,可能你会对一个领域相对来说比较轻车熟路了。

Speaker 0

但是其实这个对它的不确定性还是始终存在的这个地方。

但是其实这个对它的不确定性还是始终存在的这个地方。

Speaker 0

所以就是,当时我不知道的是一我可以做什么,我要做什么。

所以就是,当时我不知道的是一我可以做什么,我要做什么。

Speaker 0

然后二这个后来其实发现就是其实就是就是怎么样做,其实也不是很清楚。

然后二这个后来其实发现就是其实就是就是怎么样做,其实也不是很清楚。

Speaker 1

你在文章里面提到了一个很有意思的经历,是我不知道那个是不是你的第一段科研,但是你说当时你在用 RESTRICTED BOLZMANN MACHINE 对呃做那个 IMAGENET 的 CLASSIFICATION 是的。

你在文章里面提到了一个很有意思的经历,是我不知道那个是不是你的第一段科研,但是你说当时你在用 RESTRICTED BOLZMANN MACHINE 对呃做那个 IMAGENET 的 CLASSIFICATION 是的。

Speaker 1

然后当手搓枯大的经历能不能跟我们分享一下?

然后当手搓枯大的经历能不能跟我们分享一下?

Speaker 0

嗯,就是其实。

嗯,就是其实。

Speaker 0

我经过APEX,是当时一开始是跟的戴文渊学长。

我经过APEX,是当时一开始是跟的戴文渊学长。

Speaker 0

他现在的就是他现在也做得非常好。

他现在的就是他现在也做得非常好。

Speaker 0

第四范式这个,然后但是我跟他做了差不多一个暑假,当时还在入门嘛,就是看TOMMY秋的书,在学习学写一些东西。

第四范式这个,然后但是我跟他做了差不多一个暑假,当时还在入门嘛,就是看TOMMY秋的书,在学习学写一些东西。

Speaker 0

然后基本上应该是暑假之后,他就直接去了百度。

然后基本上应该是暑假之后,他就直接去了百度。

Speaker 0

然后当时其实我们实验室就处在一个相对来说就是学生比老师多很多的状态,就是我我就不知道要。

然后当时其实我们实验室就处在一个相对来说就是学生比老师多很多的状态,就是我我就不知道要。

Speaker 0

接下来要做什么对吧?

接下来要做什么对吧?

Speaker 0

然后后来我记得是就先去了微软亚洲研究院,去呃去当时去是学习了做做一些和ADVERTISING相关的东西。

然后后来我记得是就先去了微软亚洲研究院,去呃去当时去是学习了做做一些和ADVERTISING相关的东西。

Speaker 0

那是大三大三的大三的时候,然后后来回来的时候,就是当时我们实验室的那个薛老师,他就跟我们说:诶,最近有一个叫做。

那是大三大三的大三的时候,然后后来回来的时候,就是当时我们实验室的那个薛老师,他就跟我们说:诶,最近有一个叫做。

Speaker 0

深度学习的东西挺有趣的,你们可以看一看。

深度学习的东西挺有趣的,你们可以看一看。

Speaker 0

就,然后当时我们就直接去看了那个 icmo 和 nervous 的 paper。

就,然后当时我们就直接去看了那个 icmo 和 nervous 的 paper。

Speaker 0

他们有这个,就是当时有一个方法叫限制玻尔兹曼机,对吧?

他们有这个,就是当时有一个方法叫限制玻尔兹曼机,对吧?

Speaker 0

就是他们应该是 angel angel angel in,他他们组做的说,你可以用限制玻尔兹曼机去学习。

就是他们应该是 angel angel angel in,他他们组做的说,你可以用限制玻尔兹曼机去学习。

Speaker 0

这个人脸和其他的 pattern 我觉得哎的确挺有趣的。

这个人脸和其他的 pattern 我觉得哎的确挺有趣的。

Speaker 0

我们要不要来做做看?

我们要不要来做做看?

Speaker 0

就是我和当时实验室一个学长叫林源,然后就是就是就我就说我们毕业设计就做这个吧,我就开始做这个东西,然后并且因为当时。

就是我和当时实验室一个学长叫林源,然后就是就是就我就说我们毕业设计就做这个吧,我就开始做这个东西,然后并且因为当时。

Speaker 0

你直接去做卷积网络,我们当时都写MATLAB,就是直接做卷积网络。

你直接去做卷积网络,我们当时都写MATLAB,就是直接做卷积网络。

Speaker 0

其实非常慢,就是你哪怕用了那个FFT的优化,它还是非常慢。

其实非常慢,就是你哪怕用了那个FFT的优化,它还是非常慢。

Speaker 0

然后当时就觉得诶,这个似乎有一个到库达的东西。

然后当时就觉得诶,这个似乎有一个到库达的东西。

Speaker 0

那我们先来去写写看,学习一下加速。

那我们先来去写写看,学习一下加速。

Speaker 1

当时几几年库达的版本号是多少?

当时几几年库达的版本号是多少?

Speaker 0

差不多是2.0还是多少?

差不多是2.0还是多少?

Speaker 0

就是我们当时买的是。

就是我们当时买的是。

Speaker 0

390还是380的GPU啊,GTX380的GPU。

390还是380的GPU啊,GTX380的GPU。

Speaker 0

而且因为当时我们实验室大部分的服务器都是CPU嘛,就当时根本就没有GPU这个考虑。

而且因为当时我们实验室大部分的服务器都是CPU嘛,就当时根本就没有GPU这个考虑。

Speaker 0

所以就是我们买了显卡发现塞不进去,就是那个机机箱啊,就是太小了,就是根本塞不到那个里面去。

所以就是我们买了显卡发现塞不进去,就是那个机机箱啊,就是太小了,就是根本塞不到那个里面去。

Speaker 0

然后哦,好像不是因为机箱太小,是因为显卡可以塞进去。

然后哦,好像不是因为机箱太小,是因为显卡可以塞进去。

Speaker 0

但是电源不够,就是 PSU 的那个瓦数不够。

但是电源不够,就是 PSU 的那个瓦数不够。

Speaker 0

所以说我们最后的解决方法是我们再买了个电源,把它放到了机箱的外面。

所以说我们最后的解决方法是我们再买了个电源,把它放到了机箱的外面。

Speaker 0

然后再把主板,就是等于说接到那个机箱外面的电源,再接回那个显卡,就是就是这样搭了我们第一台 GPU 的服务器。

然后再把主板,就是等于说接到那个机箱外面的电源,再接回那个显卡,就是就是这样搭了我们第一台 GPU 的服务器。

Speaker 1

在实验室里面。

在实验室里面。

Speaker 1

但当时应该是0910年,对吧?

但当时应该是0910年,对吧?

Speaker 1

对。

对。

Speaker 1

但是用 GPU 做深度学习,当时已经成为共识了嘛,因为好像距离 Alexnet 还有两年嘛。

但是用 GPU 做深度学习,当时已经成为共识了嘛,因为好像距离 Alexnet 还有两年嘛。

Speaker 0

对,当时其实其实有一些前期的工作了,你会发现SM ANDREW IN他们组其实已经有在写有论文说怎么样用GPU加速深度学习。

对,当时其实其实有一些前期的工作了,你会发现SM ANDREW IN他们组其实已经有在写有论文说怎么样用GPU加速深度学习。

Speaker 0

所以说应该是一个大家都已经意识到的东西,而且你会我当时有在开发我们自己的深度学习网络。

所以说应该是一个大家都已经意识到的东西,而且你会我当时有在开发我们自己的深度学习网络。

Speaker 0

我我其实我在找相关的工作,当时就可以看到库达CONFLATE,就是是ALEX KAJUSKI他们的这个工具在网上其实已经可以找到了。

我我其实我在找相关的工作,当时就可以看到库达CONFLATE,就是是ALEX KAJUSKI他们的这个工具在网上其实已经可以找到了。

Speaker 1

对,其实当时已经有了,只不过距离他们一鸣惊人还有两年。

对,其实当时已经有了,只不过距离他们一鸣惊人还有两年。

Speaker 0

对,包括呃我们我们当时也觉得说,哎,还有当时另外一个很重要的事件,就是菲菲老师他们发布了IMAGENET这个东西,对,就是我们一开始的时候就是在做这个深度学习。

对,包括呃我们我们当时也觉得说,哎,还有当时另外一个很重要的事件,就是菲菲老师他们发布了IMAGENET这个东西,对,就是我们一开始的时候就是在做这个深度学习。

Speaker 0

我们一开始的时候我们能不能做这个PREDICTION DETECTION,就是行人识别,然后但是后来发现菲菲老师发发布了那个IMAGENET,我觉得很好,我们要不要来试试看?

我们一开始的时候我们能不能做这个PREDICTION DETECTION,就是行人识别,然后但是后来发现菲菲老师发发布了那个IMAGENET,我觉得很好,我们要不要来试试看?

Speaker 0

就是,于是当时就是其实现在回想看来啊,就说还是因为当时就没有人带,也是初生牛犊不怕虎。

就是,于是当时就是其实现在回想看来啊,就说还是因为当时就没有人带,也是初生牛犊不怕虎。

Speaker 0

我们当时就觉得说OK,这个任务很有趣,而且它似乎很难,我们来去挑战一下都会有这种感觉,就是就去挑战了。

我们当时就觉得说OK,这个任务很有趣,而且它似乎很难,我们来去挑战一下都会有这种感觉,就是就去挑战了。

Speaker 0

就是就是但就就是,所以说也没有当时没有很仔细的考虑到说这里面的COMPLEXITY是什么对。

就是就是但就就是,所以说也没有当时没有很仔细的考虑到说这里面的COMPLEXITY是什么对。

Speaker 1

所以当时初生牛犊不怕虎,turns out to be good turns out to be bad。

所以当时初生牛犊不怕虎,turns out to be good turns out to be bad。

Speaker 0

嗯,首先它是一段在。

嗯,首先它是一段在。

Speaker 0

科研上面不算成功的经历,我这么这么说就是说,因为嗯,从我本科毕设嗯开始做这个东西。

科研上面不算成功的经历,我这么这么说就是说,因为嗯,从我本科毕设嗯开始做这个东西。

Speaker 0

当然本科毕设因为相对来说还好,你不需要你不需要达到一个论文发表的地步,对吧?

当然本科毕设因为相对来说还好,你不需要你不需要达到一个论文发表的地步,对吧?

Speaker 0

就是因为我们可以直接做出来的结果能够我们当时的结果是我们可以做了加数、做了卷积的限制波尔基曼级的加数,并且。

就是因为我们可以直接做出来的结果能够我们当时的结果是我们可以做了加数、做了卷积的限制波尔基曼级的加数,并且。

Speaker 0

可以看到一些 pattern 比如说 digits 我可以看到有这个 pattern 但是呢,我们始终不能 beat the baseline 就是 baseline 是 svm classification 这个东西。

可以看到一些 pattern 比如说 digits 我可以看到有这个 pattern 但是呢,我们始终不能 beat the baseline 就是 baseline 是 svm classification 这个东西。

Speaker 0

就是就是当时我们就非常,就是我也不知道是因为我们做错了还是怎么样,就 it turns out 其实我觉得后来是因为那条路径本身就不太对,就是虽然深度学习是个正确的方向,但是其实最后做 work 的一些 supervise learning 的,就是当时这个。

就是就是当时我们就非常,就是我也不知道是因为我们做错了还是怎么样,就 it turns out 其实我觉得后来是因为那条路径本身就不太对,就是虽然深度学习是个正确的方向,但是其实最后做 work 的一些 supervise learning 的,就是当时这个。

Speaker 0

限制波尔兹曼基的那一条路径,其实到现在来看,它是并不是那么正确的一条路径。

限制波尔兹曼基的那一条路径,其实到现在来看,它是并不是那么正确的一条路径。

Speaker 0

在这里,其实是我在研究生,我我也是在交大APEX读的研究生,在研究生一直还是有这个PYTHON。

在这里,其实是我在研究生,我我也是在交大APEX读的研究生,在研究生一直还是有这个PYTHON。

Speaker 0

所以我们是从研一一直做到了我研二,就研究生几乎快要毕业的时候,差不多一年半,包含本科大概有两年的时间,我一直在做。

所以我们是从研一一直做到了我研二,就研究生几乎快要毕业的时候,差不多一年半,包含本科大概有两年的时间,我一直在做。

Speaker 0

就是做深度学习 on image net 这这么一个课题,这一个课题,对。

就是做深度学习 on image net 这这么一个课题,这一个课题,对。

Speaker 0

然后就就包括苦打代码的优化,而且那个时候其实你为了搭一个模型,你几乎要花6个月的时间,在 c++ 和库达 c 里面把东西都写出来,对吧?

然后就就包括苦打代码的优化,而且那个时候其实你为了搭一个模型,你几乎要花6个月的时间,在 c++ 和库达 c 里面把东西都写出来,对吧?

Speaker 0

然后然后再去跑。

然后然后再去跑。

Speaker 1

那个时候应该什么深度学习框架都没有吧?

那个时候应该什么深度学习框架都没有吧?

Speaker 0

你其实那个时候,ciano 和 codaknet 本身也已经有了,对。

你其实那个时候,ciano 和 codaknet 本身也已经有了,对。

Speaker 0

但是就是,但是我的想法就是我需要我,因为因为我觉得很多东西 build from scratch 还是可以知道控制你的模型建模是怎么样子的。

但是就是,但是我的想法就是我需要我,因为因为我觉得很多东西 build from scratch 还是可以知道控制你的模型建模是怎么样子的。

Speaker 1

所以像什么 gradient back propagation 是你自己写的。

所以像什么 gradient back propagation 是你自己写的。

Speaker 0

对对对,就基本上都是自己写的这个东西。

对对对,就基本上都是自己写的这个东西。

Speaker 0

就是所以说基本上差不多,而且那个时候在实验室里面还有其他的同学啊,就是在一起尝试这个方向。

就是所以说基本上差不多,而且那个时候在实验室里面还有其他的同学啊,就是在一起尝试这个方向。

Speaker 0

但是其实最后两年的时间,我们就什么论文都没有,就是就基本上在那里做。

但是其实最后两年的时间,我们就什么论文都没有,就是就基本上在那里做。

Speaker 0

有一股劲在图书馆里面调啊,看啊。

有一股劲在图书馆里面调啊,看啊。

Speaker 0

然后但是就始终,他就结果而言,他是一个不是一个成功的经历,在这个地方。

然后但是就始终,他就结果而言,他是一个不是一个成功的经历,在这个地方。

Speaker 0

对。

对。

Speaker 0

然后就是后来我们当时去。

然后就是后来我们当时去。

Speaker 0

差不多我研究生就是最后一年的时候,当时有这个kdd cup,就他们办了那个比赛。

差不多我研究生就是最后一年的时候,当时有这个kdd cup,就他们办了那个比赛。

Speaker 0

然后,并且我们当时觉得诶,这个比赛或许可以参加一下。

然后,并且我们当时觉得诶,这个比赛或许可以参加一下。

Speaker 0

然后因为这个限制波尔兹曼机这个东西,当时有一篇论文叫做这个RECEIVE BOSS MACHINE FOR COLLABORATIVE FILTERING,就是他们是用限制波尔兹曼机做推荐系统,作者也是这个我们MOD的那个RUSLAN呃老师。

然后因为这个限制波尔兹曼机这个东西,当时有一篇论文叫做这个RECEIVE BOSS MACHINE FOR COLLABORATIVE FILTERING,就是他们是用限制波尔兹曼机做推荐系统,作者也是这个我们MOD的那个RUSLAN呃老师。

Speaker 0

对,然后我们当时觉得诶,我在做这个限制波尔兹曼机,似乎这个可以用在这个。

对,然后我们当时觉得诶,我在做这个限制波尔兹曼机,似乎这个可以用在这个。

Speaker 0

推荐系统这个方向上面,我们要不来试一试。

推荐系统这个方向上面,我们要不来试一试。

Speaker 0

于是我们就我们就尝试参加了那第一届的这个 kdd cup 就就我们是第一次在实验室组团参加,就后来其实科研相对来说是 kd cup 那一段经历是相对来说出现了一些转机,可以让我们,就是也是因为什么我有机会可以来到北美,就是也是因为后来的 kd cup。

于是我们就我们就尝试参加了那第一届的这个 kdd cup 就就我们是第一次在实验室组团参加,就后来其实科研相对来说是 kd cup 那一段经历是相对来说出现了一些转机,可以让我们,就是也是因为什么我有机会可以来到北美,就是也是因为后来的 kd cup。

Speaker 0

这段经历,其实回过头来看,当时做第一段科研啊,因为完全没有人告诉我说,一你要怎么做,二二就是你可能会碰到什么问题。

这段经历,其实回过头来看,当时做第一段科研啊,因为完全没有人告诉我说,一你要怎么做,二二就是你可能会碰到什么问题。

Speaker 0

现在看来其实一个很明显的错误就是说,当时我们觉得,哎,一,imagenet 这个问题刚出来,非常好,很重要。

现在看来其实一个很明显的错误就是说,当时我们觉得,哎,一,imagenet 这个问题刚出来,非常好,很重要。

Speaker 0

其实这个是对的,因为因为做好的科研你必须要去挑重要的问题。

其实这个是对的,因为因为做好的科研你必须要去挑重要的问题。

Speaker 0

然后并且我们觉得说,哎,深度学习很重要,而且似乎深度学里面很靠谱的一个方法是限制卷积、限制布尔兹班机这个方法,对吧?

然后并且我们觉得说,哎,深度学习很重要,而且似乎深度学里面很靠谱的一个方法是限制卷积、限制布尔兹班机这个方法,对吧?

Speaker 0

然后我们就说OK,那我们一起试试看,一定把这两个东西搞WORK用这个方法,在这个音频现在这个问题上面。

然后我们就说OK,那我们一起试试看,一定把这两个东西搞WORK用这个方法,在这个音频现在这个问题上面。

Speaker 0

然后,但是后来发现其实是说当你去做科研的时候,如果你你很难说你的眼光看的那么准,对吧?

然后,但是后来发现其实是说当你去做科研的时候,如果你你很难说你的眼光看的那么准,对吧?

Speaker 0

你挑了正确的问题,然后第一第一把就挑了正确的方法。

你挑了正确的问题,然后第一第一把就挑了正确的方法。

Speaker 0

当时我们就基本上是就是在正确的问题和错误的方法上面坚持了两年的时间,差不多是这样的。

当时我们就基本上是就是在正确的问题和错误的方法上面坚持了两年的时间,差不多是这样的。

Speaker 0

然后当然最后结果就是TURNS OUT IT'S NOT GOOD。

然后当然最后结果就是TURNS OUT IT'S NOT GOOD。

Speaker 0

后来其实我们做KDD的时候相对来说就是。

后来其实我们做KDD的时候相对来说就是。

Speaker 0

吸取了一方面这样的经验,就是我们从限制玻尔兹曼机的方法开始。

吸取了一方面这样的经验,就是我们从限制玻尔兹曼机的方法开始。

Speaker 0

其实后来去看了这个问题之后,发现其实你做矩阵分解会更好,我们就开始做矩阵分解相关的方法。

其实后来去看了这个问题之后,发现其实你做矩阵分解会更好,我们就开始做矩阵分解相关的方法。

Speaker 0

所以 in the end 就是因为这段经历之后,这样是,也是为什么我们我们 kdd 可以拿到好的结果,因为后来要,如果说我们只是用一个方法的话,基本上我觉得还是不,并没有能够拿到一样的结果的。

所以 in the end 就是因为这段经历之后,这样是,也是为什么我们我们 kdd 可以拿到好的结果,因为后来要,如果说我们只是用一个方法的话,基本上我觉得还是不,并没有能够拿到一样的结果的。

Speaker 1

所以你从那两年。

所以你从那两年。

Speaker 1

你说有点失败的经历,你总结出来的一个以后要避免的失败的pattern是不能同时锁死要解决的问题和你想用的方法。

你说有点失败的经历,你总结出来的一个以后要避免的失败的pattern是不能同时锁死要解决的问题和你想用的方法。

Speaker 1

对,这样的错误你在未来的经历里面再也没有犯过了吗?

对,这样的错误你在未来的经历里面再也没有犯过了吗?

Speaker 0

基本上没有了。

基本上没有了。

Speaker 0

对,基本上没有了。

对,基本上没有了。

Speaker 0

对,但是其实回过头来看啊。

对,但是其实回过头来看啊。

Speaker 0

我觉得那半那一段经历是非常非常宝贵的,就是因为首先你去想要去做科研,很多时候你要做很难的问题,我觉得才会有意思啊。

我觉得那半那一段经历是非常非常宝贵的,就是因为首先你去想要去做科研,很多时候你要做很难的问题,我觉得才会有意思啊。

Speaker 0

很难的问题必然会意味着不确定性和。

很难的问题必然会意味着不确定性和。

Speaker 0

失败,然后。

失败,然后。

Speaker 0

再接下来的问题就是,嗯,你怎么样去接受失败?

再接下来的问题就是,嗯,你怎么样去接受失败?

Speaker 0

这个东西?

这个东西?

Speaker 0

或者说你怎么样去接受BE willing to take the risk,你愿意去冒险,去去做一个东西,对吧?

或者说你怎么样去接受BE willing to take the risk,你愿意去冒险,去去做一个东西,对吧?

Speaker 0

嗯,我觉得,因为我一开始的时候都是出车牛头不辣虎的自己去试嘛。

嗯,我觉得,因为我一开始的时候都是出车牛头不辣虎的自己去试嘛。

Speaker 0

然后试了之后,而且有很多失败的经历。

然后试了之后,而且有很多失败的经历。

Speaker 0

比如说我们第一年自己去高中打比赛的时候,我当时信心满满的,我在。

比如说我们第一年自己去高中打比赛的时候,我当时信心满满的,我在。

Speaker 0

我就是自己学习,对吧?

我就是自己学习,对吧?

Speaker 0

这个,然后然后这个 oj 也答过了,我可以直接觉得直接,高二的时候就觉得,哎,我一定可以能够能够拿下拿下好的名次,但是当时结果就是哎,只拿了二等奖,非常的,我记得当时当时看到结果时候还蛮伤心的,ok。

这个,然后然后这个 oj 也答过了,我可以直接觉得直接,高二的时候就觉得,哎,我一定可以能够能够拿下拿下好的名次,但是当时结果就是哎,只拿了二等奖,非常的,我记得当时当时看到结果时候还蛮伤心的,ok。

Speaker 0

然后在大学的时候。

然后在大学的时候。

Speaker 0

其实很多时候也是这样的,就是有的时候因为去尝试挑战之后,比如说是是我们做编译器的时候。

其实很多时候也是这样的,就是有的时候因为去尝试挑战之后,比如说是是我们做编译器的时候。

Speaker 0

当时我们在做那个体系结构作业,我们做CPU,当时我就常说:诶,你是不是可以挑战一下?

当时我们在做那个体系结构作业,我们做CPU,当时我就常说:诶,你是不是可以挑战一下?

Speaker 0

我们在自己做的编译器跑在自己写的CPU上面。

我们在自己做的编译器跑在自己写的CPU上面。

Speaker 0

嗯,但是因为就一开始就分碰到不少问题,但是就是尝试去做了之后发现:诶,还是可以完成这件事情。

嗯,但是因为就一开始就分碰到不少问题,但是就是尝试去做了之后发现:诶,还是可以完成这件事情。

Speaker 0

而这个科研一开始的时候失败的经历,是让让我开始后来觉得说,我做了两年一件事情,很 delicate 做一件事情,他最后 turns out 不那么成功,但是或者说甚至甚至就是失败的,就是失败的经历,ok 但是呢,we are fine 就是我还是活得好好的,对吧?

而这个科研一开始的时候失败的经历,是让让我开始后来觉得说,我做了两年一件事情,很 delicate 做一件事情,他最后 turns out 不那么成功,但是或者说甚至甚至就是失败的,就是失败的经历,ok 但是呢,we are fine 就是我还是活得好好的,对吧?

Speaker 0

然后也没什么大不了的,这样只使得让我后面更敢放手去做事情。

然后也没什么大不了的,这样只使得让我后面更敢放手去做事情。

Speaker 0

因为我觉得说我可以接受我失败,就是就是我觉得这一点还蛮重要的。

因为我觉得说我可以接受我失败,就是就是我觉得这一点还蛮重要的。

Speaker 1

这个我觉得我听起来,如果你当时做的特别成功的话,反而有可能会形成某种路径依赖。

这个我觉得我听起来,如果你当时做的特别成功的话,反而有可能会形成某种路径依赖。

Speaker 1

对嗯。

对嗯。

Speaker 1

我看到你说你在 kdd 之后,你在去 u 大读博之前,你去香港待了一段时间。

我看到你说你在 kdd 之后,你在去 u 大读博之前,你去香港待了一段时间。

Speaker 1

然后在文章里面你说,去了香港之后,我开始明白之前失败的原因是研究事业。

然后在文章里面你说,去了香港之后,我开始明白之前失败的原因是研究事业。

Speaker 1

对,能不能跟我们讲讲香港发生了什么?

对,能不能跟我们讲讲香港发生了什么?

Speaker 1

你为什么你突然到了香港,意识到了这一点?

你为什么你突然到了香港,意识到了这一点?

Speaker 0

我感觉一开始自学啊,就是刚开始自学。

我感觉一开始自学啊,就是刚开始自学。

Speaker 0

呃,很容易获得的训练是你怎么样去解决一个问题,对吧?

呃,很容易获得的训练是你怎么样去解决一个问题,对吧?

Speaker 0

就比如说在你做课程设计的时候,呃,问题很简单,你要做大作业,对吧?

就比如说在你做课程设计的时候,呃,问题很简单,你要做大作业,对吧?

Speaker 0

你就就是你把这个目标很明确定下来了,我们去解决它。

你就就是你把这个目标很明确定下来了,我们去解决它。

Speaker 0

但是科研还有一个很重要的阶段,就是你怎么样去挑一个问题呢?

但是科研还有一个很重要的阶段,就是你怎么样去挑一个问题呢?

Speaker 0

要做什么问题,以及说你在解决问题的方法是什么。

要做什么问题,以及说你在解决问题的方法是什么。

Speaker 0

现在看来其实我们当时挑的问题还不赖的,解决IMAGE NET也是一个不赖的问题。

现在看来其实我们当时挑的问题还不赖的,解决IMAGE NET也是一个不赖的问题。

展开剩余字幕(还有 480 条)
Speaker 0

但是似乎在我一开始科研生涯中,我很少知道还有哪些问题我是可以解决的。

但是似乎在我一开始科研生涯中,我很少知道还有哪些问题我是可以解决的。

Speaker 0

就是,就是,就是。

就是,就是,就是。

Speaker 0

然后我记得一个契机是当时李航老师来APEX,他给了报告。

然后我记得一个契机是当时李航老师来APEX,他给了报告。

Speaker 0

因为在那之前啊,其实基本上我们还是处于是没有人带的状态,就是我自己在自己在摸索。

因为在那之前啊,其实基本上我们还是处于是没有人带的状态,就是我自己在自己在摸索。

Speaker 0

然后李航老师来了之后,他给了报告,他就讲说:诶,我在这个信息检索里面有这个问题,这个问题,这个问题,我们是这样解决,这样解决,这样解决。

然后李航老师来了之后,他给了报告,他就讲说:诶,我在这个信息检索里面有这个问题,这个问题,这个问题,我们是这样解决,这样解决,这样解决。

Speaker 0

然后我就发现说。

然后我就发现说。

Speaker 0

哎,好像这些问题我都能解决,而且我可以想出一些其他的方法。

哎,好像这些问题我都能解决,而且我可以想出一些其他的方法。

Speaker 0

原来世界上面还有这些其他问题,除了我在看这个问题。

原来世界上面还有这些其他问题,除了我在看这个问题。

Speaker 0

所以就是,于是当时就嗯,就是很兴奋,然后就跟了李航老师,也也很幸运能够得到李航老师和杨强老师的支持,去香港实习了这样一段时间。

所以就是,于是当时就嗯,就是很兴奋,然后就跟了李航老师,也也很幸运能够得到李航老师和杨强老师的支持,去香港实习了这样一段时间。

Speaker 0

然后在那个时候我就开始知道说,哎,我们可以去看哪些问题。

然后在那个时候我就开始知道说,哎,我们可以去看哪些问题。

Speaker 0

可以去解决。

可以去解决。

Speaker 0

所以就是我觉得这个是一个非常大的转变,在这个地方。

所以就是我觉得这个是一个非常大的转变,在这个地方。

Speaker 0

对。

对。

Speaker 1

所以以前那两年就盯着 imagenet,盯着 classification,然后突然意识到还有外面很广阔的天地。

所以以前那两年就盯着 imagenet,盯着 classification,然后突然意识到还有外面很广阔的天地。

Speaker 1

对。

对。

Speaker 1

但是你当时能够意识到,哇,原来很多他们的问题,我都脑子里有方法,有其他的方法。

但是你当时能够意识到,哇,原来很多他们的问题,我都脑子里有方法,有其他的方法。

Speaker 1

其实还是你那两年可能有很多内功的修炼。

其实还是你那两年可能有很多内功的修炼。

Speaker 0

对。

对。

Speaker 0

就我觉得说,其实很多时候我觉得可能我的路径会不太一样,因为很多时候现在看很多的同学,其实大家都是可能先知道有很多的问题,然后再开始去。

就我觉得说,其实很多时候我觉得可能我的路径会不太一样,因为很多时候现在看很多的同学,其实大家都是可能先知道有很多的问题,然后再开始去。

Speaker 0

去想尝试去学习方法和和基础的打磨,对吧?

去想尝试去学习方法和和基础的打磨,对吧?

Speaker 0

反倒我觉得说其实还是得益于原来的训练,使得说我们有方法和基础的打磨,使得说哎,有问题来了之后,我们可以可以上。

反倒我觉得说其实还是得益于原来的训练,使得说我们有方法和基础的打磨,使得说哎,有问题来了之后,我们可以可以上。

Speaker 0

嗯。

嗯。

Speaker 1

你觉得现在十多年过去了,你对研究事业有没有什么新的感悟?

你觉得现在十多年过去了,你对研究事业有没有什么新的感悟?

Speaker 0

我觉得从刚开始科研的时候,其实目的还是蛮单纯的。

我觉得从刚开始科研的时候,其实目的还是蛮单纯的。

Speaker 0

我们想先发一篇论文对吧?

我们想先发一篇论文对吧?

Speaker 0

然后来能够就是到后来,其实我觉得比较更多的形成的是自己想要做什么样的研究。

然后来能够就是到后来,其实我觉得比较更多的形成的是自己想要做什么样的研究。

Speaker 0

就是因为世界上面有很多东西你可以选择嘛,就是你可以你可以选择做这个问题或者做那个问题。

就是因为世界上面有很多东西你可以选择嘛,就是你可以你可以选择做这个问题或者做那个问题。

Speaker 0

然后我觉得可能不太一样。

然后我觉得可能不太一样。

Speaker 0

现在就是几年之后,接下来。

现在就是几年之后,接下来。

Speaker 0

每个人都会有自己的 research taste 那就是我们想要做什么样的研究。

每个人都会有自己的 research taste 那就是我们想要做什么样的研究。

Speaker 0

这个是我觉得是可能跟 i 比起来稍微有点那么一样的。

这个是我觉得是可能跟 i 比起来稍微有点那么一样的。

Speaker 1

你现在慢慢形成的 research taste 是什么?

你现在慢慢形成的 research taste 是什么?

Speaker 0

我觉得首先我意识到一个非常明确的就是,世界上面有不同的 research style 有两种研究方式,对吧?

我觉得首先我意识到一个非常明确的就是,世界上面有不同的 research style 有两种研究方式,对吧?

Speaker 0

有的是从方法出发,我成为一个方向的泰斗。

有的是从方法出发,我成为一个方向的泰斗。

Speaker 0

去这个,并且我可以把我的方法用在各种各样的地方。

去这个,并且我可以把我的方法用在各种各样的地方。

Speaker 0

另外一个方方法就是,我对某一类问题感兴趣,我可以尝试用不同的方法去解决它。

另外一个方方法就是,我对某一类问题感兴趣,我可以尝试用不同的方法去解决它。

Speaker 0

至少我让我几年的经验中让我意识到,我是属于后者,就是我对于实际上面能够让……就就好像我一开始的时候,我想要能够。

至少我让我几年的经验中让我意识到,我是属于后者,就是我对于实际上面能够让……就就好像我一开始的时候,我想要能够。

Speaker 0

就比如说能够自己做游戏的,也是说希望能够创造一些东西,创造这个,就做做机器学习也是这样,就创造智能,创造东西,是一个原始的 motivation。

就比如说能够自己做游戏的,也是说希望能够创造一些东西,创造这个,就做做机器学习也是这样,就创造智能,创造东西,是一个原始的 motivation。

Speaker 0

然后基于这一点,我就意识到我们可能不太能够一直挑做什么方法。

然后基于这一点,我就意识到我们可能不太能够一直挑做什么方法。

Speaker 0

并且,而且让我开始做经济学之后,我发现了很多时候我的瓶颈其实来自于这个,你能不能把东西 scale up,就是跑得大,跑得快,对吧?

并且,而且让我开始做经济学之后,我发现了很多时候我的瓶颈其实来自于这个,你能不能把东西 scale up,就是跑得大,跑得快,对吧?

Speaker 0

就是我记得非常清楚的是,当时在 imagine,就是刚 break through 的时候。

就是我记得非常清楚的是,当时在 imagine,就是刚 break through 的时候。

Speaker 0

我和我的导师,还大家大家也都会觉得说,哎,他到底是为什么?

我和我的导师,还大家大家也都会觉得说,哎,他到底是为什么?

Speaker 0

是因为神经网络吗?

是因为神经网络吗?

Speaker 0

就是当时我们觉得可能他不一定是因为神经网络,或许他的因为原因是因为你有一个比较大的 hypothesis space,以及你有大量的数据可以 scale up。

就是当时我们觉得可能他不一定是因为神经网络,或许他的因为原因是因为你有一个比较大的 hypothesis space,以及你有大量的数据可以 scale up。

Speaker 0

Turns out we are partly right maybe 神经网络还是很重要,因为它有很大的这个参数空间在这个地方。

Turns out we are partly right maybe 神经网络还是很重要,因为它有很大的这个参数空间在这个地方。

Speaker 0

但是当时我们就觉得说,我们能不能 challenge 下这个 hypothesis?

但是当时我们就觉得说,我们能不能 challenge 下这个 hypothesis?

Speaker 0

就是如果说你可以把大量的数据用到其他的模型类型里面,比如说当时我觉得我的偏点是因为我之前做KDD,我觉得树模型很强。

就是如果说你可以把大量的数据用到其他的模型类型里面,比如说当时我觉得我的偏点是因为我之前做KDD,我觉得树模型很强。

Speaker 0

我们能不能做树模型?

我们能不能做树模型?

Speaker 0

然后我的导师他觉得诶,能不能做KERNEL METHOD呢?

然后我的导师他觉得诶,能不能做KERNEL METHOD呢?

Speaker 0

最后最后我还是觉得树模型比较好,我就就选了树模型这条路,然后。

最后最后我还是觉得树模型比较好,我就就选了树模型这条路,然后。

Speaker 0

诶,当时发现很大的瓶颈就是在系统。

诶,当时发现很大的瓶颈就是在系统。

Speaker 0

就是我们在做数模型的时候,嗯,我我想要做的模型。

就是我们在做数模型的时候,嗯,我我想要做的模型。

Speaker 0

现有的东西都算算的不够快,所以就让我意识到这一点之后,其实现在这这不是一个很很 controversial 的观点,对吧?

现有的东西都算算的不够快,所以就让我意识到这一点之后,其实现在这这不是一个很很 controversial 的观点,对吧?

Speaker 0

现在大家都知道说,其实人工智能本身它是依赖于。

现在大家都知道说,其实人工智能本身它是依赖于。

Speaker 0

这个数据和算力以及算法,对吧?

这个数据和算力以及算法,对吧?

Speaker 0

比如就可能在我们刚开始做机器学习的时候,大部分的关注点都在算法上面。

比如就可能在我们刚开始做机器学习的时候,大部分的关注点都在算法上面。

Speaker 0

所以当时就是从问题出发角度,就觉得说 ok 系统是一个瓶颈。

所以当时就是从问题出发角度,就觉得说 ok 系统是一个瓶颈。

Speaker 0

我又不太喜欢一个问题被一个瓶颈就直接卡住,我就不能继续做下面的东西了。

我又不太喜欢一个问题被一个瓶颈就直接卡住,我就不能继续做下面的东西了。

Speaker 0

所以我就想说,ok 我们要不要来解决它?

所以我就想说,ok 我们要不要来解决它?

Speaker 0

就就逐渐逐渐就开始让我做机器学习系统。

就就逐渐逐渐就开始让我做机器学习系统。

Speaker 1

这应该就是 xgboost 对,最开始诞生的背后的故事。

这应该就是 xgboost 对,最开始诞生的背后的故事。

Speaker 1

所以你在香港之,香港那段实习时候,你就来到了 u dub do phd。

所以你在香港之,香港那段实习时候,你就来到了 u dub do phd。

Speaker 1

然后你应该当时同时也有 cmu 的 phd offer 是的是的。

然后你应该当时同时也有 cmu 的 phd offer 是的是的。

Speaker 1

怎么去了 u of u 那很很。

怎么去了 u of u 那很很。

Speaker 0

原因很简单,就是我因为我想跟 carlos 我的导师,就是当时我同时 apply 了。

原因很简单,就是我因为我想跟 carlos 我的导师,就是当时我同时 apply 了。

Speaker 0

其实 apply 比较 broadly 就是当时,能来 cmu 其实原因也是因为,就是 carlos 他有一个 postdoc 叫 danny 就是他现在还还在 israel 做那个 startup 就是,就我当时我做了那个推荐系统嘛。

其实 apply 比较 broadly 就是当时,能来 cmu 其实原因也是因为,就是 carlos 他有一个 postdoc 叫 danny 就是他现在还还在 israel 做那个 startup 就是,就我当时我做了那个推荐系统嘛。

Speaker 0

然后我们当时做了一个开源的项目,叫SVD FEATURE,就是就是做这个呃矩阵分解。

然后我们当时做了一个开源的项目,叫SVD FEATURE,就是就是做这个呃矩阵分解。

Speaker 0

然后DANNY他找到了我说:诶,你这个东西挺有趣的,我们是不是可以来?

然后DANNY他找到了我说:诶,你这个东西挺有趣的,我们是不是可以来?

Speaker 0

就是当时去他的博客做了一个简单的访谈,关于这个这个东西。

就是当时去他的博客做了一个简单的访谈,关于这个这个东西。

Speaker 0

然后他就把我推荐给了这个CARLOS和ALEX,就是当时SMALLA,他也是刚来这个CMU铃木的了,对铃木的导师对。

然后他就把我推荐给了这个CARLOS和ALEX,就是当时SMALLA,他也是刚来这个CMU铃木的了,对铃木的导师对。

Speaker 0

所以就是就是后来就是因为我想要去跟卡,呃,跟卡洛斯,就是选择了去 washington 对。

所以就是就是后来就是因为我想要去跟卡,呃,跟卡洛斯,就是选择了去 washington 对。

Speaker 1

所以现在你回看本科或者硕士那个阶段,你会是希望给当时的自己有什么建议?

所以现在你回看本科或者硕士那个阶段,你会是希望给当时的自己有什么建议?

Speaker 1

你会有希望有哪些信息,如果当时知道的话就好了。

你会有希望有哪些信息,如果当时知道的话就好了。

Speaker 0

我觉得很重要的一点,应该是本身科研的视野和这个叫什么?

我觉得很重要的一点,应该是本身科研的视野和这个叫什么?

Speaker 0

就是就和这个,就是你要同时这很明很明白,你要能够不能同时挑问题和方法。

就是就和这个,就是你要同时这很明很明白,你要能够不能同时挑问题和方法。

Speaker 0

这个是我觉得 I WISH I KNEW EARLIER。

这个是我觉得 I WISH I KNEW EARLIER。

Speaker 0

嗯,但是反过来说。

嗯,但是反过来说。

Speaker 0

就现在的我来说,i wish i don't know them。

就现在的我来说,i wish i don't know them。

Speaker 0

原因是因为我觉得可能人生总是要经历一些磨练,因为。

原因是因为我觉得可能人生总是要经历一些磨练,因为。

Speaker 0

只有通过了这些磨练之后,可能可以让你有契机可以未来可以更大胆的去做一些事情。

只有通过了这些磨练之后,可能可以让你有契机可以未来可以更大胆的去做一些事情。

Speaker 0

我觉得只是或早或晚的时候,我觉得可能可能是这样子。

我觉得只是或早或晚的时候,我觉得可能可能是这样子。

Speaker 1

所以这叫什么吃亏要趁早。

所以这叫什么吃亏要趁早。

Speaker 0

maybe 好.

maybe 好.

Speaker 1

那我们就聊你博士期间,博士期间我觉得有四个项目。

那我们就聊你博士期间,博士期间我觉得有四个项目。

Speaker 1

第一个,超级 boost 刚刚你其实你已经引入了,为什么当时要做超级 boost 是因为你和你的导师想要 challenge 为什么?

第一个,超级 boost 刚刚你其实你已经引入了,为什么当时要做超级 boost 是因为你和你的导师想要 challenge 为什么?

Speaker 1

Deep learning work 对,xg boost 可以说是一个从一个挑战挑战假说的系统,成长为现在非常受欢迎的开源项目。

Deep learning work 对,xg boost 可以说是一个从一个挑战挑战假说的系统,成长为现在非常受欢迎的开源项目。

Speaker 1

至今,我昨天晚上看引用引用数量已经接近7万了。

至今,我昨天晚上看引用引用数量已经接近7万了。

Speaker 1

你觉得 xg boost 成功的关键原因是什么?

你觉得 xg boost 成功的关键原因是什么?

Speaker 1

为什么会这么受欢迎?

为什么会这么受欢迎?

Speaker 0

其实现在看来,我觉得很重要的一点是,一。

其实现在看来,我觉得很重要的一点是,一。

Speaker 0

我当时就是,其实我觉得这一点是也是A三班的经历教会我们的,就做一件事情要做到极致。

我当时就是,其实我觉得这一点是也是A三班的经历教会我们的,就做一件事情要做到极致。

Speaker 0

我觉得这一点非常非常重要,做一件事情要做到极致。

我觉得这一点非常非常重要,做一件事情要做到极致。

Speaker 0

然后所以当时因为这个契机,我们开始做了这件事情之后,我就当时就想了各种各样的方法去看我们能不能让他尽量的快一点。

然后所以当时因为这个契机,我们开始做了这件事情之后,我就当时就想了各种各样的方法去看我们能不能让他尽量的快一点。

Speaker 0

再快一点,嗯,就是,所以说其实 tensorflow 当我们发布的时候,它是世界上最快的能够做这个 gradient boosting 这个方法的这个东西,然后另外一个是说因为我自己是做算法研究的。

再快一点,嗯,就是,所以说其实 tensorflow 当我们发布的时候,它是世界上最快的能够做这个 gradient boosting 这个方法的这个东西,然后另外一个是说因为我自己是做算法研究的。

Speaker 0

所以说差距BOOST本身里面也会有一些很细节上面的算法,但是它可以让他这个对于很多问题WORK OUT OF BOX。

所以说差距BOOST本身里面也会有一些很细节上面的算法,但是它可以让他这个对于很多问题WORK OUT OF BOX。

Speaker 0

比如说呃,它有一个非常重要的特性,就是在很多机器学习时候啊,它会经常会有一些MISSING VALUE,就是比如说我我依赖于我的一个人的数据,他可能他不会告诉你说我的年龄或者是性别或者其他信息。

比如说呃,它有一个非常重要的特性,就是在很多机器学习时候啊,它会经常会有一些MISSING VALUE,就是比如说我我依赖于我的一个人的数据,他可能他不会告诉你说我的年龄或者是性别或者其他信息。

Speaker 0

在传统的机器学习方法里面,大家做的事情是你要先做数据清理,把这些 missing value 先,比如说用 medium 就用中值或者其他东西代替,对吧?

在传统的机器学习方法里面,大家做的事情是你要先做数据清理,把这些 missing value 先,比如说用 medium 就用中值或者其他东西代替,对吧?

Speaker 0

但是当时我就觉得说其实你完全可以让模型自己去猜,它要怎么样去解决 missing value 这件事情。

但是当时我就觉得说其实你完全可以让模型自己去猜,它要怎么样去解决 missing value 这件事情。

Speaker 0

所以在差距 boost 里面,它是有这个 building 的,就是说如果说你一个 value 是 missing,它会根据它历史的这个 missing value 的 pattern 来自己决定你到底是要怎么样去 categorize 这个东西。

所以在差距 boost 里面,它是有这个 building 的,就是说如果说你一个 value 是 missing,它会根据它历史的这个 missing value 的 pattern 来自己决定你到底是要怎么样去 categorize 这个东西。

Speaker 0

Turns out 其实这个东西非常非常受欢迎,因为大家都不想要自己去解决 missing value。

Turns out 其实这个东西非常非常受欢迎,因为大家都不想要自己去解决 missing value。

Speaker 0

嗯,对,就是,就所以说,因为我们把一个东西做到极致,并且能够使得我,我觉得这一点是第一次让我觉得说你需要能够去看一个垂直的问题,就是你要知道说。

嗯,对,就是,就所以说,因为我们把一个东西做到极致,并且能够使得我,我觉得这一点是第一次让我觉得说你需要能够去看一个垂直的问题,就是你要知道说。

Speaker 0

如果说你要做一个拒绝系统,你只做算法或者只做系统,都是不能够完全获得成功的。

如果说你要做一个拒绝系统,你只做算法或者只做系统,都是不能够完全获得成功的。

Speaker 0

我觉得就一定是要能够知道说我们要有能力知道说这个算法本身可以怎么样往前进,并且系统可以怎么样做,对吧?

我觉得就一定是要能够知道说我们要有能力知道说这个算法本身可以怎么样往前进,并且系统可以怎么样做,对吧?

Speaker 0

就是这个是一个原因。

就是这个是一个原因。

Speaker 0

然后第二原因,我觉得很大的程度来自于社区的力量。

然后第二原因,我觉得很大的程度来自于社区的力量。

Speaker 0

就是因为其实 action boost 到后面,包括现在的主要的维护已经不是我了,包括是其是其他的,当时的,其实有一个我的学弟在有大本,他他一直在维护这个相关的项目,他现在有 video 就是这个,其实社区的力量非常非常重要,就是因为它可以让我们看到说这个。

就是因为其实 action boost 到后面,包括现在的主要的维护已经不是我了,包括是其是其他的,当时的,其实有一个我的学弟在有大本,他他一直在维护这个相关的项目,他现在有 video 就是这个,其实社区的力量非常非常重要,就是因为它可以让我们看到说这个。

Speaker 0

比如说我们当时记得很清楚的是,我们在R里面有一个包是做这个呃,这个就VISUALIZATION。

比如说我们当时记得很清楚的是,我们在R里面有一个包是做这个呃,这个就VISUALIZATION。

Speaker 0

就它会去可视化你学习的数到底是怎么。

就它会去可视化你学习的数到底是怎么。

Speaker 0

它是一个当时来自于法国的律师贡献的,叫MICHAEL。

它是一个当时来自于法国的律师贡献的,叫MICHAEL。

Speaker 0

然后他是就是他他比如说我要用这个东西去学习这个大家做呃TEXT,它叫DETECT TEXT FRAUD,就是你在交税的时候会不会就是有这个。

然后他是就是他他比如说我要用这个东西去学习这个大家做呃TEXT,它叫DETECT TEXT FRAUD,就是你在交税的时候会不会就是有这个。

Speaker 0

有这个treat的情况,所以说这个时候他就说他就贡献了这个东西啊。

有这个treat的情况,所以说这个时候他就说他就贡献了这个东西啊。

Speaker 0

他现在他已经开始转行做数据和数据深度学习和和法律了,但是他turns out这个。

他现在他已经开始转行做数据和数据深度学习和和法律了,但是他turns out这个。

Speaker 1

也可以做律师了。

也可以做律师了。

Speaker 0

已经他应该还是在做类似于法务和机器学习相关的东西。

已经他应该还是在做类似于法务和机器学习相关的东西。

Speaker 0

对,但是就是就那个使得说就是其实很多时候都是因为社区的贡献,大家可以使得这个项目可以成长起来。

对,但是就是就那个使得说就是其实很多时候都是因为社区的贡献,大家可以使得这个项目可以成长起来。

Speaker 0

然后第三个,我觉得其实是我们。

然后第三个,我觉得其实是我们。

Speaker 0

非常的专注。

非常的专注。

Speaker 0

我其实我们做的第一个项目就是那个SVD FEATURE,是一个就现在已经没有人知道了。

我其实我们做的第一个项目就是那个SVD FEATURE,是一个就现在已经没有人知道了。

Speaker 0

就是就是我们在交大做了一个项目,其实那个项目其实也还行,因为我们实验室相当于是实验室主传代码用了用了用了用了几代,就是我们的做这个矩阵分解和推荐系统都用它。

就是就是我们在交大做了一个项目,其实那个项目其实也还行,因为我们实验室相当于是实验室主传代码用了用了用了用了几代,就是我们的做这个矩阵分解和推荐系统都用它。

Speaker 0

当时这个项目就是一个非常大而全的工具,有一个 config file,config file 里面有大概二三十个这样的 configuration,你可以写一写了,后来那个。

当时这个项目就是一个非常大而全的工具,有一个 config file,config file 里面有大概二三十个这样的 configuration,你可以写一写了,后来那个。

Speaker 0

但是后来就是我发现其实对于,包括其实当时同期啊,对 activity,它会有一个包,现在很 popular,叫 circular,它也是非常全的一个项目。

但是后来就是我发现其实对于,包括其实当时同期啊,对 activity,它会有一个包,现在很 popular,叫 circular,它也是非常全的一个项目。

Speaker 0

但是我觉得其实说对于很多时候嗯。

但是我觉得其实说对于很多时候嗯。

Speaker 0

对于一个小团队,甚至个人的话,会需要非常专注把一件事情做好。

对于一个小团队,甚至个人的话,会需要非常专注把一件事情做好。

Speaker 0

就比如 action boost,就是我们就做了一个一个算法,然后就是把这一个算法做好,做到极致。

就比如 action boost,就是我们就做了一个一个算法,然后就是把这一个算法做好,做到极致。

Speaker 0

这样子的话,我觉得它相对来说可以比较容易的获得成功。

这样子的话,我觉得它相对来说可以比较容易的获得成功。

Speaker 1

一是机制,二是社区,三是专注。

一是机制,二是社区,三是专注。

Speaker 1

对。

对。

Speaker 1

啊,我还有一个点,你好像没有在任何地方讲过,就是当时你的导师想让你是 kernel methods,让你觉得你像是 tree base methods,所以你是有自己的坚持的。

啊,我还有一个点,你好像没有在任何地方讲过,就是当时你的导师想让你是 kernel methods,让你觉得你像是 tree base methods,所以你是有自己的坚持的。

Speaker 1

当时他也没法说服你,反正你就自己去试了,是吧?

当时他也没法说服你,反正你就自己去试了,是吧?

Speaker 1

对,是这样的。

对,是这样的。

Speaker 1

这是你一直的 style,就是。

这是你一直的 style,就是。

Speaker 0

对,就是。

对,就是。

Speaker 0

我觉得是我非常感谢我的导师,他给了我非常大的自由度,在这个地方。

我觉得是我非常感谢我的导师,他给了我非常大的自由度,在这个地方。

Speaker 0

对,就是说而且其实就就也是有原因的,因为我们当时做全面做 kdd cup,我们做第二年的时候,我们的那个 winning method 就是一个矩阵分解和 tree base method 的一个混合模型。

对,就是说而且其实就就也是有原因的,因为我们当时做全面做 kdd cup,我们做第二年的时候,我们的那个 winning method 就是一个矩阵分解和 tree base method 的一个混合模型。

Speaker 0

当时我就意识到说 tree base method 它有它的非常强大的特性。

当时我就意识到说 tree base method 它有它的非常强大的特性。

Speaker 0

所以这是为什么我当时就一直保持对去 base space 会比较非常有兴趣的原因。

所以这是为什么我当时就一直保持对去 base space 会比较非常有兴趣的原因。

Speaker 0

在这里。

在这里。

Speaker 1

但是其实差 g boss 的论文是第三年才开始写的。

但是其实差 g boss 的论文是第三年才开始写的。

Speaker 1

是的,是的。

是的,是的。

Speaker 1

你提到 carlos 当时说我们写一篇让读者可以学到东西的文章。

你提到 carlos 当时说我们写一篇让读者可以学到东西的文章。

Speaker 1

其实我觉得我觉得这个很有意思,因为其实大部分的论文的写法是优化自己的中稿率。

其实我觉得我觉得这个很有意思,因为其实大部分的论文的写法是优化自己的中稿率。

Speaker 1

嗯,所以当时你已经觉得我应该 focus on more important thing 是有这样的感觉吗?

嗯,所以当时你已经觉得我应该 focus on more important thing 是有这样的感觉吗?

Speaker 0

卡洛斯对我们要求是非常高的,就是基本上我记得刚第一次见面的时候,他就说 you should write the best paper or what paper 就是基本上就是这样子。

卡洛斯对我们要求是非常高的,就是基本上我记得刚第一次见面的时候,他就说 you should write the best paper or what paper 就是基本上就是这样子。

Speaker 0

所以说相对来说。

所以说相对来说。

Speaker 0

可能是得益于他的那样的 style 并且还有一个就是我们刚进实验室的时候,一个很明确的 feedback 就包括来自于实验室的其他学长,就是说我们实验室有 no beamer,only point point policy。

可能是得益于他的那样的 style 并且还有一个就是我们刚进实验室的时候,一个很明确的 feedback 就包括来自于实验室的其他学长,就是说我们实验室有 no beamer,only point point policy。

Speaker 0

就你在做 slide 的时候,就是我原来,就是原来你可以做 latex beamer,对吧?

就你在做 slide 的时候,就是我原来,就是原来你可以做 latex beamer,对吧?

Speaker 0

就是就是基本上他会有很强的要求,说你做 presentation 的时候需要能够。

就是就是基本上他会有很强的要求,说你做 presentation 的时候需要能够。

Speaker 0

用 visual,用用你的视视图,对吧,来让大家能够很快的学会你做的东西。

用 visual,用用你的视视图,对吧,来让大家能够很快的学会你做的东西。

Speaker 0

所以这一点其实是我觉得对我们是非常受益匪浅的。

所以这一点其实是我觉得对我们是非常受益匪浅的。

Speaker 0

而且特斯拉,其实卡洛斯你会发现他的研究 style,就是他很容易做出他会做非常不同多不同发现,其实在同期,action booth 同期同一年,kde 上面有另外一篇论文。

而且特斯拉,其实卡洛斯你会发现他的研究 style,就是他很容易做出他会做非常不同多不同发现,其实在同期,action booth 同期同一年,kde 上面有另外一篇论文。

Speaker 0

叫 lime,就是 explainable machine learning 它其实是开创了可解释机器学习这个方向,这一整个领域,就是,而且那个论文引用率也非常非常高。

叫 lime,就是 explainable machine learning 它其实是开创了可解释机器学习这个方向,这一整个领域,就是,而且那个论文引用率也非常非常高。

Speaker 0

就是就是我另外一个,这个 lab 叫 marko,他做的这个东西,就是你会发现他会特别喜欢。

就是就是我另外一个,这个 lab 叫 marko,他做的这个东西,就是你会发现他会特别喜欢。

Speaker 0

尝试去做一些工作,能够开创那个领域。

尝试去做一些工作,能够开创那个领域。

Speaker 0

并且并且很多时候,这个时候你会发现,你其实是需要能够去让更多的人能够获得学习到你的思想。

并且并且很多时候,这个时候你会发现,你其实是需要能够去让更多的人能够获得学习到你的思想。

Speaker 0

in some sense you want to write a paper you are proud of.

in some sense you want to write a paper you are proud of.

Speaker 1

所以当时做 xgboost 的时候,有预料到未来会这么成功,这么受欢迎。

所以当时做 xgboost 的时候,有预料到未来会这么成功,这么受欢迎。

Speaker 0

并没有并没有,对。

并没有并没有,对。

Speaker 1

所以当时就觉得是一个 ok,之前做过,可能和之前的 project 差不多,没有想到会这样引起轰动,然后长长这么长的时间,大家还这么欢迎。

所以当时就觉得是一个 ok,之前做过,可能和之前的 project 差不多,没有想到会这样引起轰动,然后长长这么长的时间,大家还这么欢迎。

Speaker 0

对对对,当时就是纯粹就是一,我们觉得我们做的还行,第二个我觉得当时已经有 github 了,就是尝试开源。

对对对,当时就是纯粹就是一,我们觉得我们做的还行,第二个我觉得当时已经有 github 了,就是尝试开源。

Speaker 0

嗯,我觉得这个挺好玩的,就就才开始尝试做这个事情。

嗯,我觉得这个挺好玩的,就就才开始尝试做这个事情。

Speaker 1

茶几部署,我最后想问你就是。

茶几部署,我最后想问你就是。

Speaker 1

嗯,你刚刚说你们当时的判断 PARTLY RIGHT,其实也 IN SOME SENSE PARTLY WRONG。

嗯,你刚刚说你们当时的判断 PARTLY RIGHT,其实也 IN SOME SENSE PARTLY WRONG。

Speaker 1

对,因为时至今日,呃,NEURAL NETWORK已经 DOMINATE了。

对,因为时至今日,呃,NEURAL NETWORK已经 DOMINATE了。

Speaker 1

我相信在一些 TABLE DATA上,呃,还是有呃其他的方法的作用,但是大部分的场景还是 NEURAL NETWORK。

我相信在一些 TABLE DATA上,呃,还是有呃其他的方法的作用,但是大部分的场景还是 NEURAL NETWORK。

Speaker 1

嗯,我我其实比较好奇,十多年后来反思,呃,IN SOME SENSE,你和你的导师当时都错了,你觉得?

嗯,我我其实比较好奇,十多年后来反思,呃,IN SOME SENSE,你和你的导师当时都错了,你觉得?

Speaker 1

当时是怎么认知的?

当时是怎么认知的?

Speaker 1

当时的认知存在哪些局限性?

当时的认知存在哪些局限性?

Speaker 1

呃,当时的判断哪些部分正确,哪些部分错误,又有什么部分时至今日都是,甚至是正确的。

呃,当时的判断哪些部分正确,哪些部分错误,又有什么部分时至今日都是,甚至是正确的。

Speaker 0

首先我觉得当时有一个判断我们是正确的是什么呢?

首先我觉得当时有一个判断我们是正确的是什么呢?

Speaker 0

模型的 capacity 不应该受限制。

模型的 capacity 不应该受限制。

Speaker 0

我们之所以选择树模型的原因很简单,因为树模型你可以 arbitrary grow。

我们之所以选择树模型的原因很简单,因为树模型你可以 arbitrary grow。

Speaker 0

如果说你,就是一般的模型呢,你就是限定参数个数。

如果说你,就是一般的模型呢,你就是限定参数个数。

Speaker 0

比如说我一个 linear regression 100个参数,它就是100个参数,你不能 arbitrary grow。

比如说我一个 linear regression 100个参数,它就是100个参数,你不能 arbitrary grow。

Speaker 0

树模型它一个很很强的特性是,你可以随着你的数据量它可以 arbitrary grow 这个 depth,对吧?

树模型它一个很很强的特性是,你可以随着你的数据量它可以 arbitrary grow 这个 depth,对吧?

Speaker 0

这个特性非常强。

这个特性非常强。

Speaker 0

呃,当时我们觉得,首先我们当时并没有觉得神经网络。

呃,当时我们觉得,首先我们当时并没有觉得神经网络。

Speaker 0

不不能做到这一点,因为神经网络 turns out 但是让我一开始有点,最后有点 surprise 的一点是,神经网络本身它是通过一种另外更暴力的方法来实现这个东西,就是我不尝试去 grow 我的 parameter space,而是我直接就把我的 parameter space 一开始就设的非常大。

不不能做到这一点,因为神经网络 turns out 但是让我一开始有点,最后有点 surprise 的一点是,神经网络本身它是通过一种另外更暴力的方法来实现这个东西,就是我不尝试去 grow 我的 parameter space,而是我直接就把我的 parameter space 一开始就设的非常大。

Speaker 0

啊,这个是一个有一点SURPRISE的地方。

啊,这个是一个有一点SURPRISE的地方。

Speaker 0

但是我觉得当时就是数模型本身有这个特性,这也是为什么没有选KERNEL METHOD的原因。

但是我觉得当时就是数模型本身有这个特性,这也是为什么没有选KERNEL METHOD的原因。

Speaker 0

因为KERNEL METHOD我觉得它并不完全具备这个特性。

因为KERNEL METHOD我觉得它并不完全具备这个特性。

Speaker 0

当然虽然说NONPARAMETRIC,它的确也可以GROW WITH THE WITH THE这个这个数据的量,但是它没有数模型这个特性,在这个地方。

当然虽然说NONPARAMETRIC,它的确也可以GROW WITH THE WITH THE这个这个数据的量,但是它没有数模型这个特性,在这个地方。

Speaker 0

然后,而且我觉得当时我们对树模型有一个判断是正确的,就是说其实它在tabular data上面,它还是非常的强悍。

然后,而且我觉得当时我们对树模型有一个判断是正确的,就是说其实它在tabular data上面,它还是非常的强悍。

Speaker 0

至少至少在现在,你在tabular和tom series上面out of box的模型,其实树模型基本上几乎还是大家的go to tools。

至少至少在现在,你在tabular和tom series上面out of box的模型,其实树模型基本上几乎还是大家的go to tools。

Speaker 0

原因也是因为它可以通过切割和组合去做到,其实一般的模型包括神经网络比较难。

原因也是因为它可以通过切割和组合去做到,其实一般的模型包括神经网络比较难。

Speaker 0

很直接做到的事情,就是。

很直接做到的事情,就是。

Speaker 0

所以这一点我觉得是 something that i think we kind of did right。

所以这一点我觉得是 something that i think we kind of did right。

Speaker 0

我觉得可能没有意料到的,相对来说没有意料到这一点。

我觉得可能没有意料到的,相对来说没有意料到这一点。

Speaker 0

就是后来,that also become obvious,是是其实神经网络它的另外一个非常强的特性,它的可组合特性啊。

就是后来,that also become obvious,是是其实神经网络它的另外一个非常强的特性,它的可组合特性啊。

Speaker 0

你可以会有这个不同的模块,像transformer block linear block,它们之间可以相互组合,然后。

你可以会有这个不同的模块,像transformer block linear block,它们之间可以相互组合,然后。

Speaker 0

使得说这个这个就是就是它的表达能力可以通过组合远远起可能更 compact 的去表示一些东西。

使得说这个这个就是就是它的表达能力可以通过组合远远起可能更 compact 的去表示一些东西。

Speaker 0

然后这个东西是相对来说,其实我们当时也知道这一点,比如说我们知道说卷积网络的确它可以表示,因为我之前就做了这个深度学习,我就就知道说它的确有这个能力。

然后这个东西是相对来说,其实我们当时也知道这一点,比如说我们知道说卷积网络的确它可以表示,因为我之前就做了这个深度学习,我就就知道说它的确有这个能力。

Speaker 0

但是我们当时只是尝试有这个 hypothesis 是说到底是这个模型的表示比较重要呢,还是数据量比较重要,对吧?

但是我们当时只是尝试有这个 hypothesis 是说到底是这个模型的表示比较重要呢,还是数据量比较重要,对吧?

Speaker 0

就尝试这个 hypothesis 看一看。

就尝试这个 hypothesis 看一看。

Speaker 0

所以就是当时是 that's motivated that project 对。

所以就是当时是 that's motivated that project 对。

Speaker 1

这是超级 boost 第二个项目,我想聊的是 mxnet。

这是超级 boost 第二个项目,我想聊的是 mxnet。

Speaker 1

能不能简单跟我们讲什么是 mxnet?

能不能简单跟我们讲什么是 mxnet?

Speaker 1

当时做 mxnet 的背景和动机是什么?

当时做 mxnet 的背景和动机是什么?

Speaker 0

对,其实 mxnet 之前还有一个前身叫 cxxnet,就是就是叫 cxxnet,就是原因也是因为这个。

对,其实 mxnet 之前还有一个前身叫 cxxnet,就是就是叫 cxxnet,就是原因也是因为这个。

Speaker 0

呃,我在进入到UW之后第二年,嗯,因为当时AlexNet已经出来了,AlexNet已经出来,然后就是其实这个我们就开始觉得说,哎,包括其实我们同组还有嗯,现在比较大家都知道YOLO,就Joe Redmond也是在我们的LabMate,就他也是在那个那个那段就是大学。

呃,我在进入到UW之后第二年,嗯,因为当时AlexNet已经出来了,AlexNet已经出来,然后就是其实这个我们就开始觉得说,哎,包括其实我们同组还有嗯,现在比较大家都知道YOLO,就Joe Redmond也是在我们的LabMate,就他也是在那个那个那段就是大学。

Speaker 0

其呃,应该是研究生之前做博士之前做了YOLO这个FRAMEWORK。

其呃,应该是研究生之前做博士之前做了YOLO这个FRAMEWORK。

Speaker 0

我们当时就觉得说OK,因为因为我原来有那段不那么成功的经历做深度学习,但是其实我心里一直对深度学习有很强的PASSION。

我们当时就觉得说OK,因为因为我原来有那段不那么成功的经历做深度学习,但是其实我心里一直对深度学习有很强的PASSION。

Speaker 0

然后发现ALEXNET诶成功了之后,我发现诶我也可以似乎似乎深度学习还真是比较正确的东西呢。

然后发现ALEXNET诶成功了之后,我发现诶我也可以似乎似乎深度学习还真是比较正确的东西呢。

Speaker 0

我们是不是还可以尝试一下?

我们是不是还可以尝试一下?

Speaker 0

所以说就是当时就通过把原来的研究生那段时间的不那么成功的经验,来去开始去重新做这样一套深度学习框架,叫 cxxnet 当时是和那个许斌,就是他现在在那 video。

所以说就是当时就通过把原来的研究生那段时间的不那么成功的经验,来去开始去重新做这样一套深度学习框架,叫 cxxnet 当时是和那个许斌,就是他现在在那 video。

Speaker 0

就我们开始做了第一个版本。

就我们开始做了第一个版本。

Speaker 0

当时其实我们做的时候,卡费就杨青已经把卡费已经 release 出来了。

当时其实我们做的时候,卡费就杨青已经把卡费已经 release 出来了。

Speaker 0

然后我们做 cxnet,我们当时是我们做了一个技术叫 expression template,就是通过模板编程,可以使得说你把这个,就是你做 update rule,就是比如说你做乘法和减法这些东西,它都可以压缩到一个模板里面去,然后生成一个内联的 gpu kernel 这样一个技术。

然后我们做 cxnet,我们当时是我们做了一个技术叫 expression template,就是通过模板编程,可以使得说你把这个,就是你做 update rule,就是比如说你做乘法和减法这些东西,它都可以压缩到一个模板里面去,然后生成一个内联的 gpu kernel 这样一个技术。

Speaker 0

然后当时我们觉得这个东西可以更简单的做这个。

然后当时我们觉得这个东西可以更简单的做这个。

Speaker 0

做这个深度学习框架,于是我们就做了这样一个东西。

做这个深度学习框架,于是我们就做了这样一个东西。

Speaker 0

然后,而且我们其实当时拿 cxnet 打了 kaggle,对对,kaggle 一开始出来时候有那个相,深度学习相关的东西。

然后,而且我们其实当时拿 cxnet 打了 kaggle,对对,kaggle 一开始出来时候有那个相,深度学习相关的东西。

Speaker 0

然后后来呢,我们做完 cxnet 之后同一年,其实呃张征老师,就 msi,他当时 msi 和敏捷他们做了一个项目叫 minerva。

然后后来呢,我们做完 cxnet 之后同一年,其实呃张征老师,就 msi,他当时 msi 和敏捷他们做了一个项目叫 minerva。

Speaker 0

是另外一个,就是当时其实蛮百花齐放,就大家都在尝试去看,说我们怎么样做深度学习框架,对吧?

是另外一个,就是当时其实蛮百花齐放,就大家都在尝试去看,说我们怎么样做深度学习框架,对吧?

Speaker 0

就是当时他们都很明亮,然后还有那个灵敏,就他现在在应该在新加坡。

就是当时他们都很明亮,然后还有那个灵敏,就他现在在应该在新加坡。

Speaker 0

他后就是他之前做了一个框架叫PERIOD。

他后就是他之前做了一个框架叫PERIOD。

Speaker 0

呃,还有就是当时这个木哥他们原来做这个呃,他是当时做PARAMETER SERVER嘛,就是做那个参数服务器。

呃,还有就是当时这个木哥他们原来做这个呃,他是当时做PARAMETER SERVER嘛,就是做那个参数服务器。

Speaker 0

然后也开始尝试要开始做深度学习。

然后也开始尝试要开始做深度学习。

Speaker 0

就是后来我也我也不是很记得,就怎么样能够大家就合在一起SOMEHOW。

就是后来我也我也不是很记得,就怎么样能够大家就合在一起SOMEHOW。

Speaker 0

还有就是那个池张池源,他当时在MIT,他当时拿JULIA写了一个。

还有就是那个池张池源,他当时在MIT,他当时拿JULIA写了一个。

Speaker 0

框架也是做这个,也是做这个叫做摩卡,就是就是也是在茱莉亚下面的一个什么东西框架。

框架也是做这个,也是做这个叫做摩卡,就是就是也是在茱莉亚下面的一个什么东西框架。

Speaker 0

对,然后当时就三炮,我们就可能是通过各种各样的契机就聚在了一起。

对,然后当时就三炮,我们就可能是通过各种各样的契机就聚在了一起。

Speaker 0

当时觉得哎,我们要不要一起来做一个项目,能够去吸收原来minerva的lesson?

当时觉得哎,我们要不要一起来做一个项目,能够去吸收原来minerva的lesson?

Speaker 0

minerva它有一些非常我觉得在现在还蛮先进的lesson,就是就是几乎就是类似于。

minerva它有一些非常我觉得在现在还蛮先进的lesson,就是就是几乎就是类似于。

Speaker 0

Python first 去做,因为当时那个那个,就是 cafe 的那个年代,大家都还是 c 加加核心的代码的 python first 的这个这个实现。

Python first 去做,因为当时那个那个,就是 cafe 的那个年代,大家都还是 c 加加核心的代码的 python first 的这个这个实现。

Speaker 0

然后并且就是我们当时说, ok,我们一起来做做看这个东西。

然后并且就是我们当时说, ok,我们一起来做做看这个东西。

Speaker 0

就是所以说核心 max 它做的事情,第一个是我们觉得说我们要用 python first 在 python 里面可以可以编写深度学习框架。

就是所以说核心 max 它做的事情,第一个是我们觉得说我们要用 python first 在 python 里面可以可以编写深度学习框架。

Speaker 0

第二个我们要自动调度,就是说你可以使得说你直接写。

第二个我们要自动调度,就是说你可以使得说你直接写。

Speaker 0

这个 forward backward 函数的时候,你在 python 里面直接写,但是它可以根据你的这个计算的依赖,可以来使得说你可以比如说你在多卡的时候可以并行,就是可以做 all reduce,它的通信可以和计算可以一起走,对吧?

这个 forward backward 函数的时候,你在 python 里面直接写,但是它可以根据你的这个计算的依赖,可以来使得说你可以比如说你在多卡的时候可以并行,就是可以做 all reduce,它的通信可以和计算可以一起走,对吧?

Speaker 0

就可以自动调度,然后。

就可以自动调度,然后。

Speaker 0

就是第三个就可以自动求导,就是因为它求导本身从这个深度学习的第一代框架卡贝它是就back propagation到这个第二代,就是通过计算图的自动求导。

就是第三个就可以自动求导,就是因为它求导本身从这个深度学习的第一代框架卡贝它是就back propagation到这个第二代,就是通过计算图的自动求导。

Speaker 0

这个东西其实非常不一样,它跨度什么对系统优化有非常大的改善。

这个东西其实非常不一样,它跨度什么对系统优化有非常大的改善。

Speaker 0

所以当时我们就决定一起来做这样一个项目,包括因为当时木哥他一直在做这个ps parameter server,也就需要有一个分布式的一个first class citizen,我们就开始ok。

所以当时我们就决定一起来做这样一个项目,包括因为当时木哥他一直在做这个ps parameter server,也就需要有一个分布式的一个first class citizen,我们就开始ok。

Speaker 0

我们可以一起来做这个东西。

我们可以一起来做这个东西。

Speaker 0

所以 mxnet 这个名字应该是来自于 minava 和 cxxnet 就是这它叫 mixnet 就是其实是这样一个大家混合在一起。

所以 mxnet 这个名字应该是来自于 minava 和 cxxnet 就是这它叫 mixnet 就是其实是这样一个大家混合在一起。

Speaker 0

包括这个 mix programming style 就是等编程模式本身。

包括这个 mix programming style 就是等编程模式本身。

Speaker 0

因为当时很明确的有编程模式也会存在,我们叫做这个,就是现在现在看,就是叫 declarative,就一声明一计算图。

因为当时很明确的有编程模式也会存在,我们叫做这个,就是现在现在看,就是叫 declarative,就一声明一计算图。

Speaker 0

和一个PROGRAMMING,就你直接写了之后就直接算对吧?

和一个PROGRAMMING,就你直接写了之后就直接算对吧?

Speaker 0

当时MS的走的路线就是混合,就两个东西都可以去支持。

当时MS的走的路线就是混合,就两个东西都可以去支持。

Speaker 1

就是静态和动态计算。

就是静态和动态计算。

Speaker 0

对对,同时同时同时做。

对对,同时同时同时做。

Speaker 0

然后后来就是包括UW,我们也找到了谢俊元,就是他也是另外一个,他也在做一些东西。

然后后来就是包括UW,我们也找到了谢俊元,就是他也是另外一个,他也在做一些东西。

Speaker 0

就我们叫一起合力做这样一个MX的这样一个框架。

就我们叫一起合力做这样一个MX的这样一个框架。

Speaker 0

对,就是也比较有意思,就是因为因为那个时候是刚刚我们在努力往前进的时候。

对,就是也比较有意思,就是因为因为那个时候是刚刚我们在努力往前进的时候。

Speaker 0

我的暑假在 google brain 实习,然后就是我就知道 tensorflow 要出来了,就是因为我在 dog food,一直在 dog food 的 tensorflow 那个时候。

我的暑假在 google brain 实习,然后就是我就知道 tensorflow 要出来了,就是因为我在 dog food,一直在 dog food 的 tensorflow 那个时候。

Speaker 0

当时当时好像,因为当时小伙伴们也都挺 passionate 的,就大家没有觉得这是一件坏事情,就是虽然我们知道 tensorflow 要出来了。

当时当时好像,因为当时小伙伴们也都挺 passionate 的,就大家没有觉得这是一件坏事情,就是虽然我们知道 tensorflow 要出来了。

Speaker 0

我们就是说,哎,我们这个出生牛犊,我们也可以 compete 一下嘛,对吧?

我们就是说,哎,我们这个出生牛犊,我们也可以 compete 一下嘛,对吧?

Speaker 0

就是就是这个就是,所以说就是当时甚至是很有热情的在继续在往前推动这件事情。

就是就是这个就是,所以说就是当时甚至是很有热情的在继续在往前推动这件事情。

Speaker 1

我刚想问你当时有没有 tensor flow,所以你们是明知有 tensor flow,你们还要向这个方向努力。

我刚想问你当时有没有 tensor flow,所以你们是明知有 tensor flow,你们还要向这个方向努力。

Speaker 0

mx 在开始立项的时候,我们不知道有 tensor flow,说实话,就是因为那个时候是这个,大概 timeline 是我们差不多是在应该是在前一年的 neurons 上面大家聚了一聚,决定要往前走,做这样一件事情。

mx 在开始立项的时候,我们不知道有 tensor flow,说实话,就是因为那个时候是这个,大概 timeline 是我们差不多是在应该是在前一年的 neurons 上面大家聚了一聚,决定要往前走,做这样一件事情。

Speaker 0

然后。

然后。

Speaker 0

我是暑假,就是夏天,第二年夏天去了 bring 实习。

我是暑假,就是夏天,第二年夏天去了 bring 实习。

Speaker 0

啊,我是在到了 bring 之后,我知道有 tensor flow,it's coming,我在 dog food 的这个东西,然后就是包括我我也给其实给 brain 介绍来 maxnet 的一些经验,在这个地方。

啊,我是在到了 bring 之后,我知道有 tensor flow,it's coming,我在 dog food 的这个东西,然后就是包括我我也给其实给 brain 介绍来 maxnet 的一些经验,在这个地方。

Speaker 0

但是我就当时觉得说其实还是不一样的,可以试试看。

但是我就当时觉得说其实还是不一样的,可以试试看。

Speaker 0

就是就就是,所以说就是和小伙伴们一起,还是继续往前推。

就是就就是,所以说就是和小伙伴们一起,还是继续往前推。

Speaker 0

最后我们应该是。

最后我们应该是。

Speaker 0

好像是 tensorflow 现有的意思了。

好像是 tensorflow 现有的意思了。

Speaker 0

然后我们大概 official list 是差不多第二点的 new yorks 左右。

然后我们大概 official list 是差不多第二点的 new yorks 左右。

Speaker 1

几几年?

几几年?

Speaker 0

就是我忘记是具体是哪一年了,应该是差不多在。

就是我忘记是具体是哪一年了,应该是差不多在。

Speaker 0

就是。

就是。

Speaker 0

16可能是可能是一六一五左右。

16可能是可能是一六一五左右。

Speaker 0

当时有 torch 吗?

当时有 torch 吗?

Speaker 0

torch 已经有了,但是还没有 pytorch 对。

torch 已经有了,但是还没有 pytorch 对。

Speaker 0

啊。

啊。

Speaker 1

当时 lua torch。

当时 lua torch。

Speaker 1

所以当时你们决定做 python first 的这个东西,应该还是你们比较独有的一个 feature,因为大部分还是 c c 加加。

所以当时你们决定做 python first 的这个东西,应该还是你们比较独有的一个 feature,因为大部分还是 c c 加加。

Speaker 0

tensor 其实也是尝试开始走 python,就是我觉得大家开始意识到要走 python 那条路线,对。

tensor 其实也是尝试开始走 python,就是我觉得大家开始意识到要走 python 那条路线,对。

Speaker 0

但是的确当时没有共识,因为当时的主流框架是咖啡。

但是的确当时没有共识,因为当时的主流框架是咖啡。

Speaker 1

咖啡是 c++。

咖啡是 c++。

Speaker 1

所以那么多人,当时那个团队,mx 那个团,大部分应该是在读的 phd。

所以那么多人,当时那个团队,mx 那个团,大部分应该是在读的 phd。

Speaker 0

对,大部分是 phd,包括当时木哥在 cmu,对吧?

对,大部分是 phd,包括当时木哥在 cmu,对吧?

Speaker 0

我在 udub,然后后来谢俊元也是 udub,张全在这个 mit。

我在 udub,然后后来谢俊元也是 udub,张全在这个 mit。

Speaker 0

然后林敏是 nus,就是都是 phd student,还有还有敏杰是在 nyu。

然后林敏是 nus,就是都是 phd student,还有还有敏杰是在 nyu。

Speaker 1

那这么多 phd student 聚在一起。

那这么多 phd student 聚在一起。

Speaker 1

会不会有那种还有想自己想发一做的那个想法和压力?

会不会有那种还有想自己想发一做的那个想法和压力?

Speaker 1

那这种合作怎么怎么能够 work out to be.

那这种合作怎么怎么能够 work out to be.

Speaker 0

great 我感觉好像根本没有哎。

great 我感觉好像根本没有哎。

Speaker 1

更没有人说这个事,对吧?

更没有人说这个事,对吧?

Speaker 0

因为我当时觉得大家纯粹是想要一起做项目,而 max 在最后我们就投了一篇 workshop paper。

因为我当时觉得大家纯粹是想要一起做项目,而 max 在最后我们就投了一篇 workshop paper。

Speaker 0

最后还是 alphabetical 的,就是,对,就是,这样当时就觉得,哎,一起做一个项目往前走挺好的。

最后还是 alphabetical 的,就是,对,就是,这样当时就觉得,哎,一起做一个项目往前走挺好的。

Speaker 1

完全,很好,就是这个就是纯粹的觉得这个事有价值,我也感兴趣,然后一群志同道合的人。

完全,很好,就是这个就是纯粹的觉得这个事有价值,我也感兴趣,然后一群志同道合的人。

Speaker 0

我们一起做。

我们一起做。

Speaker 0

当然其实 turn out 其实我觉得最后木哥是在这里面推动最大的,而且他是做了非常大的努力和。

当然其实 turn out 其实我觉得最后木哥是在这里面推动最大的,而且他是做了非常大的努力和。

Speaker 0

和这个牺牲,inspiration 就是包括,为了让 mx 的成功,其实他们当时就决定,他毕业之后就去了 amazon,对吧?

和这个牺牲,inspiration 就是包括,为了让 mx 的成功,其实他们当时就决定,他毕业之后就去了 amazon,对吧?

Speaker 0

就是,就几乎是最后,亚马逊在很长的一段时间里面,是亚马逊一直在帮忙推动 adoption 和 development。

就是,就几乎是最后,亚马逊在很长的一段时间里面,是亚马逊一直在帮忙推动 adoption 和 development。

Speaker 0

所以就是木哥他做了非常非常大的,这个就是他是中流砥柱,能够把大家能够团结在一起。

所以就是木哥他做了非常非常大的,这个就是他是中流砥柱,能够把大家能够团结在一起。

Speaker 1

所以他是因为我知道 mx 呢后来被 amazon 选成了这个官方的框框架,对,是。

所以他是因为我知道 mx 呢后来被 amazon 选成了这个官方的框框架,对,是。

Speaker 1

因为他选了,所以铃木才去了。

因为他选了,所以铃木才去了。

Speaker 1

还是因为铃木去了才选了?

还是因为铃木去了才选了?

Speaker 0

我觉得可能都有吧。

我觉得可能都有吧。

Speaker 0

而且其实不太为人知的一点啊,其实是。

而且其实不太为人知的一点啊,其实是。

Speaker 0

NVIDIA.

NVIDIA.

Speaker 0

在非常长的一段时间里面。

在非常长的一段时间里面。

Speaker 0

都在 contribute to m x and use m x and.

都在 contribute to m x and use m x and.

Speaker 0

嗯,原因是因为在所有的开源框架里面,MXNET一直以来是在多卡并行上面最优秀的一款。

嗯,原因是因为在所有的开源框架里面,MXNET一直以来是在多卡并行上面最优秀的一款。

Speaker 0

就是就是在非常长的时间里,包括到PYTHON出来之后一段时间。

就是就是在非常长的时间里,包括到PYTHON出来之后一段时间。

Speaker 0

所以AMEDIA在MO PERF,就是他要做MO PERF SUBMISSION,他一定要能够拿到那个最好的分数去跑分的时候。

所以AMEDIA在MO PERF,就是他要做MO PERF SUBMISSION,他一定要能够拿到那个最好的分数去跑分的时候。

Speaker 0

就是他是一直在用 m s,直到这个 rest net no longer become relevant 了之后,当然就后来就相对来说就没有那么的重要了。

就是他是一直在用 m s,直到这个 rest net no longer become relevant 了之后,当然就后来就相对来说就没有那么的重要了。

Speaker 1

你觉得当时合作的那个团队合作的经历有什么有趣的故事?

你觉得当时合作的那个团队合作的经历有什么有趣的故事?

Speaker 1

你觉得现在挺值得回忆和分享的。

你觉得现在挺值得回忆和分享的。

Speaker 0

我觉得是。

我觉得是。

Speaker 0

一个是大家都会有相互尊重,对吧?

一个是大家都会有相互尊重,对吧?

Speaker 0

而且就是就纯粹是技术嘛,就是,而且作为 phd 同学们,大家合作,就是就是,而且很多时候其实就技术讲技术的话,其实很很简单,就是很多时候就是直接讨论我们觉得怎么样往前进,应该选这个方案就选这个方案,选那个方案就选那个方案,就就可以往前走,这个地方。

而且就是就纯粹是技术嘛,就是,而且作为 phd 同学们,大家合作,就是就是,而且很多时候其实就技术讲技术的话,其实很很简单,就是很多时候就是直接讨论我们觉得怎么样往前进,应该选这个方案就选这个方案,选那个方案就选那个方案,就就可以往前走,这个地方。

Speaker 0

对,所以就在技术上面我觉得有有非常开放的心态和大家可以一起来合作。

对,所以就在技术上面我觉得有有非常开放的心态和大家可以一起来合作。

Speaker 1

我觉得是非常好。

我觉得是非常好。

Speaker 1

你觉得 mx 在最巅峰的几年应该是哪个时间段?

你觉得 mx 在最巅峰的几年应该是哪个时间段?

Speaker 0

我觉得差不多应该就是木哥去了亚麻之后,然后并且因为MX一直它的多卡性能非常非常的好。

我觉得差不多应该就是木哥去了亚麻之后,然后并且因为MX一直它的多卡性能非常非常的好。

Speaker 0

嗯,包括后面,包括像那个图森,就是王乃言和侯晓迪他们有很长一段时间,他们一直在帮忙去贡献和支持MX。

嗯,包括后面,包括像那个图森,就是王乃言和侯晓迪他们有很长一段时间,他们一直在帮忙去贡献和支持MX。

Speaker 1

现在还在继续吗?

现在还在继续吗?

Speaker 0

还在维护吗?

还在维护吗?

Speaker 0

现在已经不维护了。

现在已经不维护了。

Speaker 0

现在基本上我觉得它是属于是可以退出历史潮流,因为这个。

现在基本上我觉得它是属于是可以退出历史潮流,因为这个。

Speaker 0

In the end 我觉得还是 pytorch is getting it right.

In the end 我觉得还是 pytorch is getting it right.

Speaker 1

你觉得这个从当时那么巅峰到现在慢慢淡出历史舞台,这个过程中你学到什么比较宝贵的经验?

你觉得这个从当时那么巅峰到现在慢慢淡出历史舞台,这个过程中你学到什么比较宝贵的经验?

Speaker 0

一个我觉得是一定要把用户体验做到极致,对吧?

一个我觉得是一定要把用户体验做到极致,对吧?

Speaker 0

这一点是非常非常重要的。

这一点是非常非常重要的。

Speaker 0

在这里。

在这里。

Speaker 1

所以 mxn 的用户体验没有 torch 好.

所以 mxn 的用户体验没有 torch 好.

Speaker 0

对,对,的确没有 torch 好,因为因为的确是你要 eager first 就我们当时在选择用户体验和性能。

对,对,的确没有 torch 好,因为因为的确是你要 eager first 就我们当时在选择用户体验和性能。

Speaker 0

上面我们觉得一开始说我们都要,但是但是的确其实应该先选择用户体验,对吧?

上面我们觉得一开始说我们都要,但是但是的确其实应该先选择用户体验,对吧?

Speaker 0

在这个地方。

在这个地方。

Speaker 0

但是反过来说,后来我意识到一点,就是说还有一大瓶颈,就是工程开发。

但是反过来说,后来我意识到一点,就是说还有一大瓶颈,就是工程开发。

Speaker 0

哪怕是有这么多人在堆待里面,为了支持每一代 GPU 的性能和迭代,还是就是人手还是非常不够的。

哪怕是有这么多人在堆待里面,为了支持每一代 GPU 的性能和迭代,还是就是人手还是非常不够的。

Speaker 0

这个地方这也是为什么我后来就开始开始做深度学习编译的原因,就是所以说这也是另外一个经验。

这个地方这也是为什么我后来就开始开始做深度学习编译的原因,就是所以说这也是另外一个经验。

Speaker 0

当然还有一些其他的经验,就是这个。

当然还有一些其他的经验,就是这个。

Speaker 0

每每一代,它的这个基础架构、基础设施,就是其实呃,就是包括你怎么样去做GPU的这个这个数据结构的设计啊,包括这个神经网络的设计啊,这些东西我觉得这些经验都被延续到了现在。

每每一代,它的这个基础架构、基础设施,就是其实呃,就是包括你怎么样去做GPU的这个这个数据结构的设计啊,包括这个神经网络的设计啊,这些东西我觉得这些经验都被延续到了现在。

Speaker 0

包括其实MX的本身,它的很多的设计理念,在现在我觉得特别是在分布式的调度上面,都还是非常优秀的。

包括其实MX的本身,它的很多的设计理念,在现在我觉得特别是在分布式的调度上面,都还是非常优秀的。

Speaker 1

我用户体验这个我很有感触,因为我大一刚学机器学习的时候,当时TENSORFLOW和TORCH还是一半一半。

我用户体验这个我很有感触,因为我大一刚学机器学习的时候,当时TENSORFLOW和TORCH还是一半一半。

Speaker 1

然后TENSORFLOW1.0当时写那个静态图DEBUG,当时我就刚开始学编程,弄得我很难受。

然后TENSORFLOW1.0当时写那个静态图DEBUG,当时我就刚开始学编程,弄得我很难受。

Speaker 1

但是用TORCH的体验就非常非常好。

但是用TORCH的体验就非常非常好。

Speaker 1

嗯,这个后来我就只用TORCH了。

嗯,这个后来我就只用TORCH了。

Speaker 1

所以其实 mxnet 没有办法继续,它不是因为没有大公司做支撑。

所以其实 mxnet 没有办法继续,它不是因为没有大公司做支撑。

Speaker 1

因为 facebook 支撑 torch,那么 google 支撑 tensorflow,当时 amazon 在有 mxnet,更多的还是用户体验上。

因为 facebook 支撑 torch,那么 google 支撑 tensorflow,当时 amazon 在有 mxnet,更多的还是用户体验上。

Speaker 1

就是各种的 roadmap 当时不够清晰,以至于没有占据更大的份额。

就是各种的 roadmap 当时不够清晰,以至于没有占据更大的份额。

Speaker 0

其实其实后面其实我们是 mxnet 本身有在尝试做转变,就是比如说它的2.0之后,几乎就是全面用了一个 mode,对吧?

其实其实后面其实我们是 mxnet 本身有在尝试做转变,就是比如说它的2.0之后,几乎就是全面用了一个 mode,对吧?

Speaker 0

包括和 torch。

包括和 torch。

Speaker 0

做兼容。

做兼容。

Speaker 0

但是就是我觉得本身社区上面的话,因为 torch 的社区已经已经比较壮大了。

但是就是我觉得本身社区上面的话,因为 torch 的社区已经已经比较壮大了。

Speaker 0

就包括其实木哥他很长一段时间,那个 grown cv 和 grown nlp 也是一个非常早期的,就非常好用的一个一个项目,对吧?

就包括其实木哥他很长一段时间,那个 grown cv 和 grown nlp 也是一个非常早期的,就非常好用的一个一个项目,对吧?

Speaker 0

就是你会发现 grown lp in some sense,你会发现它有点像 hugging face,会有各种各样的因素在这个地方,就技术是其中一方面。

就是你会发现 grown lp in some sense,你会发现它有点像 hugging face,会有各种各样的因素在这个地方,就技术是其中一方面。

Speaker 0

嗯,地方对。

嗯,地方对。

Speaker 1

我觉得可能这段也让你埋下了一个种子,可能TVM的种子在当时就已经埋下了。

我觉得可能这段也让你埋下了一个种子,可能TVM的种子在当时就已经埋下了。

Speaker 0

是是这样子的,基本上我是在,其实其实Maxnet后面,梦哥他们推动了非常久,就是我我后面几乎在Maxnet差不多我们。

是是这样子的,基本上我是在,其实其实Maxnet后面,梦哥他们推动了非常久,就是我我后面几乎在Maxnet差不多我们。

Speaker 0

就是我们当时做了之后,应该是我第一次去参加GTC。

就是我们当时做了之后,应该是我第一次去参加GTC。

Speaker 0

然后我们当时去讲MS,我就我就觉得说,就回过头来看,我就当时觉得说我还是要花这么多的ENGINEERING EFFORT去支撑这个东西,怎么样能够让这个东西变得更简单一点啊?

然后我们当时去讲MS,我就我就觉得说,就回过头来看,我就当时觉得说我还是要花这么多的ENGINEERING EFFORT去支撑这个东西,怎么样能够让这个东西变得更简单一点啊?

Speaker 0

就是就是这这是为什么?

就是就是这这是为什么?

Speaker 0

就是怎么样能够让更少的人可以做更多的事情。

就是怎么样能够让更少的人可以做更多的事情。

Speaker 0

嗯,就这个是这个是我觉得。

嗯,就这个是这个是我觉得。

Speaker 0

就是开始让我开始走进学习编译这个方面。

就是开始让我开始走进学习编译这个方面。

Speaker 1

很有意思,我们马上会重点聊 tvm,但 tvm 之前,其实你当时你刚已经提到,你在一个 google brain 度过了一个暑假的实习。

很有意思,我们马上会重点聊 tvm,但 tvm 之前,其实你当时你刚已经提到,你在一个 google brain 度过了一个暑假的实习。

Speaker 1

然后当时你说 yan 把你拉到一个 meeting room 里面,给你画了一个坐标系。

然后当时你说 yan 把你拉到一个 meeting room 里面,给你画了一个坐标系。

Speaker 1

对,能讲讲那个故事吗?

对,能讲讲那个故事吗?

Speaker 0

对,基本上就是当时我还非常幸运,因为当时 yan 是刚到 google brain,就是。

对,基本上就是当时我还非常幸运,因为当时 yan 是刚到 google brain,就是。

Speaker 0

而且他的那个应该是干,有没有发布,好像还没有发布,还是就是可能还干还没有发布,他或者已经发布,但是还没有就是火到那个程度,就是所以说我就比较幸运的成为了他第一个 intern 在那个地方,而且他也是非常 open minded 就是我当时跟他说。

而且他的那个应该是干,有没有发布,好像还没有发布,还是就是可能还干还没有发布,他或者已经发布,但是还没有就是火到那个程度,就是所以说我就比较幸运的成为了他第一个 intern 在那个地方,而且他也是非常 open minded 就是我当时跟他说。

Speaker 0

哎,你要做什么?

哎,你要做什么?

Speaker 0

他说,ok,你我可以给你列一些项目。

他说,ok,你我可以给你列一些项目。

Speaker 0

然后我就跟他说,我比较有兴趣的是,我想做 lifelong learning,因为我们当时一直一个 vision,就是说你需要能够让这个智能越来越强大,它要需要能演化,它的模型的 capacity 需要变大,就是你需要能够从一个小的模型。

然后我就跟他说,我比较有兴趣的是,我想做 lifelong learning,因为我们当时一直一个 vision,就是说你需要能够让这个智能越来越强大,它要需要能演化,它的模型的 capacity 需要变大,就是你需要能够从一个小的模型。

Speaker 0

一个神经网络,如果一开始很小,它到一定程度肯定会不行的。

一个神经网络,如果一开始很小,它到一定程度肯定会不行的。

Speaker 0

如果你要把它放到一个LIFELONG的角度来看的话,那么怎么样去解决这个问题?

如果你要把它放到一个LIFELONG的角度来看的话,那么怎么样去解决这个问题?

Speaker 0

对,当时就是就是开始就问这样一个问题。

对,当时就是就是开始就问这样一个问题。

Speaker 0

OK,其实现在你会发现,现在很多时候这个问题还是同样存在的。

OK,其实现在你会发现,现在很多时候这个问题还是同样存在的。

Speaker 0

所以说这个为什么大家开始会有通过小小的模型在SCALING UP东西。

所以说这个为什么大家开始会有通过小小的模型在SCALING UP东西。

Speaker 0

这个当时就是开始做了这个NET TO NET这个项目,就是说怎么样能够。

这个当时就是开始做了这个NET TO NET这个项目,就是说怎么样能够。

Speaker 0

一个,当时 research question 说,你已经有一个训练好的小模型,怎么样能够让它快速的 bootstrap 一个大模型,使得说它的这个容量可以变大。

一个,当时 research question 说,你已经有一个训练好的小模型,怎么样能够让它快速的 bootstrap 一个大模型,使得说它的这个容量可以变大。

Speaker 1

所以他当时给你画的那个图是一个坐标是 risk,另外一个坐标是 impact,你选了 risk 最大,impact 也最大的那个。

所以他当时给你画的那个图是一个坐标是 risk,另外一个坐标是 impact,你选了 risk 最大,impact 也最大的那个。

Speaker 0

topic。

topic。

Speaker 1

你会建议年轻的RESEARCHER在科研中偶尔选择这样高风险、高收益的课题,还是应该尽可能多的选择这样的课题?

你会建议年轻的RESEARCHER在科研中偶尔选择这样高风险、高收益的课题,还是应该尽可能多的选择这样的课题?

Speaker 0

我觉得不同人可能会不一样。

我觉得不同人可能会不一样。

Speaker 0

嗯,而且我觉得每一种选择都有它的道理存在,至少在我现在看来,可能我因为我已经经历过很多的失败了。

嗯,而且我觉得每一种选择都有它的道理存在,至少在我现在看来,可能我因为我已经经历过很多的失败了。

Speaker 0

然后让我觉得说再失败一次也没有那么差,并且呢,始终我觉得时间是有限的,所以一定要做想要做的事情。

然后让我觉得说再失败一次也没有那么差,并且呢,始终我觉得时间是有限的,所以一定要做想要做的事情。

Speaker 0

它不一定是有impact的事情,但是一定要想着想要做的事情。

它不一定是有impact的事情,但是一定要想着想要做的事情。

Speaker 0

所以说我觉得almost always我们会ends up就是选一个。

所以说我觉得almost always我们会ends up就是选一个。

Speaker 0

比较高风险、高回报的方向。

比较高风险、高回报的方向。

Speaker 0

嗯。

嗯。

Speaker 1

所以你在结束 google brain 的实习之后,就开启了你在 udacity 的第三年。

所以你在结束 google brain 的实习之后,就开启了你在 udacity 的第三年。

Speaker 1

你在机器学习十年那篇文章里面,你说当时你想到了一个可以用低于线性复杂度训练更深模型的方法。

你在机器学习十年那篇文章里面,你说当时你想到了一个可以用低于线性复杂度训练更深模型的方法。

Speaker 1

结果你的导师说,ok,这个可能发了就是个 new york's poster。

结果你的导师说,ok,这个可能发了就是个 new york's poster。

Speaker 1

对你现在不应该做这种 level 的 research,叫做 best paper level 的。

对你现在不应该做这种 level 的 research,叫做 best paper level 的。

Speaker 1

你现在对这个问题有什么思考?

你现在对这个问题有什么思考?

Speaker 1

你觉得。

你觉得。

Speaker 1

当时卡洛斯啊,对你的影响包括相当于你已经进入博士的中后程了嘛?

当时卡洛斯啊,对你的影响包括相当于你已经进入博士的中后程了嘛?

Speaker 1

嗯,你现在回看会是有什么样的感想?

嗯,你现在回看会是有什么样的感想?

Speaker 0

对,当时其实啊,他的意思是说其实这个方向是PROMISING的。

对,当时其实啊,他的意思是说其实这个方向是PROMISING的。

Speaker 0

但是如果说你要做的话,你要做的更好一点,就是你需要能够不要光用这样一个算法,你需要能够设计一个更好的方法可以。

但是如果说你要做的话,你要做的更好一点,就是你需要能够不要光用这样一个算法,你需要能够设计一个更好的方法可以。

Speaker 0

更自动的解决,怎么样去选择这个 recomputation。

更自动的解决,怎么样去选择这个 recomputation。

Speaker 0

但是因为当时精力有限,我没有做这个东西。

但是因为当时精力有限,我没有做这个东西。

Speaker 0

后来有 follow up work,by the way,去做相关的工作。

后来有 follow up work,by the way,去做相关的工作。

Speaker 0

对,但是就是基本上他的意思是说,你需要挑你做的东西,并且一定决定要做的话,你需要做的深了。

对,但是就是基本上他的意思是说,你需要挑你做的东西,并且一定决定要做的话,你需要做的深了。

Speaker 0

我觉得这一点这一点我觉得是非常正确的。

我觉得这一点这一点我觉得是非常正确的。

Speaker 1

在这里。

在这里。

Speaker 1

好,然后你就挑了 tpm。

好,然后你就挑了 tpm。

Speaker 1

给我们介绍一下当时是什么样的背景,为什么会觉得呃在那个时刻你觉得呼之欲出,想要做 tvm。

给我们介绍一下当时是什么样的背景,为什么会觉得呃在那个时刻你觉得呼之欲出,想要做 tvm。

Speaker 0

其实还是就是从问题出发,从问题出发就说,我们始终的一个,我始终有一个愿望是。

其实还是就是从问题出发,从问题出发就说,我们始终的一个,我始终有一个愿望是。

Speaker 0

其实机器学习系统并不应该那么复杂,可以让更少的团队通过正确的技术很快的可以去啊搭建一个机器学习系统。

其实机器学习系统并不应该那么复杂,可以让更少的团队通过正确的技术很快的可以去啊搭建一个机器学习系统。

Speaker 0

我们。

我们。

Speaker 0

做了不少的尝试,对吧?

做了不少的尝试,对吧?

Speaker 0

从 cxnet 到 mxnet,最后发现瓶颈还在。

从 cxnet 到 mxnet,最后发现瓶颈还在。

Speaker 0

那我们就问说能不能去解决这个瓶颈?

那我们就问说能不能去解决这个瓶颈?

Speaker 0

然后当时就觉得,哎,是不是可以用机器学习编译这条技术来去解决它?

然后当时就觉得,哎,是不是可以用机器学习编译这条技术来去解决它?

Speaker 1

机器学习这个编译是你提出来的吗?

机器学习这个编译是你提出来的吗?

Speaker 1

之前有这个概念吗?

之前有这个概念吗?

Speaker 0

当时会有一些其他领域的,通过编译技术解决这个解决这个相关问题的比较著名的一个工作叫黑赖。

当时会有一些其他领域的,通过编译技术解决这个解决这个相关问题的比较著名的一个工作叫黑赖。

Speaker 0

就它是在这个图像处理这个方向上面,通过编译技术来解决它这个图像处理工具的这个就是就是类似开发对吧?

就它是在这个图像处理这个方向上面,通过编译技术来解决它这个图像处理工具的这个就是就是类似开发对吧?

Speaker 0

然后所以说其实TVM一开始也。

然后所以说其实TVM一开始也。

Speaker 0

是 inspired from huggingface 我们一开始的时候也其实是呃复用了一些 huggingface 的设计。

是 inspired from huggingface 我们一开始的时候也其实是呃复用了一些 huggingface 的设计。

Speaker 1

所以当时的 background 是嗯深度学习框架都有了,当时应该在在 tvm 的时候 torch tensorflow 都在那了。

所以当时的 background 是嗯深度学习框架都有了,当时应该在在 tvm 的时候 torch tensorflow 都在那了。

Speaker 1

是的。

是的。

Speaker 1

嗯,那 tvm 当时在解决什么样重要的问题?

嗯,那 tvm 当时在解决什么样重要的问题?

Speaker 0

我们当时解决的问题就是,你本来你去做一个聚成,或者说做一些东西的,你。

我们当时解决的问题就是,你本来你去做一个聚成,或者说做一些东西的,你。

Speaker 0

这些 kernel 都是要手写的,包括你这个 kernel 本身,它对于不同的数据的 layout 比如说你在你在这个卷积网络里面,它可能会有 nhwc 就是你到底是 channel first 还是这个这个,就是就会有非常多的变种。

这些 kernel 都是要手写的,包括你这个 kernel 本身,它对于不同的数据的 layout 比如说你在你在这个卷积网络里面,它可能会有 nhwc 就是你到底是 channel first 还是这个这个,就是就会有非常多的变种。

Speaker 0

并且在后面你会需要做算子的融合,就是说你的这个这个呃不同的算子之间,要么把它们融合在一起。

并且在后面你会需要做算子的融合,就是说你的这个这个呃不同的算子之间,要么把它们融合在一起。

Speaker 0

就所以说就是这些问题本身其实是一个非常大的空间。

就所以说就是这些问题本身其实是一个非常大的空间。

Speaker 0

都是要靠手写的,就是根本干不过来。

都是要靠手写的,就是根本干不过来。

Speaker 0

所以我们很自然的一个问题就是能不能去自动去生成这些东西?

所以我们很自然的一个问题就是能不能去自动去生成这些东西?

Speaker 0

对。

对。

Speaker 1

所以哪怕只是举成也有太多的变种了。

所以哪怕只是举成也有太多的变种了。

Speaker 0

以至于哪怕只是矩阵乘法,它会根据不同的你的输入的尺寸和硬件的形态,它最优的实现都还是会不太一样。

以至于哪怕只是矩阵乘法,它会根据不同的你的输入的尺寸和硬件的形态,它最优的实现都还是会不太一样。

Speaker 1

所以TVM当时我记得你有个形容是在荒岛里面要建成吧?

所以TVM当时我记得你有个形容是在荒岛里面要建成吧?

Speaker 1

为什么?

为什么?

Speaker 1

会这么有挑战?

会这么有挑战?

Speaker 1

当时的 landscape 是什么样的?

当时的 landscape 是什么样的?

Speaker 0

就是因为当时没有深度学习编译嘛,对吧?

就是因为当时没有深度学习编译嘛,对吧?

Speaker 0

就是说我,相当于是我们只是觉得说这个方向可行。

就是说我,相当于是我们只是觉得说这个方向可行。

Speaker 0

要不要试试看?

要不要试试看?

Speaker 0

并且呢,其实我们当时在做的时候,还有一个 research 的层面的考虑,就是我们在我有一个体系结构的合作者叫叫 terry,他在做深度学习加速器。

并且呢,其实我们当时在做的时候,还有一个 research 的层面的考虑,就是我们在我有一个体系结构的合作者叫叫 terry,他在做深度学习加速器。

Speaker 0

就是就是我们当时在拿 fpga 打什么东西,假设打 npu。

就是就是我们当时在拿 fpga 打什么东西,假设打 npu。

Speaker 0

然后我们当时觉得,哎,我们要不要试试看,直接直接把这个编译器和这个 npu 合在一起玩一玩看,是吧?

然后我们当时觉得,哎,我们要不要试试看,直接直接把这个编译器和这个 npu 合在一起玩一玩看,是吧?

Speaker 0

这个就,但我也不知道 npu 是什么回事,就是直接就是摸着石头过河,觉得这个东西应该设计成这样子。

这个就,但我也不知道 npu 是什么回事,就是直接就是摸着石头过河,觉得这个东西应该设计成这样子。

Speaker 0

最后我们还是真的给这个 npu 设计了一个指令集,然后开始去写编译器,for that。

最后我们还是真的给这个 npu 设计了一个指令集,然后开始去写编译器,for that。

Speaker 0

所以就是基本上非常像 a 三班大作业那段经历,也是你从头搭一个 cpu 和编译器 for that 嗯,我觉得就是就是就是就是就因为有了原来那段经历之后,让我觉得不是很慌,就是做这件事情。

所以就是基本上非常像 a 三班大作业那段经历,也是你从头搭一个 cpu 和编译器 for that 嗯,我觉得就是就是就是就是就因为有了原来那段经历之后,让我觉得不是很慌,就是做这件事情。

Speaker 0

但是其实也做了很久啊,我们从开始。

但是其实也做了很久啊,我们从开始。

Speaker 0

准备要做这件事情是差不多在我 gtc 回来,也就是4月份的时候开始要开始准备往这个方向开始做到他第一个能跑起来的东西,应该是第二年的3月份。

准备要做这件事情是差不多在我 gtc 回来,也就是4月份的时候开始要开始准备往这个方向开始做到他第一个能跑起来的东西,应该是第二年的3月份。

Speaker 1

就是一个月。

就是一个月。

Speaker 0

对,然后基本上就是都在写代码,就是在这个,就对,就差不多差不多是这样。

对,然后基本上就是都在写代码,就是在这个,就对,就差不多差不多是这样。

Speaker 1

所以当时你会有没有担心或者怀疑过自己在提结构编译器这个领域的经验或者能力不足,做TVM的风险过高?

所以当时你会有没有担心或者怀疑过自己在提结构编译器这个领域的经验或者能力不足,做TVM的风险过高?

Speaker 0

其实当时没有想这个风险这个问题,当时只是觉得说。

其实当时没有想这个风险这个问题,当时只是觉得说。

Speaker 0

哎,这个东西。

哎,这个东西。

Speaker 0

我想做,而且似乎是我我们要解决继续学习问题的瓶颈,就去试试看。

我想做,而且似乎是我我们要解决继续学习问题的瓶颈,就去试试看。

Speaker 0

对,就是就是这样的。

对,就是就是这样的。

Speaker 0

就我我感觉好像我做事情很少考虑,很少考虑风险,可能不是一件好事情。

就我我感觉好像我做事情很少考虑,很少考虑风险,可能不是一件好事情。

Speaker 0

但是就是就是相对来说,只要我觉得他有挑战,然后当然就是我我是。

但是就是就是相对来说,只要我觉得他有挑战,然后当然就是我我是。

Speaker 0

比较清楚我有技术路线,就是我当时有想过,就在在飞机上面有想过大概的基本技术路线是什么样子。

比较清楚我有技术路线,就是我当时有想过,就在在飞机上面有想过大概的基本技术路线是什么样子。

Speaker 0

然后,而且因为前面有经历之后,每一年都是有磨练的嘛,就是 xgboost 到 m x net,包括到前面的经历,其实。

然后,而且因为前面有经历之后,每一年都是有磨练的嘛,就是 xgboost 到 m x net,包括到前面的经历,其实。

Speaker 0

我觉得这种架构能力可以磨练出来,就你大概已经会。

我觉得这种架构能力可以磨练出来,就你大概已经会。

Speaker 0

所以说,就这个而言,其实反倒因为我前面的经验会更有信心,知道说我虽然说可能他会花时间,但是应该是可以做出来的。

所以说,就这个而言,其实反倒因为我前面的经验会更有信心,知道说我虽然说可能他会花时间,但是应该是可以做出来的。

Speaker 1

我注意到一个细节,就是你的那个机器学习十年那个文章是19年发布的。

我注意到一个细节,就是你的那个机器学习十年那个文章是19年发布的。

Speaker 1

对,在24年李牧留了一个评论,他说当时你 phd 第三第四年,你跟他说要做 tvm。

对,在24年李牧留了一个评论,他说当时你 phd 第三第四年,你跟他说要做 tvm。

Speaker 1

他说你现在 phd 快结束,做这个一个新的大坑,对,会不会风险太高?

他说你现在 phd 快结束,做这个一个新的大坑,对,会不会风险太高?

Speaker 1

然后你说当时不管未来去工作也好,创业也好,找教职也好。

然后你说当时不管未来去工作也好,创业也好,找教职也好。

Speaker 1

最重要的还是要做当时自己觉得最重要的事。

最重要的还是要做当时自己觉得最重要的事。

Speaker 1

对。

对。

Speaker 1

然后李牧说,现在看起来这是唯一正确的做事的方式。

然后李牧说,现在看起来这是唯一正确的做事的方式。

Speaker 1

所以你当时完全没有,就是说自己反正 phd 当时你做的东西已经够了,够毕业了。

所以你当时完全没有,就是说自己反正 phd 当时你做的东西已经够了,够毕业了。

Speaker 1

然后你也没有去,你也没有去考虑下一个阶段人生安排是什么,你就觉得这事重要,我就做了。

然后你也没有去,你也没有去考虑下一个阶段人生安排是什么,你就觉得这事重要,我就做了。

Speaker 0

嗯哼,而且就是其实我的导师他本身都会比较鼓励你去做一些你觉得。

嗯哼,而且就是其实我的导师他本身都会比较鼓励你去做一些你觉得。

Speaker 0

就一般的时候大家都会说 do do the impact forces 但是 impact 很难 measure 对吧?

就一般的时候大家都会说 do do the impact forces 但是 impact 很难 measure 对吧?

Speaker 0

你也很难 predict 嗯,而且很多时候 you will miss the goal。

你也很难 predict 嗯,而且很多时候 you will miss the goal。

Speaker 0

但是我觉得做想做的事情很重要,对吧?

但是我觉得做想做的事情很重要,对吧?

Speaker 0

这个地方。

这个地方。

Speaker 1

tvm 项目开发过程中,你刚刚说嗯第一年的4月到第二年的3月,这个项目才一开始跑起来。

tvm 项目开发过程中,你刚刚说嗯第一年的4月到第二年的3月,这个项目才一开始跑起来。

Speaker 1

对。

对。

Speaker 1

10 11个月的时间,其实你在这个 podcast 里面一句话就概述了,但是其中又没有什么。

10 11个月的时间,其实你在这个 podcast 里面一句话就概述了,但是其中又没有什么。

Speaker 1

经历你可以分享给我们,你现在觉得记忆犹新的,不断的写代码的过程。

经历你可以分享给我们,你现在觉得记忆犹新的,不断的写代码的过程。

Speaker 0

我觉得是一个不断迭代的过程,在那个过程中,就是,而且其实比较比较有趣的就是 again 就是因为我觉得当时就不怕,就是我们虽然不懂也不怕,就是比如我们当时做 npu 一开始我们可能想的想法更 wild 就是说我直接能不能直接通过神经网络直接直接 bake 到这个 fpga 的 wire 里面去。

我觉得是一个不断迭代的过程,在那个过程中,就是,而且其实比较比较有趣的就是 again 就是因为我觉得当时就不怕,就是我们虽然不懂也不怕,就是比如我们当时做 npu 一开始我们可能想的想法更 wild 就是说我直接能不能直接通过神经网络直接直接 bake 到这个 fpga 的 wire 里面去。

Speaker 0

对,但这个方向也有人做,后来就 h 高 level senses。

对,但这个方向也有人做,后来就 h 高 level senses。

Speaker 0

然后后来我们结论就是 ok,我们先做一个 npu,就因为当时 tpu 的 paper 刚出来,但没有人知道知道 tpu 是怎么回事。

然后后来我们结论就是 ok,我们先做一个 npu,就因为当时 tpu 的 paper 刚出来,但没有人知道知道 tpu 是怎么回事。

Speaker 0

我们就 ok,我们先自己设计一个 npu,然后我们在设计 npu 的时候,当时也会很很很直接,你去。

我们就 ok,我们先自己设计一个 npu,然后我们在设计 npu 的时候,当时也会很很很直接,你去。

Speaker 0

下地看问题的时候,你会看到问题的。

下地看问题的时候,你会看到问题的。

Speaker 0

比如说NPU,我们发现很明显的一个问题是你的内存读写和计算这两个操作是必须要同时进行的那个地方。

比如说NPU,我们发现很明显的一个问题是你的内存读写和计算这两个操作是必须要同时进行的那个地方。

Speaker 0

然后我们当时就一开始就想说,哎,我要们怎么样解决这个问题?

然后我们当时就一开始就想说,哎,我要们怎么样解决这个问题?

Speaker 0

因为一般来说,你设计一条指令,读内存是一条指令,计算是一条指令。

因为一般来说,你设计一条指令,读内存是一条指令,计算是一条指令。

Speaker 0

你怎么样能够在硬件级别让计算指令和读内存的指令可以通过流水线或者其他方式给留起来。

你怎么样能够在硬件级别让计算指令和读内存的指令可以通过流水线或者其他方式给留起来。

Speaker 0

并且我们当时虽然说没有意识到,后来我们发现我们当时设计NPU的想法是非常有趣的,就是大部分的NPU在一开始的时候是完全。

并且我们当时虽然说没有意识到,后来我们发现我们当时设计NPU的想法是非常有趣的,就是大部分的NPU在一开始的时候是完全。

Speaker 0

Hard wired,which means 就是说使得说它完全不可编程,就 npu 不存在指令,你直接就是直接就说它就一个功能,卷积,对吧?

Hard wired,which means 就是说使得说它完全不可编程,就 npu 不存在指令,你直接就是直接就说它就一个功能,卷积,对吧?

Speaker 0

进去出来。

进去出来。

Speaker 0

但是我们当时设计的这个 npu 叫 vta,versatile tensor accelerator。

但是我们当时设计的这个 npu 叫 vta,versatile tensor accelerator。

Speaker 0

它是存在指令级的,就是因为我们是从编译的角度出发。

它是存在指令级的,就是因为我们是从编译的角度出发。

Speaker 0

其实你可以把举成或者其他东西都可以分解成更小的步骤,更小的举成内存读写,可以用同一套指令集编程去实现更多的算计。

其实你可以把举成或者其他东西都可以分解成更小的步骤,更小的举成内存读写,可以用同一套指令集编程去实现更多的算计。

Speaker 0

于是为了为了使得你可以有一套可编程的微指令,加上这个 overlap 可以实现。

于是为了为了使得你可以有一套可编程的微指令,加上这个 overlap 可以实现。

Speaker 0

我我自己不是做体系结构出身,但我们就是 from first principle 我们在想可以怎么样做这件事情,然后就当时就设计了一套这个关于用,我们叫做,应该是用一个叫做 q,hardware q 和 signal 来去做判断。

我我自己不是做体系结构出身,但我们就是 from first principle 我们在想可以怎么样做这件事情,然后就当时就设计了一套这个关于用,我们叫做,应该是用一个叫做 q,hardware q 和 signal 来去做判断。

Speaker 0

其实后来发现,我们发现就有一些NPU的确也就用了这个东西。

其实后来发现,我们发现就有一些NPU的确也就用了这个东西。

关于 Bayt 播客

Bayt 提供中文+原文双语音频和字幕,帮助你打破语言障碍,轻松听懂全球优质播客。

继续浏览更多播客