软件开发,软件开发即将到来的革命

数据正在迅速取代代码成为软件开发的基础。在开发人员应对这种范式转变时,领先的企业期望流程和工具转换方式如下。

新工具和前沿项目展示了机器学习和高级分析将如何彻底改变软件的设计、测试和部署方式。

原标题:软件开发即将到来的革命

随着企业开始寻求利用人工智能来推动数字化转型,软件开发也将发生巨大变化。

我们正在进入特斯拉AI主管Andrej Karpathy所称的软件2.0时代。在这个时代中,神经网络会编写代码,人类的主要工作是对任务进行定义,收集数据和构建用户界面。

图片 1

企业已做好了开发人员必须加快机器学习算法和神经网络速度的准备,他们期待看到人工智能推动许多开发和测试功能实现自动化。但是许多企业忽视了一件事情,那就是软件性质本身正在发生变化。

但并非所有任务都可以通过神经网络来解决,至少现在还不是这样。传统的软件开发仍然可以发挥作用。即便如此,人工智能、机器学习和高级分析正在改变着软件的设计、编写、测试和部署方式。

几十年来,软件开发已经手动完成。

今天,应用程序是确定性的。它们的构建围绕的是循环和决策树。如果应用程序无法正常工作,那么开发人员将分析代码并使用调试工具来跟踪逻辑流程,然后重写代码以修复这些错误。

测试

从FORTRAN中的打卡到在Go中编写分布式系统,该学科基本上保持相同:深入思考问题,提出一种聪明的方法(即算法)并给机器一组执行指令。

当系统由人工智能和机器学习提供支持时,应用程序的开发方式就不再是上述方式了。诚然,部分企业有时确实会自己为算法编写新代码,但是大多数工作是以另外的方式完成的,如从开源库中选择标准算法或从其人工智能平台中选择可用的选项。然后再通过选择正确的训练集,告诉算法哪些数据点或特征最重要以及应加权多少,将这些算法融入到工作系统中。

巴西的TOTVS公司正在为约10万名企业客户提供行业关键任务软件。例如,每天其金融服务解决方案会处理数万亿美元的交易。

这种方法可称为“显式编程”,从大型机到智能手机,从互联网热潮到移动革命,都是不可或缺的。它帮助创造了新的市场,并使像苹果,微软,谷歌和Facebook家喻户晓的公司成名。

作为软件开发系统的核心,这种以数据为导向的转变不仅正促使领先的企业重新思考他们的开发软件方式,同时还促使他们重新思考成功应对这种范式转变所需的各种工具和流程。

此类应用需要进行能力测试。测试用例创建者需要非常慎重地考虑如何设计测试场景。每个测试场景的创建都需要花费几个小时。

然而,缺少一些东西。早期计算机时代作家设想的智能系统,从菲利普迪克的机器人出租车到乔治卢卡斯的C-3PO,仍然是科幻小说。即使是最聪明的计算机科学家,看似简单的任务也顽固地无视自动化。专家们指责硅谷面对这些挑战,转而摆脱基本进步,专注于增量或时尚驱动的业务。

引入软件2.0概念

TOTVS实验室执行董事Vicente Goetten表示,跟上发展的步伐是一项重大挑战。每个测试用例都必须针对用户接口进行定制。随着应用程序不断被重新设计,接口总是在变化。如果平台本身发生了变化,例如升级到更新版本的JavaScript时,所有设计元素都会发生变化。Goetten称:想象一下重新编写成千上万的用例是一种什么样的场景。

那当然是即将改变的。 Waymo的自动驾驶汽车最近通过了800万英里。微软的翻译引擎虽然不能流利地使用600万种通信形式,但在中英文任务中可以达到人类的准确程度。初创公司在智能助理,工业自动化,欺诈检测等领域开辟了新的领域。

在去年的Spark+人工智能峰会上,特斯拉人工智能总监Andrej Karpathy谈到了自动驾驶汽车企业如何过渡到这种新的代码开发方式,他将这种新的开发方式称之为软件2.0。

