使用深度学习升级编码自动完成工具
在过去的一年里,人工智能极大地提高了其生成文字的能力通过扫描大量文本数据集,机器学习软件可以生成从短篇小说到歌词的所有内容的令人信服的样本现在,这些相同的技术正通过一个名为Deep TabNine的新程序应用于编码世界
机器学习可以严重提高编码助手的能力
创建 Deep TabNine 的滑铁卢大学计算机科学本科生 Jacob Jackson 表示,这种软件并不新鲜,但机器学习已经极大地改进了它所能提供的功能它为我解决了一个问题,他告诉The Verge
杰克逊于去年 2 月开始开发该软件的原始版本 TabNine,然后于同年 11 月发布但本月早些时候,他发布了一个更新版本,该版本使用名为 GPT—2 的深度学习文本生成算法,该算法由研究实验室 OpenAI 设计,以提高其能力这一更新给程序员留下了深刻的印象,他们在Twitter 上称其为惊人,疯狂和绝对令人兴奋
一位用户 Franck Nijhof 是一名 IT 经理,他在业余时间从事开源家庭自动化软件的工作,他说他不仅对 Deep TabNine 感到惊讶——他还以一种愉快的方式感到害怕我使用 Deep TabNine 的第一个小时并没有帮助 我不断被惊讶地试图绕过它而停下来,Nijhof通过电子邮件告诉The Verge他不停地问自己:它怎么知道的但是怎么办
像这样的自动完成工具并不新鲜,但 Nijhof 说 Deep TabNine 的建议要准确得多我过去曾尝试过一些智能的'通用',但它们很烦人而且没有帮助,他说TabNine 无疑改变了游戏规则
Jackson 说,该软件提供了更好的建议,因为它是在预测的基础上工作的大多数自动完成程序必须解析用户已经编写的内容以提出建议,像处理数学公式中的步骤一样处理他们的代码相比之下,Deep TabNine 依赖于机器学习在数据中找到统计模式来做出预测的能力
与文本生成算法在庞大的书籍,文章和电影剧本数据集上进行训练的方式相同,Deep TabNine 也在来自编码存储库 GitHub 的 200 万个文件上进行训练它在这些数据中找到模式并使用它们来建议任何给定代码行中接下来可能出现的内容,无论是变量名还是函数
Jackson 说,使用深度学习来创建自动完成软件有几个优势首先,它可以轻松添加对新语言的支持他说,你只需要将更多的训练数据放入 Deep TabNine 的漏斗中,它就会挖掘出模式这意味着 Deep TabNine 支持大约 22 种不同的编码语言,而大多数替代方案只能使用一种
最重要的是,得益于深度学习的分析能力,Deep TabNine 提出的建议整体质量很高而且由于该软件不会查看用户自己的代码来提出建议,因此它可以从一开始就开始帮助项目,而不是等待从用户编写的代码中获得一些提示
DEEP TABNINE 也有它的问题
杰克逊同意的一个抱怨是合理的,即 Deep TabNine 更适合某些类型的编码它在自动完成相对死记硬背的代码时效果最好,这种编程已经完成了数千次,但变化很小编写探索性代码的能力较差,用户正在解决一个新问题考虑到软件的智能来自档案数据中的模式,这是有道理的
Deep TabNine 用于编写一些 C++。
那么它对您的普通编码人员来说真的有用吗这将取决于很多因素,比如他们使用什么编程语言以及他们试图实现什么但杰克逊说,它更像是一种比人类编码伙伴更快的输入方法
想象一下,现在所有的程序员都在使用相当于手机键盘的东西来打字,而使用 Deep TabNine 有点像使用普通键盘,他说该软件提高了您输入信息的速度,从而提高了您的工作效率,因为您可以花更多时间思考高级别的东西而不是细节 但它不会为你编写代码,你需要密切关注它
我还没有真正决定我想用它做什么。
目前,Jackson 正在考虑下一步如何使用该软件,以及是否值得将其作为职业商业化他说,他有一份他不想放弃的大型科技公司的全职工作,但来自各个行业的很多兴趣我还没有真正决定我想用它做什么,他说
目前,TabNine 的个人使用许可证费用为 49 美元,商业使用费用为 99 美元,个人必须注册 Deep TabNine 测试版才能访问新的深度学习功能在网站上,Jackson 像这样证明了价格是合理的,这是对该软件吸引力的一个不错的总结:TabNine 每分钟至少可以为您节省 1 秒如果你的时间价值超过 1.40 美元/小时,它会在不到一年的时间内收回成本
他说,如果他能够使用开源软件创建这样的程序,那么人工智能辅助编码的未来将是光明的。
在这个领域工作的每个人的目标是告诉计算机你想写什么代码,它会为你完成,他说目前我们还远未达到这一点,但我认为这是一种工具,可以让您更方便地表达自己的想法
。郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。