来字节跳动实习,有机会发Nature子刊

news2024/11/14 23:21:51

来字节跳动实习,还能有机会发 Nature 子刊?

没错,ByteDance Research 与北京大学物理学院陈基课题组合作的一项研究近期登上了国际顶级刊物 Nature Communications。作者之中,共同一作伟中就是字节跳动的实习生同学,来自北大物理学院陈基课题组,正在攻读凝聚态理论方向的博士。

论文名为《 Towards the ground state of molecules via diffusion Monte Carlo on neural networks 》,作者将神经网络与扩散蒙特卡洛方法结合,大幅提升神经网络方法在量子化学相关任务上的计算精度、效率以及体系规模,成为最新 SOTA(State Of The Art,当前最高水平)。

可以通俗的理解为,在一个分子中,我们知道原子核的位置坐标,但是并不知道电子的位置坐标。但利用参数众多的大规模神经网络,输入原子核的位置,就可以计算出电子出现在不同坐标的概率,推算出电子在空间中的分布情况。

有了这样的研究,进一步就可以预测分子化学性质,预测反应发生的速率、催化效率,为分子动力学研究做基础。有了这些科学知识积累,我们才能进一步在生物制药、化工、材料等领域做出创新。

研究介绍

作者将基于神经网络的试探波函数运用于固定节点面的扩散蒙特卡洛方法 (Diffusion Monte Carlo, or DMC) ,用以精确计算具有不同电子特性的原子以及分子系统。

扩散蒙特卡洛方法是量子化学领域精确计算分子和材料基态能量的常用方法之一。通过与扩散蒙特卡洛方法结合,作者显著提高了量子化学中神经网络 SOTA 方法的计算精度与效率。此外作者还提出了一种基于经验线性关系的外推方法,大幅改善了分子结合能计算。总体而言,该计算框架作为求解量子多体问题的高精度方法,为化学分子性质的深入理解提供了更强大的工具。

一、基于神经网络的量子蒙特卡洛方法

2018年以来,多个研究小组将神经网络运用于变分蒙特卡洛方法 (Variational Monte Carlo, or VMC) 中[1,2,3],借助神经网络强大的表达能力,得到了更为精确的分子基态能量。本工作于2022年公开时,基于神经网络的变分蒙特卡洛方法中的 SOTA 工作是 DeepMind 于2019年提出的 FermiNet [2],能够在规模较小的体系上得到非常精确的结果。然而变分蒙特卡洛方法的精度受限于神经网络的表达能力,在处理较大体系时会有越来越明显的精度问题。此外该类方法在处理较大体系时收敛非常缓慢,对计算资源提出了巨大挑战。

扩散蒙特卡洛方法作为量子化学领域的经典高精度算法之一,具有精度高、可并行性好、适合进行大规模计算等良好的特性。此外扩散蒙特卡洛可以突破神经网络的表达能力限制,利用投影算法超越变分蒙特卡洛方法的精度。

本工作中,作者将 SOTA 的神经网络 (FermiNet) 作为试探波函数与扩散蒙特卡洛方法结合。新的计算方法相比于 FermiNet 显著提升了精度并减少了所需的计算步数。本工作中所设计并实现的扩散蒙特卡洛软件具有神经网络友好、GPU友好、并行友好的特点,可以与广泛的神经网络波函数结合,自动提升其精度与效率。

二、计算结果

1.原子

使用神经网络对大型分子体系进行量子蒙特卡洛计算时,由于算力限制,所能使用的神经网络的表达能力也会受到一定限制。为了模拟这一场景,作者使用了仅仅两层的神经网络来研究第二、三排的原子。计算结果显示随着体系变大,变分蒙特卡洛方法的精度愈来愈差,而扩散蒙特卡洛方法所带来的精度提升也愈来愈明显。

 

 

2.分子

作者在一系列分子体系上也验证了基于神经网络的扩散蒙特卡洛方法的有效性,包括氮气分子,环丁二烯以及双水分子。在所测试的体系上均观察到了明显的计算精度提升。

 

3.苯环及双苯环

本工作公开前,量子化学领域中基于变分蒙特卡洛的神经网络波函数方法只处理过30电子以内的小型分子。本工作首次将神经网络波函数方法应用于42~84个电子的体系,即苯环与双苯环。计算结果显示,扩散蒙特卡洛方法在精度上显著优于变分蒙特卡洛方法,同时可以用少一个数量级的计算步数达到相同或更优的精度。

 