TOTVS为此不得不求助于人工智能。TOTVS用于测试的平台Functionalize现在支持智能创建测试用例。该技术可以按照人类识别输入字段和按钮的位置来查看屏幕,而不是依赖于底层代码。它们还可以提供测试场景和样本数据来为应用程序加压。

个别地,这些新技术有望影响我们的日常生活。总的来说,它们代表了我们对软件开发的思考方式的巨大变化

人工智能驱动的优化算法会针对一个问题尝试与评估标准相关的各种解决方案,直到找到最佳解决方案。例如,该系统会浏览数百万个被标记过的图像,以学习区分汽车和行人。他说:我们的设计工作正在减少,但是事情却做得越来越好。

他说:以前使用传统解决方案时,一名高级质保人员需要花一天时间才能完成测试用例。现在,他们可以在几分钟内创建相同的测试用例。

  • 与显式编程模型的显着不同。

但是如果这种方法不起作用会发生什么事情呢?例如,当特斯拉的自动驾驶汽车无法确定是否在穿越隧道时打开雨刮器时,解决方案并不是继续深入研究机器学习算法以找出问题所在。

Gotten说,最新增加的能力是能够理解通俗易懂的英语。你可以告诉它们测试什么,随后它们会自动为你创建一个测试用例。这为我们打开了一扇新的大门。大大降低了在编写测试用例时对高级质保人员的需求。

这些进步背后的核心突破是深度学习,这是一种受人类大脑结构启发的人工智能技术。最初作为一个相对狭窄的数据分析工具现在可以作为一个接近通用计算平台的东西。它在广泛的任务范围内优于传统软件,最终可能提供长期躲避计算机科学家的智能系统

相反,该公司发现其训练数据中关于汽车在隧道中行驶方面没有足够的示例。解决方案只能是从隧道中拍摄的汽车图像中提取更多图像,然后将其发送给人类进行分类。

监控和部署

  • 这些都是媒体有时不成比例的壮举。

Karpathy说:在读博时,我花了很多时间在模型、算法以及如何实际训练这些网络上。但是在特斯拉,我的大部分时间都花在了处理数据集上。

就算软件在质保方面达到了预定目标,情况也总不能按预期的那样工作。在线家居装修零售商Build.com的高级技术总监Patrick Berry说:某天早上,我们已经有了一些新的产品数据,但是网站却还没有做好处理这些数据的准备。

然而,在深度学习炒作中,许多观察者都错过了对其未来持乐观态度的最大理由:深度学习需要编码人员编写非常少的实际代码。深度学习系统不是依赖于预设规则或if-then语句,而是根据过去的示例自动编写规则。软件开发人员只需要创建一个“粗糙的骨架”来解释特斯拉的Andrej Karpathy,然后让计算机完成其余工作。

管理训练数据并不是像人们想像的那样让开发人员看着一组组图像并标记它们那样简单。首先,开发人员需要对数据本身有一个深刻的了解。例如,一个查看汽车变道的静态图像的系统将很难确定汽车的转向信号灯是否闪烁。解决该问题的办法是回到训练图像并对其进行不同的标记。

Build.com监控在软件性能方面花了数百小时。当问题出现时,公司会将软件恢复到之前已知的良好状态,然后将其发送给开发人员以解决出现的问题。

在这个新世界中,开发人员不再需要为每个问题设计一个独特的算法。相反,大多数工作重点是生成反映所需行为和管理培训过程的数据集。来自谷歌TensorFlow团队的Pete Warden早在2014年就指出这一点:“我曾经是一名程序员,”他写道。 “现在我教电脑写自己的节目。”

但是现在更改图像的标记方式意味着必须重新标记许多以前已经被分类过的图像。

Berry说:我们面临的问题是,编写的软件过于复杂,在流量规模方面,一个人甚至是一个团队都无法查看现有的所有监控系统,无法知道情况是好还是糟糕,亦或是现在应该采取些什么措施。它们耗费了我们太多的时间并拖慢了我们的速度,导致我们无法以足够快的速度获得客户价值,同时我们也无法以足够快的速度向开发人员反馈需要补救的事情。

