Small to medium-scale data science experiments often rely on research software developed ad-hoc by individual scientists or small teams. Often there is no time to make the research software fast, reusable, and open access. The consequence is twofold. First, subsequent researchers must spend significant work hours building upon the proposed hypotheses or experimental framework. In the worst case, others cannot reproduce the experiment and reuse the findings for subsequent research. Second, suppose the ad-hoc research software fails during often long-running computationally expensive experiments. In that case, the overall effort to iteratively improve the software and rerun the experiments creates significant time pressure on the researchers. We suggest making caching an integral part of the research software development process, even before the first line of code is written. This article outlines caching recommendations for developing research software in data science projects. Our recommendations provide a perspective to circumvent common problems such as propriety dependence, speed, etc. At the same time, caching contributes to the reproducibility of experiments in the open science workflow. Concerning the four guiding principles, i.e., Findability, Accessibility, Interoperability, and Reusability (FAIR), we foresee that including the proposed recommendation in a research software development will make the data related to that software FAIRer for both machines and humans. We exhibit the usefulness of some of the proposed recommendations on our recently completed research software project in mathematical information retrieval.
translated by 谷歌翻译
如今,由于最近在人工智能(AI)和机器学习(ML)中的近期突破,因此,智能系统和服务越来越受欢迎。然而,机器学习不仅满足软件工程,不仅具有有希望的潜力,而且还具有一些固有的挑战。尽管最近的一些研究努力,但我们仍然没有明确了解开发基于ML的申请和当前行业实践的挑战。此外,目前尚不清楚软件工程研究人员应将其努力集中起来,以更好地支持ML应用程序开发人员。在本文中,我们报告了一个旨在了解ML应用程序开发的挑战和最佳实践的调查。我们合成从80名从业者(以不同的技能,经验和应用领域)获得的结果为17个调查结果;概述ML应用程序开发的挑战和最佳实践。参与基于ML的软件系统发展的从业者可以利用总结最佳实践来提高其系统的质量。我们希望报告的挑战将通知研究界有关需要调查的主题,以改善工程过程和基于ML的申请的质量。
translated by 谷歌翻译
负责任的AI被广泛认为是我们时代最大的科学挑战之一,也是释放AI市场并增加采用率的关键。为了应对负责任的AI挑战,最近已经发布了许多AI伦理原则框架,AI系统应该符合这些框架。但是,没有进一步的最佳实践指导,从业者除了真实性之外没有什么。同样,在算法级别而不是系统级的算法上进行了重大努力,主要集中于数学无关的道德原则(例如隐私和公平)的一部分。然而,道德问题在开发生命周期的任何步骤中都可能发生,从而超过AI算法和模型以外的系统的许多AI,非AI和数据组件。为了从系统的角度操作负责任的AI,在本文中,我们采用了一种面向模式的方法,并根据系统的多媒体文献综述(MLR)的结果提出了负责任的AI模式目录。与其呆在道德原则层面或算法层面上,我们专注于AI系统利益相关者可以在实践中采取的模式,以确保开发的AI系统在整个治理和工程生命周期中负责。负责的AI模式编目将模式分为三组:多层次治理模式,可信赖的过程模式和负责任的逐设计产品模式。这些模式为利益相关者实施负责任的AI提供了系统性和可行的指导。
translated by 谷歌翻译
机器学习(ML)研究出版物通常在GitHub上提供开源实现,使他们的受众可以复制,验证甚至扩展机器学习算法,数据集和元数据。但是,到目前为止,关于此类ML研究存储库的协作活动程度知之甚少,特别是(1)此类存储库从叉子获得贡献的程度,(2)此类贡献的性质(即类型,变化),以及(3)变更的性质,这些变化未归还给叉子,这可能代表了错过的机会。在本文中,我们对1,346毫升研究存储库及其67,369叉进行了验证,无论是定量还是定性(通过Hindle等人的构建代码更改的开创性分类法)。我们发现,尽管ML研究存储库是大量分叉的,但只有9%的叉子对叉子存储库进行了修改。后者的42%发送给家长存储库的更改,其中一半(52%)被父家存储库接受。我们对539个贡献的定性分析和378个本地(仅叉)变化,扩展了Hindle等人的分类法,其中一个与ML(数据)相关的新顶级变更类别和15个新的子类别,包括9个ML--特定的(输入数据,输出数据,程序数据,共享,变更评估,参数调整,性能,预处理,模型培训)。虽然没有由叉子造成的更改主要是涉及域特定于域的定制和本地实验(例如,参数调整),但原点ML存储库确实错过了不可忽视的15.4%文档更改的13.6%的功能更改,而功能更改的13.6%和11.4%的错误修复更改。本文中的发现将对从业者,研究人员,工具匠和教育者有用。
translated by 谷歌翻译
在各个域中应用机器学习(ML)的快速升级导致更多关注ML组件的质量。然后,旨在提高ML组件质量并安全地将其集成到基于ML的系统中的技术和工具的增长。尽管这些工具中的大多数都使用Bugs的生命周期,但没有标准的错误来评估其性能,比较它们并讨论其优势和弱点。在这项研究中,我们首先研究了基于ML的系统中错误的可重复性和可验证性,并显示了每个错误的最重要因素。然后,我们探索在基于ML的软件系统中生成错误基准的挑战,并提供一个错误基准缺陷4ML,该缺陷4ML满足标准基准的所有标准,即相关性,可重复性,公平性,可验证性和可用性。该故障负载基准测试包含ML开发人员在GitHub和堆栈溢出上报告的113个错误,使用两个最受欢迎的ML框架:TensorFlow和Keras。缺陷4ML还解决了基于ML的软件系统软件可靠性工程的重要挑战,例如:1)框架的快速变化,通过为不同版本的框架提供各种错误,2)代码便携性,通过在不同的ML框架中提供相似的错误,3 )错误可重复性,通过提供有关所需依赖关系和数据的完整信息,以及4)通过介绍指向错误的起源的链接来提供有关所需依赖性和数据的完整信息。基于ML的系统从业人员和研究人员可以评估其测试工具和技术的缺陷4ML。
translated by 谷歌翻译
拉力请求是当今协作软件开发和代码审核过程的关键部分。但是,当审阅者或作者不积极参与拉动请求时,拉动请求也可以减慢软件开发过程。在这项工作中,我们设计了一项端到端服务,以提醒作者或审阅者与他们的逾期拉动请求互动,以加速逾期拉动请求。首先,我们根据努力估算和机器学习使用模型来预测给定拉的请求的完成时间。其次,我们使用活动检测来滤除可能逾期的拉请请求,但仍在采取足够的动作。最后,我们使用演员身份证来了解拉动请求的阻止者是谁,并推动适当的演员(作者或审稿人)。轻推的主要新颖性是它成功地减少了拉动请求解决时间,同时确保开发人员认为发送的通知在成千上万的存储库中是有用的。在Microsoft使用的147个存储库的随机试验中,Nudge能够将拉的请求分辨率时间减少60%,而与Nudge未发送通知的逾期拉动请求相比,该请求的8,500次拉。此外,收到推动通知的开发人员将这些通知的73%置于正面。我们观察到在Microsoft的8,000个存储库中扩展Nudge的部署时,我们观察到了类似的结果,在整整一年中,Nudge发送了210,000个通知。这表明了Nudge可以扩展到数千个存储库的能力。最后,我们对选择通知的定性分析指示了未来研究的领域,例如在拉动请求和开发人员的可用性中考虑依赖性。
translated by 谷歌翻译
Vizier是Google的DeCACTO BlackBox和Hyper参数优化服务,它优化了Google一些最大的产品和研究工作。为了按照调整数千个用户的关键系统的规模运行,Google Vizier在提供多个不同的功能方面解决了关键的设计挑战,同时保持完全容忍。在本文中,我们介绍了基于Google内部Vizier基础架构和框架的基于Python的独立界面开源(OSS)Vizier。 OSS Vizier提供了一个能够定义和解决各种优化问题的API,包括多样性,早期停止,转移学习和条件搜索。此外,它被设计为可确保可靠性的分布式系统,并允许对用户的目标函数进行多次平行评估。基于RPC的灵活基础架构使用户可以从任何语言编写的二进制文件中访问OSS Vizier。 OSS Vizier还提供了一个后端(“ Pythia”)API,该API为算法作者提供了一种与Core OSS Vizier系统接口新算法的方法。 OSS Vizier可从https://github.com/google/vizier获得。
translated by 谷歌翻译
研究过程自动化 - 对科学仪器,计算机,数据存储和其他资源的可靠,高效和可重复执行的可靠,高效和可重复执行,这是现代科学的基本要素。我们在此处报告Globus研究数据管理平台内的新服务,该服务可以将各种研究过程的规范作为可重复使用的动作集,流量以及在异质研究环境中执行此类流动的集合。为了以广泛的空间范围(例如,从科学仪器到远程数据中心)和时间范围(从几秒钟到几周),这些Globus自动化服务功能:1)云托管以可靠地执行长期持久的流量,尽管零星的失败,但这些Globus自动化服务功能:1) ; 2)声明性符号和可扩展的异步行动提供商API,用于定义和执行涉及任意资源的各种行动和流动规范; 3)授权授权机制,用于安全调用动作。这些服务允许研究人员将广泛的研究任务的管理外包和自动化为可靠,可扩展和安全的云平台。我们向Globus自动化服务提供用例
translated by 谷歌翻译
Healthcare Ai持有增加患者安全性,增强效率和改善患者结果的潜力,但研究通常受到数据访问,队列策划和分析工具的限制。电子健康记录数据,实时数据和实时高分辨率设备数据的集合和翻译可能是具有挑战性和耗时的。现实世界AI工具的发展需要克服数据采集,稀缺医院资源和数据治疗需求的挑战。这些瓶颈可能导致资源沉重的需求和AI系统的研究和开发延迟。我们提供了一种系统和方法,可加速数据采集,数据集开发和分析和AI模型开发。我们创建了一个依赖于可扩展的微服务后端的交互式平台。该系统可以每小时摄取15,000名患者记录,其中每个记录代表数千个多式数级测量,文本备注和高分辨率数据。统称,这些记录可以接近数据的数据。该系统可以在2-5分钟内进一步执行队列和初步数据集分析。因此,多个用户可以在实时同时协作以迭代数据集和模型。我们预计这种方法将推动现实世界的AI模型开发,并且在长期运行中,有意义地改善医疗保健交付。
translated by 谷歌翻译
机器学习(ML)系统的开发和部署可以用现代工具轻松执行,但该过程通常是匆忙和意思是结束的。缺乏勤奋会导致技术债务,范围蠕变和未对准的目标,模型滥用和失败,以及昂贵的后果。另一方面,工程系统遵循明确定义的流程和测试标准,以简化高质量,可靠的结果的开发。极端是航天器系统,其中关键任务措施和鲁棒性在开发过程中根深蒂固。借鉴航天器工程和ML的经验(通过域名通过产品的研究),我们开发了一种经过验证的机器学习开发和部署的系统工程方法。我们的“机器学习技术准备水平”(MLTRL)框架定义了一个原则的过程,以确保强大,可靠和负责的系统,同时为ML工作流程流线型,包括来自传统软件工程的关键区别。 MLTRL甚至更多,MLTRL为跨团队和组织的人们定义了一个人工智能和机器学习技术的人员。在这里,我们描述了通过生产化和部署在医学诊断,消费者计算机视觉,卫星图像和粒子物理学等领域,以通过生产和部署在基本研究中开发ML方法的几个现实世界使用情况的框架和阐明。
translated by 谷歌翻译
大型语言模型,例如OpenAI的法典和DeepMind的字母,可以生成代码来解决以自然语言表达的各种问题。这项技术已经在至少一项广泛使用的编程编辑器扩展程序中进行了商业化:Github Copilot。在本文中,我们探讨了具有大型语言模型(LLM辅助编程)的编程与程序员协助的先前概念化相似,并且与众不同。我们借鉴了公开可用的经验报告,有关LLM辅助编程以及先前的可用性和设计研究。我们发现,尽管LLM辅助编程通过搜索和重用分享了一些编译,配对编程和编程的属性,但技术可能性和实践经验都存在根本差异。因此,应该将LLM辅助编程视为具有自己独特的属性和挑战的新方法。最后,我们借鉴了用户研究的观察结果,在该观察中,非专家最终用户程序员使用LLM辅助工具来求解电子表格中的数据任务。我们讨论可能出现的问题,并在将大型语言模型应用于最终用户编程时,尤其是对于几乎没有编程专业知识的用户。
translated by 谷歌翻译
如今,越来越多的应用程序是开发用于在分布式分区技术,即DAPP上运行。 DAPP的业务逻辑通常在通过稳定性开发的智能合同中实现,该编程语言用于在不同区间平台上编写智能合同,包括流行的以太统计。在Ethereum中,在矿工机器上运行的智能合同对应于执行费补偿这种计算资源的执行费用。但是,智能合同的部署和执行成本取决于开发人员完成的实施选择。未申请的设计选择可能导致较高的煤气消耗量比必要的消耗更高。在本文中,我们(i)确定了一套影响智能合同部署和交易成本的19个稳定性味道,(ii)通过涉及34名参与者的调查评估这种嗅觉的相关性。在这些嗅觉之上,我们提出了Gasmet,这是一套统计评估智能合同的代码质量的指标。涉及2,186个智能合同的实验表明,拟议的指标具有与部署成本的直接关联。我们套件中的指标可用于更容易地识别需要优化的源代码段。
translated by 谷歌翻译
Machine Learning for Source Code (ML4Code) is an active research field in which extensive experimentation is needed to discover how to best use source code's richly structured information. With this in mind, we introduce JEMMA, an Extensible Java Dataset for ML4Code Applications, which is a large-scale, diverse, and high-quality dataset targeted at ML4Code. Our goal with JEMMA is to lower the barrier to entry in ML4Code by providing the building blocks to experiment with source code models and tasks. JEMMA comes with a considerable amount of pre-processed information such as metadata, representations (e.g., code tokens, ASTs, graphs), and several properties (e.g., metrics, static analysis results) for 50,000 Java projects from the 50KC dataset, with over 1.2 million classes and over 8 million methods. JEMMA is also extensible allowing users to add new properties and representations to the dataset, and evaluate tasks on them. Thus, JEMMA becomes a workbench that researchers can use to experiment with novel representations and tasks operating on source code. To demonstrate the utility of the dataset, we also report results from two empirical studies on our data, ultimately showing that significant work lies ahead in the design of context-aware source code models that can reason over a broader network of source code entities in a software project, the very task that JEMMA is designed to help with.
translated by 谷歌翻译
过去十年已经看到人工智能(AI)的显着进展,这导致了用于解决各种问题的算法。然而,通过增加模型复杂性并采用缺乏透明度的黑匣子AI模型来满足这种成功。为了响应这种需求,已经提出了说明的AI(Xai)以使AI更透明,从而提高关键结构域中的AI。虽然有几个关于Xai主题的Xai主题的评论,但在Xai中发现了挑战和潜在的研究方向,这些挑战和研究方向被分散。因此,本研究为Xai组织的挑战和未来的研究方向提出了系统的挑战和未来研究方向:(1)基于机器学习生命周期的Xai挑战和研究方向,基于机器的挑战和研究方向阶段:设计,开发和部署。我们认为,我们的META调查通过为XAI地区的未来探索指导提供了XAI文学。
translated by 谷歌翻译
在软件项目中引入机器学习(ML)组件创造了软件工程师与数据科学家和其他专家合作。虽然合作可以始终具有挑战性,但ML介绍了探索性模型开发过程的额外挑战,需要额外的技能和知识,测试ML系统的困难,需要连续演化和监测,以及非传统质量要求,如公平性和解释性。通过采访来自28个组织的45名从业者,我们确定了在建立和将ML系统部署到生产时面临的关键合作挑战。我们报告了生产ML系统的开发中的共同合作点,以获得要求,数据和集成以及相应的团队模式和挑战。我们发现,这些挑战中的大部分挑战围绕通信,文档,工程和流程以及收集建议以解决这些挑战。
translated by 谷歌翻译
随着各种公开的AI伦理原则的共识,差距仍然可以随时采用设计和开发负责任的AI系统。我们研究了来自澳大利亚国家科学研究机构(CSIRO)的研究人员和工程师的实践和经验,他们参与设计和开发AI系统的一系列目的。半结构化访谈用于检查参与者的做法如何与澳大利亚政府提出的一套高级AI伦理原则涉及并对齐。原则包括:隐私保护和安全,可靠性和安全性,透明度和解释性,公平性,竞争性,责任,人以人为本的价值观和人类,社会与环境福祉。研究了研究人员和工程师的见解以及在原则的实际应用中为它们提供的挑战。最后,提供了一系列组织响应,以支持实施高级AI道德原则。
translated by 谷歌翻译
The International Workshop on Reading Music Systems (WoRMS) is a workshop that tries to connect researchers who develop systems for reading music, such as in the field of Optical Music Recognition, with other researchers and practitioners that could benefit from such systems, like librarians or musicologists. The relevant topics of interest for the workshop include, but are not limited to: Music reading systems; Optical music recognition; Datasets and performance evaluation; Image processing on music scores; Writer identification; Authoring, editing, storing and presentation systems for music scores; Multi-modal systems; Novel input-methods for music to produce written music; Web-based Music Information Retrieval services; Applications and projects; Use-cases related to written music. These are the proceedings of the 2nd International Workshop on Reading Music Systems, held in Delft on the 2nd of November 2019.
translated by 谷歌翻译
上下文:大数据的有效处理是SQL和NOSQL数据库的一项具有挑战性的任务,在这种数据库中,有效的软件体系结构起着至关重要的作用。 SQL数据库设计用于构建数据和支持垂直可扩展性。相反,水平可伸缩性由NOSQL数据库支持,并且可以有效地处理较大的非结构化数据。可以根据组织的需求选择正确的范式;但是,做出正确的选择通常可能具有挑战性。 SQL和NOSQL数据库遵循不同的体系结构。同样,混合模型之后是NOSQL数据库的每个类别。因此,对于多个云服务提供商(CSP)的云消费者来说,数据移动变得困难。此外,每个云平台IAAS,PAAS,SaaS和DBAAS还监视各种范式。目的:该系统文献综述(SLR)旨在研究与SQL和NOSQL数据库软件体系结构相关的相关文章,并解决各种云平台之间的数据可移植性和互操作性。最新的状态通过观察缩放,性能,可用性,一致性和分片特性,介绍了SQL和NOSQL数据库的许多性能比较研究。根据研究研究,NOSQL数据库设计的结构可以是大数据分析的正确选择,而SQL数据库适合OLTP数据库。研究人员提出了许多与云中数据流动相关的方法。开发了基于平台的API,这使用户的数据移动变得困难。因此,在跨多个CSP的数据移动期间发现了数据可移植性和互操作性问题。为了最大程度地减少开发人员的努力和互操作性,要求统一的API使数据移动在各种云平台之间相对易于访问。
translated by 谷歌翻译
深度学习(DL)框架现在被广泛使用,简化了复杂模型的创建以及它们对各种应用的集成甚至到非DL专家。但是,就像任何其他程序一样,他们容易发生错误。本文与命名静默错误的错误分类:它们会导致错误的行为,但它们不会导致系统崩溃或挂起,也不会向用户显示错误消息。这种错误在DL应用程序和框架中更危险,因为系统的“黑匣子”和系统的随机性质(最终用户无法理解模型如何做出决定)。本文介绍了Keras和Tensorflow Silent错误的第一个实证研究,以及它们对用户节目的影响。从Tensorflow Github存储库中提取与KERA相关的封闭问题。在我们收集的1,168个问题中,77个影响了影响用户程序的可重复静音错误。我们根据“用户程序的影响”和“发生问题”的“发生问题的组件”归类错误。然后,我们根据用户程序的影响,我们为每个问题派生威胁级别。为了评估所确定的类别和影响规模的相关性,我们使用103个DL开发人员进行了在线调查。参与者普遍同意DL库中静音错误的重大影响,并承认了我们的研究结果(即,沉默错误的类别和拟议的影响量表)。最后,利用我们的分析,我们提供了一套指导方针,以促进对DL框架中的这些错误的保护。
translated by 谷歌翻译
在线众包平台使对算法输出进行评估变得容易,并提出诸如“哪个图像更好,A或B?”之类的问题的调查,在视觉和图形研究论文中的这些“用户研究”的扩散导致了增加匆忙进行的研究充其量是草率且无知的,并且可能有害和误导。我们认为,在计算机视觉和图形论文中的用户研究的设计和报告需要更多关注。为了提高从业者的知识并提高用户研究的可信度和可复制性,我们提供了用户体验研究(UXR),人类计算机互动(HCI)和相关领域的方法论的概述。我们讨论了目前在计算机视觉和图形研究中未利用的基础用户研究方法(例如,需要调查),但可以为研究项目提供宝贵的指导。我们为有兴趣探索其他UXR方法的读者提供了进一步的指导。最后,我们描述了研究界的更广泛的开放问题和建议。我们鼓励作者和审稿人都认识到,并非每项研究贡献都需要用户研究,而且根本没有研究比不小心进行的研究更好。
translated by 谷歌翻译