4.线性关系及外推方法

作者在考察神经网络的不同训练阶段所对应的能量时,在很多体系上均发现变分蒙特卡洛与扩散蒙特卡洛的计算结果具有经验性的线性关系(下左图)。使用该线性关系对双苯环的解离能计算进行外推,显著提升了计算精度,得到了吻合于化学实验的结果(下右图)。

三、结语与展望

本工作表明,基于神经网络的扩散蒙特卡洛方法在精度与效率上均优于变分蒙特卡洛方法。作者开源的扩散蒙特卡洛代码可以与量子化学领域不断推陈出新的神经网络[4,5]快速结合,实现对研究社区的赋能。此外扩散蒙特卡洛方法也可以与处理真实固体的周期性神经网络[6]、带赝势的神经网络[7]等一系列方法结合,在相应任务上提升计算效果。

参考文献

[1] Han, J., Zhang, L., & Weinan, E. (2019). Solving many-electron Schrödinger equation using deep neural networks. Journal of Computational Physics, 399, 108929.

[2] Pfau, D., Spencer, J. S., Matthews, A. G., & Foulkes, W. M. C. (2020). Ab initio solution of the many-electron Schrödinger equation with deep neural networks. Physical Review Research, 2(3), 033429.

[3] Hermann, J., Schätzle, Z., & Noé, F. (2020). Deep-neural-network solution of the electronic Schrödinger equation. Nature Chemistry, 12(10), 891-897.

[4] Gerard, L., Scherbela, M., Marquetand, P., & Grohs, P. (2022). Gold-standard solutions to the Schrödinger equation using deep learning: How much physics do we need?. In Advances in Neural Information Processing Systems.

[5] von Glehn, I., Spencer, J. S., & Pfau, D. (2023). A Self-Attention Ansatz for Ab-initio Quantum Chemistry. The Eleventh International Conference on Learning Representations.

[6] Li, X., Li, Z., & Chen, J. (2022). Ab initio calculation of real solids via neural network ansatz. Nature Communications, 13(1), 7895.

[7] Li, X., Fan, C., Ren, W., & Chen, J. (2022). Fermionic neural network with effective core potential. Physical Review Research, 4(1), 013021.

来字节跳动做研究是怎样的体验?

论文发表之后,技术范儿采访了伟中同学,来看看他在字节跳动做研究的体验吧。

技术范儿:

你是怎样参与到这项工作中来的?

伟中:

我学校的导师和 ByteDance Research 一直保持密切的合作,我大四的时候就每两周跟着导师来字节交流一次,探讨前沿技术。

字节的氛围和学校科研很像,大家交流起来就像平常做学术一样,有很多博士毕业、有丰富科研经验的同学,各种问题都能找到一个特别精通的人去请教,收获很大。

本科毕业、博士入学后,我就正式来字节实习了。

技术范儿:

你在这项工作中,都做了哪些贡献?

伟中:

我入职的时候,我的 mentor(也是论文的一作)已经把代码都写好了。

在此基础之上,我加了一些电子移动的新算法,做了一个波函数节点面的可视化,理清了一些 bug。

最重要的是设计、执行并分析了大量计算实验,以证明算法是有效的,用真实的测算来和算法推演结果对比,验证算法的有效性。

技术范儿:

完成这项工作后,

你收获了哪些方面的成长?

伟中:

一方面,在科研过程中,我调研了本领域内大量的文献,也提升了自己的代码水平;

另一方面,我学会了如何把一个好的科研成果写成论文,如何更好的展示相关成果,提升了自己的学术水平。

技术范儿:

在字节做科研工作是怎样的状态?

伟中:

非常专注,大家都在一个空间里工作,有一种沉浸式的氛围让我专注在科研项目中。

效率非常高,我 mentor 是斯坦福的数学博士,懂的特别多,我可以随时请教;当我灵光一现的时候,我可以直接飞书定个会议室、随手找个白板就可以开始讨论新的想法。

而且,我们每周都会有一次文献讨论会,会有很专业的同学给大家讲解最新的学术论文并组织讨论,这个过程中会有很大的收获。