再次:驱动当今软件中最重要的进步的编程模型不需要大量的实际编程。

此外,人们在标记图像时可能会犯错误,或者彼此标准不同,亦或是图像本身可能就有问题。这意味着必须有一个流程来逐步升级并跟踪问题。当特斯拉开始着手这项工作时,用于管理这种创建软件新方法的流程和工具并不存在。

为此,Build.com转向了Harness。Harness为一个软件交付即服务平台,其将性能监控所花费的时间几乎压缩到了零,并且将部署速度提高了20倍。现在,如果出现问题,系统将自动恢复到先前的已知良好状态,并根据内置的机器学习功能将问题发送给相关人员以进行补救。Build.com还考虑在代码开发过程中使用更多的人工智能。

这对软件开发的未来意味着什么?

Karpathy说:在软件1.0中,我们有IDE来帮助我们编写代码。但是现在,我们不是在进行准确意义上的代码编写工作,而是在累积和批量处理数据集,但它们实际上又是代码。那么针对数据集的IDE是什么样子呢?

他说:我们实际上还没有可用于代码编写的自动化工具。但是人工智能和机器学习可以在开发方面提供帮助,它们实际上能够理解哪些常见模式是好的,哪些是糟糕的。它们可以突出显示异常情况,这样我们可以回过头来展开修复工作。

1.编程和数据科学将日益趋同。

从代码到数据

安全

大多数软件在可预见的未来都不会采用“端到端”学习系统。它将依靠数据模型提供核心认知能力和明确的逻辑,以便与用户交互并解释结果。问题“我应该使用人工智能还是传统方法解决这个问题?”这个问题将会越来越多。设计智能系统需要掌握两者。

在去年跳槽成为LivePerson的首席技术官之前,曾负责亚马逊Alexa项目的Alex Spinelli亲眼目睹了这一开发过程的转变。

Berry还希望看到更多工具使用人工智能,以帮助公司首先编写更好、更安全的代码。

2.AI从业者将成为摇滚明星。

他说:以前有决策树、路径和案例陈述。现在开发人员必须要知道需要有足够的数据和正确的示例,以确保算法工具能够保持工作。实际上,我们正在为我们支持的行业创建一些全新的算法。

这就是我们真正希望在开发方面使用人工智能和机器学习的地方。这些领域并不是投入足够的人才就能解决问题的。比方说,你的代码库有数百万行代码。你要投入多少人去审计这数百万行的代码呢?我们需要能够适应这种规模的解决方案。

做AI很难。排名和文件的AI开发人员 - 不仅仅是杰出的学者和研究人员 - 将成为未来软件公司最宝贵的资源之一。这为传统的编码人员带来了一丝讽刺,他们从20世纪50年代开始在其他行业自动化工作,现在他们面临着自己工作的部分自动化。对他们服务的需求肯定不会下降,但那些想要保持领先地位的人必须以健康的怀疑态度来测试人工智能。

20多年来,LivePerson一直在帮助Home Depot、Adobe、HSBC和LOreal等公司与客户进行沟通。2016年,他开始使用由人工智能驱动的聊天机器人对原有范式进行转型。

例如,Build.com一直在使用GitHub作为其代码存储库。Berry说:他们正在引入一些系统,这些系统将监控你的代码并对第三方库中存在的潜在漏洞发出提醒。

3.需要构建AI工具链。

为了开发聊天机器人,公司首先从由人工标记的客户问题示例着手。他说:我有十多万种表达我想买单的说话方式。那就从这里开始。

GitHub的机器学习工程师Omoju Miller表示,这是GitHub的一个活跃的开发领域。我们正致力于构建支持常见漏洞的模型。此外,GitHub还在近期发布了一款可以帮助开发人员发现在代码中的哪个地方意外共享令牌的工具。

