C语言编程交流

谷歌大脑教AI写代码,是不是为了取代程序员?

2019-05-15  本文已影响0人  6dd77184077e

最近,在互联网巨头如景溪市的粉丝的帮助下,被工作系统淹没的程序员集体反抗。

一名技术人员在著名的代码托管平台Git Hub上启动了一个名为ICU的项目,以对抗互联网公司的超时工作,并获得许多程序员的响应,尽管没有用

当然,不仅仅是中国大陆是硅谷程序员的血汗工厂,以互联网为中心的斗争神学也是常年流行的,九到五岁的工人将被视为落选天使投资者加里·瓦耶尔楚克(GaryVaynerchuk),他还出版了一系列畅销书,推广极致作品,比如Crush,它鼓励梦想中的年轻开发者们梦想着工作时间。一天,扎克伯格还告诉他的追随者,创办一家公司就像加入海豹突击队一样

去年,优步工程师约瑟夫托马斯自杀,并指责公司的高压文化,长时间的工作和不堪重负的心理压力。

为什么没有更多的程序员愿意为奋斗文化付出代价,他们没有像下一代技术那样成为互联网的光环和标签。

问题的症结可能在于,专业的程序员,负责编辑代码的软件工程师,最初是一种智力活动,其典型的形象最初是在车库里改变世界的开发人员,但随着互联网行业的迅速发展,它逐渐转向手工劳动。

在这方面,“黑客与画家”一书的作者保罗格雷厄姆做了一个很好的总结。

你只是一个熟练的工人,负责实现领导的意志,工作是按照规范写代码,事实上,这和从头挖沟到最后挖沟的工人是一样的,没有什么比机械工作更重要了。

显然,在程序开发过程中只能充当代码工具的程序员,随着时间的推移,将面临一个非常残酷的局面,即劳动力市场上没有讨价还价的力量,公司必须做的事情,如果你做不完,你可以无休止地加班工作,如果你不想做的话,你只能离开。

对于互联网公司来说,当核心技术员工被迫加班,变得越来越精疲力竭时,他们没有时间去思考是否有必要添加这个特性,无论代码是否漂亮,还是公司自己的产品的技术理想,在经验中也很难获得创新和升级。

当然,这一机制的目的是在法律上迫使程序员主动离开,让大多数必须通过提高生产率的公司离开,这显然是劳资关系中的双重损失。

理想的模式是什么?也许我们可以考虑一种新的可能性,那就是把人类程序员现在必须完成的大量机械工作交给人工智能,这样雇员就可以从冗长的体力劳动中解脱出来,从事更有价值的智力工作,有效地创造。

机器和人类是否有可能共同努力,重新获得开发效率-这种效率越来越高-至少谷歌大脑的最新研究正在试图达到这一目标。

网络时代的劳动力革命-让神经网络编写源代码

人类软件工程师的真实生活是什么?

据三字节招聘网站称,顶级互联网公司的软件工程师已经赚了很多钱,可能已经是共识了。该网站被称为程序员的求职伪品,硅谷高级软件工程师的基本工资通常可以达到人民币到百万元左右,不包括许多额外的选项、奖金和福利等。

在中国,高级工程师很容易进入一线城市的高收入群体。

智能背后的代价是,几乎所有的程序员都在加班-谷歌的可靠性工程师从上午工作到午夜工作是非常正常的,这要归功于海湾地区的高房价,他们经常花上几个小时在路上上下班。

只要工作时间长对程序员的健康构成威胁,就会有可怕的工作压力、高速的工作节奏、严格的项目截止日期、大量的工作积压和处理公司更重要的事情的焦虑,这些都是高薪酬氛围背后的独特阴影,许多硅谷程序员已经进入了一段长时间的倦怠崩溃状态。

更残酷的是,一旦他们的工作效率下降,他们的性价比将非常不经济,并提前结束他们的职业生涯,你可以称之为优化裁员。

由于大公司的程序员和管道工人并没有什么不同,所以产品正是按照设计草案和要求在代码中实现的,因此,使用人工智能将他们从超载的工作量中解放出来是非常必要和有价值的。

来自google大脑的最新论文将使神经网络能够完成这一高价值的工作,源代码编辑是如何实现的。

要制作神经网络程序,让他们首先了解人类程序员是如何做到这一点的,google的大脑解决方案是建立在理解人类编写的代码(如GitHub提交)和使用深层神经网络模拟整个编辑过程的基础上的。