另外就是字节跳动计算资源丰富,可以方便地申请很多 GPU 资源,是我之前能用到的算力的很多倍了。

技术范儿:

你们是一个怎样的团队?

伟中:

应该是北京最豪华的量子化学团队之一了吧。

我们很多团队成员来自中科院、清华、北大,还有很多世界各地量子化学前沿研究团队的博士生也会来这里实习一段时间。

虽然团队成立距今只有两年,但已经发表了两篇 Nature Communications,还有许多其他基础学科研究的论文成果,都有实习同学的参与。

在这里,我们经常可以和世界最前沿的量子化学团队交流,不仅有邮件往来,我们还会邀请他们来开分享会,分享他们在公开论文里看不到的一些想法。

当然,做学术之外,大家日常相处也很轻松,会一起去环球影城团建,也经常一起外出聚餐。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/464499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python数据分析:人口普查可视化,看看哪个地区人口最多

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 今天案例难度指数: ☆☆☆ 准备 环境使用: 在开始写我们的代码之前,我们要准备好运行代码的程序 Anaconda (python3.9) –> 识别我们写的代码 开发工具: jupyter notebook –> 代…

ChatGPT在智能客服产品落地探讨

AI语言模型中的ChatGPT近期在互联网平台上引起了广泛的讨论。那么,如果想将这个大型语言模型应用在智能客服产品中,或者将其在ToB SaaS应用软件领域落地,应该采用哪种构建策略? 现在ChatGPT这个大型语言模型已经在各种平台获得了广…

初学Python来用它制作一个简单的界面

前言 很多刚开始学习python的宝子,就想着自己开始琢磨一些界面,但是吧很多都是有点难度的,自己又琢磨不透,只能把代码复制粘贴运行 现在就带你们来了解一个制作简单界面的代码 ttkbootstrap 是一个基于 tkinter 的界面美化库&am…

CMake自动按目录结构编译Protobuf代码

