来自MIT-Takeda项目的协作研究团队结合了物理学和机器学习,对药丸和粉末中的粗糙颗粒表面进行表征
Leave a CommentTag: Research
由Google研究科学家Petros Maniatis和Daniel Tarlow发布 软件并非一步到位创造出来的,它是逐步改进的,一点一点地改进——编辑、运行单元测试、修复构建错误、处理代码审查、再次编辑、满足linter的要求,修复更多错误——直到最终变得足够好并合并到代码仓库中。软件工程不是孤立的过程,而是人类开发人员、代码审查人员、错误报告人员、软件架构师和工具(如编译器、单元测试、linter和静态分析器)之间的对话。 今天,我们介绍DIDACT(Dynamic Integrated Developer ACTivity),这是一种用于培训大型机器学习(ML)模型进行软件开发的方法。 DIDACT的新颖之处在于,它使用软件开发过程作为模型的训练数据源,而不仅仅是该过程的精细终态——完成的代码。通过向模型展示开发人员在工作时看到的上下文以及他们采取的行动,模型学习软件开发的动态,更符合开发人员花费时间的方式。我们利用Google软件开发的工具来扩大开发人员活动数据的数量和多样性,超越了以前的工作。结果在两个方面非常有前途:对专业软件开发人员的有用性,以及作为植入ML模型的一般软件开发技能的潜在基础。 DIDACT是一个多任务模型,训练开发活动,包括编辑、调试、修复和代码审查。 我们构建并内部部署了三个DIDACT工具,评论解决(我们最近宣布)、构建修复和提示预测,每个工具都集成在开发工作流程的不同阶段。所有这三个工具都得到了数千名内部开发人员的热烈反馈。我们认为这是有用性的终极测试:专业开发人员是否利用这些工具来提高生产力? 最令人兴奋的是,我们展示了DIDACT是通向一种通用开发者辅助代理的第一步。我们展示了经过训练的模型可以通过提示开发人员活动的前缀以各种令人惊讶的方式使用,并通过链接多个预测来展开更长的活动轨迹。我们相信DIDACT为开发能够在软件开发过程中通用辅助的代理铺平了一个有前途的道路。 软件工程过程中的数据宝库 Google的软件工程工具链将与代码相关的每个操作存储为工具和开发人员之间交互的日志,并已经这样做了几十年。原则上,人们可以使用这个记录来详细重现“软件工程视频”中Google代码库的关键情节,一步一步地——一次代码编辑、编译、评论、变量重命名等等。 Google的代码位于monorepo中,一个包含所有工具和系统的代码单一存储库。软件开发人员通常会在由名为“Clients in the Cloud(CitC)”的系统管理的本地写时复制工作区中尝试代码更改。当开发人员准备将一组代码更改打包到特定目的(例如修复错误)时,它们会在Critique中创建一个变更列表(CL),这是Google的代码审查系统。与其他类型的代码审查系统一样,开发人员与同行审查人员就功能和样式进行对话。随着对话的进行,开发人员编辑他们的CL以解决审查人员的意见。最终,审查人员宣布“LGTM!”(“看起来不错”),CL被合并到代码库中。 当然,除了与代码审查人员的对话之外,开发人员还与其他大量软件工程工具进行“对话”,例如编译器、测试框架、linter、静态分析器、fuzzer等。 开发软件所涉及到的复杂活动的插图:开发人员的小动作,与代码审查人员的互动以及使用编译器等工具。 软件工程的多任务模型 DIDACT利用工程师和工具之间的交互来支持ML模型,从而协助Google开发人员在追求其软件工程任务时,建议或增强开发人员在上下文中采取的行动。为此,我们定义了许多有关单个开发人员活动的任务:修复破碎的构建、预测代码审查评论、处理代码审查评论、重命名变量、编辑文件等。我们对每个活动使用一个共同的形式化:它需要一些状态(代码文件),一些意图(特定于活动的注释,例如代码审查评论或编译器错误),并产生一个操作(执行任务所需的操作)。这个操作就像一个小型编程语言,可以扩展到新添加的活动中。它涵盖了编辑、添加注释、重命名变量、标记带有错误的代码等内容。我们将这种语言称为DevScript。 DIDACT模型受到任务、代码片段以及与该任务相关的注释的促进,并产生开发操作(例如编辑或评论)。 这种状态-意图-操作形式使我们能够以一般方式捕获许多不同的任务。更重要的是,DevScript是一种简洁的表达复杂操作的方式,无需输出整个状态(原始代码),因为它在动作发生之后就会变得如此;这使得模型更加高效和可解释。例如,重命名可能会触及文件中的数十个地方,但是模型可以预测单个重命名操作。 ML同行程序员…
Leave a Comment在机器学习的帮助下,科学家正在努力开发一种可以对所有SARS-CoV-2菌株有效的疫苗
Leave a Comment麻省理工学院的研究人员建立了DiffDock,这个模型将来或许能够比传统方法更快地发现新药,并降低潜在的不良副作用
Leave a Comment麻省理工学院的研究人员展示了自主无人机导航的新进展,使用基于大脑液态神经网络的技术,在超出分布范围的情况下表现出色
Leave a Comment