具体的过程是研究人员从成千上万的Python开发人员收集了数百万个细粒度源代码,构建了一个大型的编辑序列数据集培训了一个模型并尝试使它学习到程序

结果表明,给定一个编辑序列,该模型知道如何在以后继续编写代码,这与给定一个短时间内的语言模型相同,然后可以用自然语言编辑该模型。

例如,给出两个编辑序列-历史A和历史B-在两个编辑之后,这两个序列都具有相同的编码状态,但是历史A是向foo函数添加一个额外的参数,而History B是从foo函数中移除第二个参数。

通过编辑原始状态和编辑序列编辑

因此,下一个问题是,如何让机器以合理和优雅的方式呈现预测结果?

研究人员已经考虑了机器程序员的两种表征方法-显性表征和隐式表征。

显式特征化是由两级lstm网络实现的,第一阶段可以对每个状态序列进行编码,第二阶段是解码先前观察到的编辑序列,因此实例化序列中的每次编辑的结果都是以猫的形式出现的。

为了防止AI程序员的反类工作,还需要引入隐式表示,这就要求所采用的隐式模型不仅可以对隐式表示进行操作,而且还可以更好地捕捉编辑内容与编辑上下文之间的关系,从而更好地学习策略。

GoogleStaff参考变压器的位置编码和多头注意MHA转换一个强大的隐式注意模型编码器将初始状态和所有已知的编辑编码为隐藏向量,解码器将对每个编辑的位置和给定位置的内容进行解码

结果表明,改进的隐式模型,即双向注意模型,在实际数据中具有较高的精度、精确的置信度和良好的可扩展性,其与显式模型的工作能力几乎可以解决任何任务,甚至涉及元字符和长替换序列的任务,使机器能够洞察人类工程师的编程意图,并在将来像人类代码一样写作成为可能。

简单地说,这项研究的独特之处在于,google的大脑使用一个神经网络来学习一位优秀的人类工程师的编程经验,而不仅仅是简单地将需求放入一堆具有类似结构和功能的静态代码中,而是理解工程师的意图、决策等等,并将其应用到您自己的编码过程中。

显然,这对一线程序员和技术公司来说确实是一件好事,因为他们总是需要处理高度重复和无休止的需求,一个人的有效工作时间和精力总是有限的,机器的增加将直接减少程序员的工作量和疲劳。

但就目前的研究情况而言,现在不是乐观的时候,人工智能程序员的就业还有很长的路要走。

程序员的解放之路还很漫长。

显然,一个接一个地完成开发任务是乏味的,从这个角度来看,程序员和高级工程师以及养鸡场的母鸡的生活没有本质的差别,无论如何,每天都必须完成N个鸡蛋的生产指标。

不幸的是,产卵只能由母鸡来完成,编程目前只能由人类来完成,原因也很简单,人工智能程序员还只是在想象和研究阶段。

首先,机器编写代码的能力还远远不够,真正的效果需要验证。

代码实际上是一个动词,它代表了一个动态过程,它需要强大的泛化能力来完成,好的开发人员倾向于根据新的需求、新的网络环境、bug修复最新的运营活动、公司的战略意图等等来构建代码,这在某种程度上是普通程序员之间的区别,是程序员和程序员之间的一个重要标志,让机器动态地判断。并根据过去的代码序列预测即将出现的编辑内容,目前的性能还不足以支持实际的应用程序。

此外,即使达到了性能,机器也只能执行相对简单的任务,即在这些线路上进行机械工作,如果您想要开发更加复杂和创新的产品,那么优秀的程序员和高强度的工作是不可避免的。

更重要的是,机器开发的成本并不低,例如,在google的大脑研究中,显式模型的资源消耗非常大,而且随着数据量的增加,其成本也呈指数增长,例如插入长度序列比实际数据集中的序列小10倍,但在运行时已经存在数量级的差异。

换句话说,如果你雇了一个程序员来获得它,为什么公司要花费更多的钱和更高的风险来使用人工智能呢?

也许现在考虑这个问题还为时尚早,但现实情况已经非常清楚了,未来程序员是否想找到一份工作并不是决定性因素,而是因为人比机器便宜。

因此,我们似乎能够感受到谷歌从高科技(如程序员)那里攻击的研究运动背后的一种不同寻常的味道。

关键不在于互联网公司发生了什么事

全球动荡背后的关键可能不是是否合法和合法,而是面对一个问题,互联网公司发生了什么

让我们做一个简单的论证