Lyft的机器学习主管Gil Arditi表示最好。 “机器学习处于原始的汤阶段。它类似于80年代早期或70年代末期的数据库。你必须成为世界上专家才能让这些东西发挥作用。“研究还表明,很多人工智能模型很难解释,很容易被欺骗,容易受到偏见。解决这些问题的工具对于释放AI开发人员的潜力是必要的。

一旦有了足够的数据,下一个挑战就是弄清楚哪些属性是重要的。例如,自动化系统可以提取相关性,但可能无法确定因果关系。闹钟经常会在日出时响起,但是并不意味着闹钟响起会引起太阳升起。

发现

4.我们都需要对不可预测的行为感到满意。

他说:如何加权数据的某些属性或特征要由人来做出。你需要能够花费大量时间思考这些问题的专家。

Miller透露,GlerHub还在致力于开发一款工具,它可以帮助开发人员以自然方式发现一些功能。通过人工智能,开发人员可以根据自己的意图搜索相关的功能。

计算机“指令”的比喻对于开发人员和用户来说都是熟悉的。它强化了这样一种信念,即计算机完全按照我们的说法行事,类似的输入总能产生类似的输出。相比之下,AI模型就像生命的呼吸系统。新的工具将使它们更像显式程序,特别是在安全关键设置中,但我们冒着丢失这些系统的价值

今天,根据客户的不同,LivePerson可以理解65~90%的客户问题,同时公司正在不断尝试利用无监督学习和迁移学习等人工智能技术以及人工输入来提高这一比率。

她说:通过在GitHub的开源编码平台上使用大量公开代码,机器学习研究团队在实现这一目标方面取得了重大进展。通过语义代码搜索,开发人员可以增加和简化解决问题的计算需求。

  • 如AlphaGo的“外星人”动作 - 如果我们设置的护栏太紧。在我们开发和使用AI应用程序时,我们需要理解并接受概率结果。

偏见成为了新漏洞

这意味着开发人员将不再受他们的知识限制。他们可以利用存储在GitHub上的所有代码知识来帮助解决问题。

并希望AI接管的可能性接近于零。

当人工智能驱动的系统无法正常工作时,可以采用三种主要方法来解决这一问题。

分析

来源:)

首先,问题可能出在算法本身上。但这并不意味着开发人员需要深入研究代码。通常,问题的原因是选择了错误的算法。

Constellation Research的创始人兼首席分析师Ray Wang表示,静态和动态软件分析工具都在使用人工智能技术。

责任编辑:

Spinelli说:人们必须做出一个决定,即该算法要优于其他算法。这仍然是人类面临的一项挑战。

机器学习能力已经比18个月前更强大了。我们看到神经网络已经在开始使用。现在,静态分析多于比动态分析,但是我们在未来几年会看到由人工智能驱动的动态分析的兴起。

其次是算法的调整。算法着眼于哪些功能,每个功能是多少权重?如果算法本身拥有自己的功能,那么这一工作将异常复杂。

开发代码

预测某人是否具有良好信用的系统可以查看固定数量的数据点,并且其推理过程可以被提取和被分析。但是一个可以识别图像中猫的系统可能会提出一个人类完全无法理解的过程。这可能导致金融服务公司的合规性问题,或者可能使人们的生命安全受到医疗保健应用和自动驾驶汽车的威胁。

在谈到从头开始编写新代码时,Build.com的Berry指出。当前的技术还有待改进。

数据本身也会导致一些问题。Spinelli说:在哪里收集的数据,数据来自什么群体,都可能造成偏见。其有可能是针对种族群体或性别的偏见,也有可能只是针对业务结果的偏见。

他表示:现在出现了一些系统,但是它们更像是内置模板的剪切和粘贴。

他说,弄清楚问题出在算法上、调整上还是数据上,可能是非常具有挑战性的。我认为我们并没有真正地解决这一问题。Spinelli补充道,当前的情况非常特殊,技术出现在研究实验室里并被直接应用到了生产当中。

