在往期内容中,我们介绍了《深度强化学习算法与实践:基于PyTorch的实践》一书,并将其中丰富的案例代码整理成了云上 Notebooks,供读者轻松上手深度强化学习。这个过程中,书作者张校捷给了我们很大的支持,并给我们留下了深刻的印象。
校捷博士毕业于复旦大学化学系刘智攀老师课题组。读博期间,校捷在表面催化、增强采样、软件发展等方面做了非常多出色的工作。毕业后先后就职于 NVIDIA 和 Shopee,目前在 Tiktok 担任算法工程师。作为物理化学方向的 HPC+AI 选手,在当下 AI 技术大发展的背景下,校捷的经历既独特、又极具启发性。
近日,NBHub 编辑部(下称 NBHub)有幸深入采访校捷,听他讲述跨领域跨行业工作的心路历程、重视自主实践的学习方法,以及对 AI 行业发展的看法、对 AI for Science 领域的认识,等等。
采访过程中不乏精彩时刻。关于这个时代,校捷说,“在这个时代的浪潮中,我们需要不断学习和适应”、“持续的自我学习和实践非常重要”;而关于如何学习与实践,校捷说,“我会有意识地构建一个相关的知识图谱,然后从最基础的知识开始,逐步点亮与之相关联的知识点,类似于点亮‘技能树’”。
对校捷来说,不光是上课,读 WIKI、写书、消化与改写案例代码等,都是很好的学习与实践方式。这让他得以更好地把握领域发展的宏观特点和具体的技术细节;这也让我们更加理解他为什么如此热心地支持 NBHub 的一系列工作。
以下为采访的详细内容,希望对 AI 的从业人员、期待 AI 给生化环材领域带来改变的老师同学、以及仍在迷茫中的本科同学等,都能带来收获。
Q1
NBHub:
校捷你好!非常感谢你接受采访。我们了解到你在读博期间在物理化学领域表现非常优异,在表面催化、采样、软件发展等方面做了非常多出色的工作。毕业后你没有继续选择在物理化学方向上深入探索,而是选择了AI与HPC相关的行业。方便分享一下这个过程中你的心路历程吗?
校捷:
起初,出于好奇心,我在Coursera平台上学习了一些机器学习课程。在完成这些课程后,我对机器学习产生了浓厚的兴趣,并阅读了很多相关书籍,如《模式识别与机器学习(PRML)》等。我认为机器学习有着巨大的发展潜力。而且,在我即将毕业之际,深度学习正在进入一个繁荣阶段,例如AlexNet/ResNet等技术已经相当成熟。同时,我认为在深度学习领域,工业界仍有许多潜在的发掘空间。恰逢当时我的导师正在进行神经网络势函数方面的研究,通过这个项目,我对深度学习和神经网络有了更深入的了解,并阅读了一些相关论文。在此之后,我觉得这可能是我未来的发展方向。我希望在工业界尝试,更深入地理解和推动这些技术在工业界的应用。因此,博士毕业后,我加入NVIDIA并从事深度学习模型优化方面的工作,对这个领域有了更深入的了解。这个过程中,主要是好奇心驱使着我。因为相对于学术研究而言,我对某些领域知识的特定应用更感兴趣。现在回想起来,学术研究其实也很有趣。我希望有机会可以进行相关研究或制作教程,帮助学术界,回馈学术界,以便学术界能够更好地将深度学习领域的知识整合到当前的理论化学或其他领域的知识中,促进领域的发展。实际上,我一直在考虑如何更好地将学术成果与计算机工业界的现有成果相结合。
Q2
NBHub:
从物理化学博士到 NVIDIA 过程中一定遇到过很多困难吧?我们格外好奇的是,你是如何获取相关知识、掌握进入NVIDIA的必要技能的?特别是,听神秘的内部人士说,你在博士期间每天都会通过 阅读WIKI 的方式来去学习相关领域的知识,甚至后来还围绕深度学习以及深度强化学习写了两本书。可以分享更多这些方面的思考和经验吗?
校捷:
关于跨行业学习过程中所遇到的共同问题,在我从博士阶段到 NVIDIA 的过程中确实遇到了很多挑战。针对这些挑战,我采取了一系列的策略。总体来说,我的学习方法论主要还是由浅入深,从学习一些比较基础的知识,逐渐地对该领域进行深入了解。
首先,我会在了解课题 outline 的基础上对相关领域形成一个整体的把握。然后我会有意识地构建一个相关的知识图谱,然后从最基础的知识开始,逐步点亮与之相关联的知识点,类似于点亮“技能树”。
与此同时,我会借鉴 GitHub 上的源代码,先自行理解代码的内容,然后尝试对代码进行修改,写一个自己的版本。在修改的同时就能很好地了解这个操作,它为什么要这么做。然后这个运算它结果到底是做出一个什么样的结果,通过上述步骤我就能有一个更深层次的了解。如果我们想要进一步优化已经完成的初级代码并获得正确结果,可以通过寻找相关优化知识来逐步改进。这是一个循序渐进的过程,在每个阶段都能帮助我学习相应的知识。总体上,这样的学习方法是十分有效的。在 2020 年初,我开始了关于深度学习的写作工作,紧接着转向深度强化学习方面的研究。在整理这两本书的过程中,我经历了大量的阅读、研究和实践。通过这种方式,我不断地巩固和拓展了自己在这些领域的知识,积累了丰富的经验。其实现在想,写这两本书的目的就是把之前阅读与研究的内容转化成自己的东西、同时惠及更多人。总之,我认为跨行业学习的过程中,持续的自我学习和实践非常重要。通过不断地阅读、研究和实践,我们可以逐渐掌握所需的知识和技能,并不断提升自己。同时,撰写相关领域的书籍或文章也是一种很好的学习方法,可以帮助我们更深入地理解和总结所学的知识。
Q3
NBHub:
在阅读你的两本书时,我们也注意到了书中含有丰富的代码,为了解决代码运行相关的环境部署、分享扩展等方面的问题,NBHub 已将《深度强化学习算法与实践:基于PyTorch的实现》一书中的代码整理到了 Notebook 案例广场上——感谢这个过程中你给我们的支持!在同学们通过书和 Notebook 的学习过程中,你有什么建议吗?
(点击下方图片查看在线 Notebook 目录,可在文末查看更多章节。)
校捷:
我认为 Bohrium Notebook 平台的功能非常丰富,是一个优秀的代码运行、计算平台。当我最初学习深度学习相关内容时,遇到了很多困难,例如网络原因导致某些包无法安装,以及缺乏一个合适的IDE支持开发,等等。Bohrium Notebook 可以很好地解决这些问题,为学习者提供便利的环境。
至于学习过程,我认为学习知识和相关的原理时,最重要的是实践。如果没有实践,很多东西其实你看着以为懂了,但是其实不是很懂,所以说其实借助 Bohrium Notebook 平台,能很有效地帮助读者提高自己的代码水平,以及对知识的理解。
在平台上,我发现我们可以轻松地撰写 Markdown 文档,插入公式、多媒体资料、图像和视频等内容,这些都有助于用户的学习。更重要的是,我们可以在插入文本的同时运行代码,这样可以在学习知识和相关原理时进行实践。实践是提高编程水平和理解知识的关键。Bohrium Notebook 平台特别适合国内读者,因为网络原因,许多国内读者难以安装某些软件包,如 TensorFlow 或 PyTorch。并且许多环境已经预先配置好,用户可以轻松地安装所需的软件包。这有利于国内科研人员和技术人员的学习,也方便他们对代码进行实践。
Q4
NBHub:
接下来,我们稍微跳出关于知识的学习、沉淀、分享等环节,切换到更大的视角。我们在过去两年共同目睹了 AI 快速的发展。尽管我们适应能力已经相当迅速,但目测 AI 领域变化似乎只会比我们更快。从一个 AI 从业角者的角度,你是如何看待这个过程的?
校捷:
的确,近年来,人工智能领域取得了显著的发展,以 Diffusion Model 为代表的 AIGC(AI-Generated Content,AI内容生成)以及以 LLM(Large-Language Model,大语言模型)为代表的 AI 模型在自然语言处理领域的进步,都很好地说明了 AI 发展的迅速。这些内容也对人们的日常生活产生了重大影响,并且 AIGC 和 LLM 在人文、艺术、计算等领域取得了显著的成果,极大地促进了这些领域的发展。随着技术的进步和算力的增长,我相信 AI 将在我们的生活中发挥更大的作用,且其对我们生活的影响力可能将以成千上万倍的速度增长。在这个时代的浪潮中,我们需要不断学习和适应。虽然 AI 可能会替代我们的部分工作,但人类的创造力仍然是不可替代的。我们可以将 AI 视为一个工具,借助 AI 创造更好的作品,提高工作和生活的质量。我们还需要注意一点,即 AI 的发展受到算力增长的限制,其本身的增长也随着算力的增长而逐渐增长。例如,从 2012 年的 AlexNet 到现在基于 Transformer 的各种模型取得了显著的进步。这背后的逻辑并非仅仅是模型结构的变化,而是模型结构逐渐适应算力的增长。因此,AI 未来的发展取决于人类能够制造出多大规模的算力,以训练更多参数的模型。无论是对从业者还是普通人来说,AI 的未来发展是值得期待的。
Q5
NBhub:
AI 除了广泛地影响人们生活外,也在深刻地影响着科学研究与实体工业。AI for Science 正在成为一个广受关注的主题。最后一个问题:作为物理化学背景的 HPC+AI 选手,你是如何看待 AI forScience 的发展的?
校捷:
实际上,人工智能在科学领域的许多方面都已得到应用,如 AlphaFold2用于预测蛋白质结构。此外,我们还可以根据人工智能预测材料的结构和性质,人工智能也可以反向帮助我们进行各种结构的设计,包括新药物研发以及根据某些性质生成具体的材料结构。当然,这里仅是举两个简单易懂的例子,人工智能的价值远不止于此。人工智能实际上也可以在许多其他领域作出贡献,例如我们可以尝试发展人工智能辅助的密度泛函模型,这个领域也相当有趣。甚至,人工智能本身不止是可以作为函数逼近工具使用。实际上,我认为人工智能除了作为函数逼近工具外,还可以帮助我们进行规划。例如有论文介绍了基于蒙特卡洛树搜索的有机合成路线设计。
最后,我觉得强化学习也可以与人工智能结合应用于科学领域。例如,我们可以训练一个智能体来帮助我们实现特定目标。只要给定一个足够好的奖励函数,它就能根据奖励函数帮助我们完成具体的任务。人工智能本身也可以作为日常科研的工具。例如,在撰写论文时,如果有一个想法,我们可以让人工智能找出与该想法相关的其他想法。当然,我们不能完全相信人工智能,因为它本身可能会误导我们,我们需要拥有自己的科研判断。我认为人工智能对科学的帮助是非常大的。可能我提到的前几种应用比较简单,但还有更多的应用等待我们去发现,等待我们更好地利用人工智能。这正是我们倡导人工智能为科学服务的初衷之一。
Q6
NBhub:
最后一个问题是帮比如说本科阶段有跨学科学习想法的同学提的。以过来人的视角,有没有什么给年轻同学们的建议?
校捷:
我建议本科阶段的同学在学术方面多关注一些基础书籍,例如人工智能和算法方面的基本知识,以打牢基础。当然,自身专业领域的知识同样重要。在本科阶段,尽可能多地学习各类知识是有益的,例如在掌握本专业知识的同时,学习计算机、人工智能、统计学和数学等相关知识。除此之外,交叉学科往往要求对所涉及的两个学科有深入的理解。在很多情况下,若对两个学科的知识不了解,可能难以产生新的想法或激发思维火花。因此,我个人建议在本科阶段先专注于本专业知识,同时阅读基础类书籍并掌握基本知识,如数学方面的书籍。在本科阶段,我曾广泛阅读关于复变函数、微分几何等数学方面的书籍,并对抽象代数等领域有所了解,这些书籍对于我化学的学习生涯大有裨益。当然,可以根据个人兴趣选取想要交叉的学科。如果对计算机或人工智能感兴趣,可以多学习计算机相关知识;若对数学感兴趣,也可以多去阅读数学相关书籍。要根据个人兴趣和需求来制定学术发展方向。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。