在使用CMake构建C项目时,如果有使用Protobuf,CMake提供了一个FindProtobuf.cmake模块来处理PB,其使用方法如下: find_package(Protobuf REQUIRED) protobuf_generate_cpp(GENERATED_SRC GENERATED_HEADER "pb/t.proto"…

rancher Prometheus添加exporter监控

mysql 用docker启动exporter docker run -d \-p 9104:9104 \--network my-mysql-network \-e DATA_SOURCE_NAME"mysqlexporter:mysqlexporter(192.168.147.46:3306)/" \prom/mysqld-exporter给集群中的prometheus添加该exporter的数据 First, you will need to c…

力劲塑机:用CRM“塑造”数字化能力

你知道吗?从手机到电脑,从暖气到扶梯,从家用电器到汽车、摩托车,从眼镜、手表到拉链、纽扣,这些物品的生产过程都离不开压铸和注塑工艺。如果说压铸和注塑这个几百亿的产业带动了几万亿的市场,一点也不夸张…

Vue3+axios+Mock.js实现登录功能

文章目录 前言一、Vue3 Element Plus Mock.js axios实现登录功能1.登录页面配置路由、编写表单内容2.编写表单校验规则3.登录触发表单预验证4.Mock.js模拟登录请求 二、面试题1.前端登录流程2.token是什么? 前言 最近学习了Vue3,这篇文章主要分享一下…

2023年6月DAMA-CDGA/CDGP数据治理认证考试可报名地区公布

2023年4月23日,据DAMA中国官方信息,目前6月DAMA-CDGA/CDGP数据治理认证考试开放报名地区有:北京、上海、广州、深圳、长沙、呼和浩特。目前南京、济南、西安、杭州等地区还在接近开考人数中,打算6月考试的朋友们可以抓紧时间报名啦…

内网远程控制软件哪个好用

市面上远程控制软件很多,但是支持纯内网环境(无外网)的很少。大部分远程控制软件可以在局域网用,但是它的数据流量还是要走软件公司服务器,也就是要走外网,所以在纯内网环境没法使用。那么什么软件支持纯内…

什么是光伏发电AGC/AVC系统及RCL-0923光伏群调群控AGC/AVC装置简介。以及分布式电源光伏可观可测,可调可控方案介绍

什么是光伏发电AGC/AVC系统及RCL-0923光伏群调群控AGC/AVC装置简介。以及分布式电源光伏可观可测,可调可控方案介绍。虚拟电厂光伏电站电压快速控制装置 一:什么是ACG系统 AGC系统是指自动发电控制系统,它通过控制光伏逆变器的出力&#xff0…

c++类 笔记

派生类 #include <iostream> using namespace std; class Box{private://类私有&#xff0c;只有成员可以调用 也就是说你不可以通过box1.a来调用 ,这些变量其实你默认不用写private 这个变量&#xff0c;只要放在最上面他默认就是 私有int a1;protected://protected&am…

博途1200/1500PLC工艺PID编程应用(SCL语言)

博途工艺PID的详细解读可以查看下面的博客文章,这里不再赘述 博途PLC 1200/1500PLC 工艺对象PID PID_Compact详细解读_RXXW_Dor的博客-CSDN博客这篇博文我们详细解读博途PLC自带的PID功能块PID_Compact,大部分工业闭环调节过程,我们采用系统自带的PID功能块基本都能胜任,一…

Linux的进程控制

进程创建后&#xff0c;需要对其进行合理管理&#xff0c;光靠OS 是无法满足我们的需求的&#xff0c;此时可以运用进程控制相关知识&#xff0c;对进程进行手动管理&#xff0c;如创建进程、终止进程、等待 进程等&#xff0c;其中等待进程可以有效解决僵尸进程问题。 1、进程…

日撸 Java 三百行day38

文章目录 说明day381.Dijkstra 算法思路分析2.Prim 算法思路分析3.对比4.代码 说明 闵老师的文章链接&#xff1a; 日撸 Java 三百行&#xff08;总述&#xff09;_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护&#xff1a;https://github.com/fulisha-ok/…

java--Lock锁

1.概述 锁是一种工具&#xff0c;用于控制对共享资源的访问 Lock和synchronized&#xff0c;这两个是最常见的锁&#xff0c;它们都可以达到线程安全的目的&#xff0c;但是在使用上和功能上又有较大的不同。 Lock并不是用来代替synchronized的&#xff0c;而是当使用synchroni…

verilog手撕代码3——序列检测和序列发生器

文章目录 前言一、序列检测器1.1 重复序列检测1.1.1 序列缓存对比/移位寄存器法1.1.2 状态机法 1.2 非重复序列检测 二、序列发生器2.1 移位寄存器法2.2 反馈法2.3 计数器法 前言 2023.4.25 2023.4.26 学习打卡&#xff0c;天气转晴 一、序列检测器 1.1 重复序列检测 1.1.1 …

SpringBoot整合EasyExcel上传下载前后端

SpringBoot整合EasyExcel上传下载前后端 需求&#xff0c;在项目启动时加载表格里的数据初始化&#xff0c;前端可以上传全部部门的表格数据&#xff0c;后台根据部门名字解析归类数据和根据表格的部门下载部门数据1.后端1.1创建一个SpringBoot项目&#xff0c;引入依赖1.2 在r…

推荐几个可以免费体验GPT-4的网站

想要体验GPT-4除了每月花20美刀还有别的办法吗&#xff1f;&#xff08;甚至现在有钱都花不了&#xff09; 问就是有的&#xff0c;我搜罗了一些可以免费使用GPT-4的网站&#xff08;注意需要魔法&#xff09;&#xff0c;体验之后觉得还行&#xff0c;推荐给大家。 有别的大…

JavaWeb学习笔记

文章目录 一. HTML二. CSS三. JavaScript1. 引入2.语法/输出语句3. 变量/数据类型4. 运算符5. 流程控制语句6. 函数7. 对象8. 事件监听 四. Servlet1.执行流程2. 生命周期3. 常用方法4. 体系结构5. 配置Servlet 五. JSP1. 简介2. JSP原理3.脚本4.JSP缺点5. EL表达式6. JSTL标签…

AI+HPC?人工智能高性能计算方向就业新路子

刚刚过去的3月&#xff0c;GPT-4刷屏了。吃瓜群众一边津津乐道&#xff0c;一边瑟瑟发抖。随后国产大模型紧随其后&#xff0c;百度的“文心一言”、阿里的“通义千问”、复旦大学的“MOSS”、商汤的“商量”竞赛般的亮家伙&#xff0c;有点全民练模型&#xff0c;人人GPT的味道…