但这只是刚开始发生变化。最受欢迎的IDE,微软的Visual Studio,在4月份发布的最新版本中内置了人工智能辅助代码。微软Visual Studio IntelliCode高级项目经理Mark Wilson-Thomas表示,该功能基于对数千个开源GitHub存储库的机器学习。

我们看到科学家提出了很多东西,但是这些科学家没有运行关键任务系统的丰富经验。目前业内也几乎没有什么标准和最佳实践。这是一个大问题。也就是说目前它们还不成熟。例如,大多数现成的算法都没有能力解释为什么会做出某个特定决策。

我们正在让开源社区代码具有智慧,微软Visual Studio和Visual Studio Code程序管理合作总监Amanda Silver说。她指出,这也有助于理解常用的使用类别,在处理不熟悉的代码时,这尤其有用。

LivePerson使用了百度的Ernie和谷歌的Bert开源自然语言处理算法。Spinelli说:它们具有不错的审核和可追溯性。但是从总体上看,这还不够。

在最近对IntelliCode用户进行的一项调查显示,超过70%的人表示,与传统的IntelliSense相比,新的由人工智能驱动的IntelliCode让他们感觉更有效率。

当LivePerson自己构建算法时,他们将这种功能列入了需求。我们是以一种可追溯性的方式构建算法的,所以当你问算法为什么给出这个答案?它们会告诉你这是我所看到的,这里是我的阅读方式和评分方式。

使用这个工具的企业也可以为自己的员工创建自定义的私人模型。她说:这使得IntelliCode能够说团队或企业的土话,无需将源代码传送给微软。

人工智能的版本控制与数据密切有关

Gartner分析师Svetlana Sicular表示,这种功能是微软购买GitHub的最初原因。

在人工智能系统中查找和修复问题非常困难。修复、正在进行中的改进以及模型漂移的校正等所有这些工作导致对系统的修改更加频繁。

微软在去年收购的GitHub拥有超过1亿个存储库,其中2500万以上是开源的。该平台可免费用于公共存储库以及小型私有项目。Sicular称:GitHub就是一个代码存储库。我认为微软将会用它们生成新的代码。

传统的软件开发流程都有版本控制,以跟踪哪些代码行已更改以及谁进行了更改。但是当更改不是在代码中而是在数据或调整中时,情况会是什么样?当系统内置了针对持续学习的反馈回路时,情况又是什么样呢?

智能应用开发平台

技术咨询和系统集成公司Insight的数据与人工智能首席架构师Ken Seier表示:你无法自行更改训练数据,因为你没有可重复的结果。

Build.com的Berry也在密切关注低代码和无代码的发展。他说:这不是什么新东西。开发人员在开发过程中正在将系统整合在一起。

他说,传统的DevOps工具存在不足。你需要在数据管道中添加其他步骤。

这使得人工智能系统部署变得更加便捷。例如,针对推荐引擎的预装解决方案让过去棘手的定制解决方案变得很容易。

构建人工智能模型新实例的开发团队需要能够快照使用的数据并将其存储在存储库中。然后进入测试环境。在该环境中,他们将针对已知的方案以及测试数据集来运行它们,以确保它们具有一定的准确性。

现在,这种低代码方法正变得更加智能,公司不用再浪费时间建立商品系统。这让我们有时间进行真正的创新。这些领域正在为我们提供可继续发展的东西,让我们感到非常兴奋。

大多数企业都在自行构建这些工具,虽然主要的云人工智能平台供应商已将许多此功能部署到位,但是仍然缺少关键要素。

以Mendix为例,该公司花了十年多的时间研发出了一套用于创建应用程序的模块系统。开发人员可以将平台上能够使用的功能选项集中在一起,当这些功能不够时,他们可以为缺失部分链接外部代码。如今该公司已经建立了一套深度学习系统来分析这些模型,查看它们在生产中的行为,看看哪些是最成功的,然后根据这些模型识别相关的模式。