人人皆知

长期以来,程序员的高强度工作是由高工资、高期望值的技术理想共同支付的。

高工资来自于互联网公司的高估值

高期望值、股票期权、股利、理想和其他商业模式,如互联网上市、融资等,以实现赎回

那么,在估值无法确定的大资本环境下,网络公司又回到了正常的估值空间,如何才能赎回程序员的劳动工资呢?

互联网公司在过去十年中的奇迹增长是在“一夜实现致富梦想”的情况下实现的,如果你通常没有盈利或者找不到赚钱的方法,那么在这个行业蓬勃发展的时候,你可以赚到很多钱,而这个行业正在蓬勃发展,包括生产力核心的程序员都保持了一定的水平。对苦苦挣扎的文化保持沉默程度,甚至默认也是合理的。

但现实是,互联网的产业链和商业规则发生了巨大的变化,互联网公司的估值不再是一场赌博游戏,而是开始与传统实体平起平坐,效率优势不再存在,甚至由于长期泡沫成本略高,高工资和低成本表现在新故事背景下的神话。通过公司IPO融资迅速实现财务自由已成为遥远的未来,工人们自然会强调即期赎回,这就是为什么关于该机制的讨论总是围绕着加班费还是没有加班费来进行。

一些网民嘲笑过去是人民币的工资和祝福,这叫做硅谷梦,但现在似乎有点好笑了

时代发生了变化,一方面,传统互联网公司的成长模式已经不能再靠流量来实现,游戏已经走到了尽头,主要是没有钱,互联网公司想要生存,就不能再依靠廉价的价格,因为补贴买不起,而依靠创新,依靠健康的盈利模式,依靠低劳动力价格的成本优势。

然而,一个尽可能挤压程序员的剩余价值的公司,一个员工能否没有足够的时间去思考和优化工作环境,它能真正生产出创新的产品吗?答案显然是否定的。

另一方面,不管是雇员还是政府,他们都在迫使科技公司摒弃“为了效率”的想法。新一代员工想要公开、自由地工作,而不是像悍马那样忍受高强度的工作,而且高薪被认为是不值得的,许多国家的政府也开始干预,英国打算逐步建立一个新的监管机构。结束科技公司自律时代保护高科技员工权益

人力成本空间正在缩小,在机器上实现这一想法是非常合乎逻辑的。

程序员的职业生涯将来会怎样?

当然,斯德哥尔摩的一些程序员可能会感到紧张,毕竟,在耐心和效率方面,机器比人类还多。不要说,只要你愿意花钱买电,这就是一周上午到7天内可以完成的编程怪物。

不要惊慌,不要担心将来引入人工智能的可能性,对于大多数程序员来说,更现实的场景可能是这样的

首先,大部分的机械工作都是在机器的帮助下更有效率地完成,互联网公司需要通过越来越多的业务活动来实现收入,程序员的任务将越来越精简,AI可以更有效地完成基本源代码开发,更有效地取代这部分机械劳动,缓解开发人员的工作压力。

与此同时,软件工程师的工作重心开始转向对过去工业扩张者的创造力和兴趣,许多人选择从事工作,但只有在经过几个月的培训后才能获得高薪和光环,但对未来的研究、技术、产品创新没有兴趣,这种低技能的程序员可以开始工作。短期培训将被机器取代,高技能和创造性工程师的价值将以前所未有的方式得到提高,自然你不必每天坐在电脑前。

这样,程序员职业本身的新陈代谢就会减慢,职业寿命就会延长。

长期以来,快速的技术更新和高强度的工作压力使互联网公司更愿意招聘年轻的开发商,但他们的职业生涯很快就会达到瓶颈,发展的速度将开始放缓,尽管实践经验正在增长,但随着机械工作的增加,它只会被年轻的员工所取代,公司将得到优化。

如果你失去了机器的所有损失类型和体力劳动,很明显,程序员的价值不再是输出代码的生产工具,评估标准不再是KPI是否忠实有效地完成,而是自由意志和创造性思维的体现。

从这个角度来看,人工智能对于已经精疲力竭的程序员来说是一个非创造性的障碍,对技术的期望应该远远大于对被技术淘汰的恐惧,因为只有这样,我们才能摆脱胡萝卜和棍棒的命运,追求工作和生活的乐趣和价值。

用一句老话说,工作是好的,生活是好的,让我们把文明赋予岁月,而不是赋予文明。

上一篇下一篇

猜你喜欢

热点阅读