能够用于调整模型的自动化流程也必须要开发出来,以测试各种算法并查看哪种算法在特定情况下效果更好。

Deloitte Cyber的应用安全负责人Vikram Kunchala称,IT部门对于使用这些平台目前还存在抵触情绪,与此同时业务部门对此也缺乏信心。

理想情况下,如果算法偏离了轨道,那么自动化流程可以重新训练模型,从而使一切重新运行。如果无法使模型再次恢复正常,那么则需要提前预备一系列后备选项。

企业正在小规模地进行试验,不过我还没有看到任何客户在以企业标准进行部署它们。

使用传统的软件开发,恢复到该软件的先前工作版本非常简单。但是由于环境的变化,人工智能已经偏离了轨道,那么恢复或许已经变成了不可能的事情。

软件2.0

他问道,如果软件无法运行并且无法重新训练,那会发生什么?你是否淘汰它们并依靠人类操作人员?你是否拥有可以让人类做出这些决定的业务流程?在使用自动驾驶汽车时,是否意味着它们会让汽车熄火?

但最大的变化是应用程序将与传统代码没有任何联系。

处理漂移

比如说,你想创建一个玩井字棋的应用程序,就可以根据规则和游戏策略来编写程序。一方这么走一步,另一方就那么应一步。开发人员的工作只是选择正确的策略并创建有吸引力的用户界面而已。

训练数据通常是即时快照。当条件改变时,该模型的有效性就会降低。为了应对这种漂移,企业需要针对真实数据不断对模型进行测试,以确保系统仍可正常工作。Seier称:如果他们以30天为一个窗口来训练模型,那么他们应该每两周抓住一个新的30天窗口,并确定是否出现了问题。

如果目标是要击败人类玩家,这种策略也适用于井字棋、跳棋、甚至国际象棋。但是对于难度更大的游戏,比如围棋,要创建一套规则就非常困难。但如果采用人工智能技术,如深度学习和神经网络,情况就不一样了。

当人工智能系统更改了其正在观察的行为,那么情况很快就会变得复杂起来。举例来说,人工智能系统会查看历史数据,以查看工厂设备何时最有可能损坏。如果工厂随后使用这一预测结果来更改维修计划,那么这一预测结果在后面将不再有效,但是在新数据上对模型进行再训练将导致另外的问题发生,因为在没有人工智能干预的情况下,机器将再次开始损坏。

开发人员不再从规则着手,而是从数据开始,即大量的对弈数据。通过AlphaGo,Google在数千次人类游戏中训练了该系统。在最新版本的AlphaGo Zero中,训练数据是系统对抗自己,随机开始。

Seier说:自动驾驶汽车面临的挑战之一是与其他自动驾驶汽车打交道。它们在人工驾驶汽车的环境中接受培训,而自动驾驶汽车的行为方式是不一样的。

只要培训数据清晰且充分,并且成功或失败的标准也很明确,那么这种方法就有可能彻底颠覆软件开发工作。开发人员现在就必须要致力于管理培训数据和成功标准,将实际编码工作留给系统,而不是试图弄清楚并编写游戏规则。

Fiddler Labs的联合创始人兼首席执行官Krishna Gade说,他希望看到一个针对以数据为核心的人工智能和机器学习系统的集成开发环境。他说:我们需要一个能够轻松导入和浏览数据以及清理表单的IDE。Jupyter备忘录有些用处,但是它们也存在其他的问题,如缺少版本控制和检查工具。

特斯拉的AI主管Andrej Karpathy称,这也正是特斯拉在自动驾驶汽车中采用的方法。

随着越来越多的模型投入到生产中,管理各种版本变得越来越重要。他说:Git可以在模型中重用,但是它们不能扩展到大型数据集中。

他在去年的技术会议主题演讲中指出,这是一种全新的软件设计方式。现在,我们不是编写代码,而是积累和整理数据集,这些数据集实际上就是代码。

数据安全挑战

例如,特斯拉的挡风玻璃刮水器在汽车开过隧道时很难知道何时开启和关闭。在传统的软件开发中,程序员会查看代码以找出错误逻辑的位置。使用软件2.0后,开发人员只需要查看这些数据。

随着企业转向由人工智能驱动的软件开发实践,他们还将面临着许多新的安全挑战,而这是许多人无法预料的。

在这种情况下,关于驾车穿越隧道并没有足够的训练数据可用。特斯拉必须要走出去,以获得更多数据,注释这些数据,然后将其添加到训练数据集中,并重新运行深度学习算法。

例如,当系统由数据科学家而不是传统软件工程师创建时,安全性可能事后才被想起。第三方和开源人工智能算法可能有其自身的问题,包括漏洞和不安全的依赖关系。

他补充道,传统的开发仍有发展空间。目前,这些系统的用户界面以及与其他平台的集成仍然是手动构建的。

全球公共政策企业Access Partnership的数据和信任业务全球负责人Michael Clauser说:开发人员使用最新修补的代码至关重要。

随着越来越多的企业将人工智能用于那些有着大量可用数据的应用程序和使用低代码平台的应用程序,软件开发工作在不久的将来将会发生巨大变化。

第三方供应商提供的专有代码通常是专利性的并且无法分析。

作者:Maria Korolov二十多年来一直长期关注新兴科技和新兴市场。

Clauser说:可以肯定的是,数据量繁重的大型互联网企业和其他蓝筹股企业在自己的人工智能开发和部署中正遇到了网络安全麻烦。对于为资源而苦恼的初创企业来说,情况可能并非如此,他们更关注的是展示自己的人工智能可以做什么,可以解决什么问题,而不是担心有一天黑客会把他们的人工智能系统变成问题。

编译:陈琳华

人工智能算法还必须与传统系统进行交互,包括数据库和用户界面。如果安全专家没有提前介入安全流程,那么出现错误将是非常常见的事情。

原文网址:-is-poised-to-radically-transform-software-development.html

此外,人工智能系统通常建立在新的云人工智能平台上。此处的安全风险尚不为人所知。尽管如此,人工智能的最大挑战还是来自于数据。人工智能系统需要访问操作数据,训练数据和测试数据。企业通常会忘记锁定后两组数据。此外,数据科学家更喜欢构建自己的人工智能模型以使用非加密的测试数据,而不是使用加密或标记化的数据。这些系统一旦运行,缺乏加密就会成为一个严重的漏洞。

责任编辑:周星如

在线文件共享供应商Box是一家当前正在解决其人工智能系统潜在安全风险的公司。该公司的首席信息安全官Lakshmi Hanspal表示:我们要告诉客户,请放心地将最宝贵的内容交给我们,我们将让这些内容给企业带来强大的生产力。

Box现在正致力于使用人工智能从这些内容中提取元数据,以改善搜索、分类等功能。她举例说Box能够自动从合同中提取条款和价格。

对于构建新的人工智能系统,Box仍然非常谨慎地保留了其传统级别的安全控制。她说:对于任何产品,无论是人工智能还是非人工智能,我们都有一个安全开发流程。它们与ISO安全标准保持一致。虽然Box内部有很多条线,但是它们都遵循着一个相似的流程,并通过内置的设计实现安全性。其中包括了加密、日志记录、监视、身份验证和访问控制等措施。

德勤会计师事务所首席云战略官David Linthicum指出,大多数企业并未将安全性纳入其人工智能开发流程当中。实际上大约有75%的企业都是在事后处理安全问题。他说:事后再做这一工作,就像当卡车在道路上行驶时试图更换它们的轮胎一样。

作者:Maria Korolov在过去二十年中长期关注新兴技术和新兴市场。

编译:陈琳华

原文网址:-software-development-in-the-人工智能-era.html?nsdr=true

责任编辑:周星如

本文由澳门威斯尼人平台登录发布于 操作系统,转载请注明出处:软件开发,软件开发即将到来的革命

相关阅读