码迷,mamicode.com
首页 > 其他好文 > 详细

Deep TabNine 帮助开发者自动完成代码

时间:2019-07-21 10:40:59      阅读:446      评论:0      收藏:0      [点我收藏+]

标签:red   点击   问答   摘要   输入   大学   应用   代码编辑   post   

Deep TabNine 帮助开发者自动完成代码

TabNine 的开发商推出了新的深度学习模型 Deep TabNine,能显著改善代码建议质量。

https://tabnine.com/

TabNine 是一个代码自动完成工具,能在开发者输入代码时预测其余的代码,它支持 23 种编程语言和 5 种代码编辑器。

Deep TabNine是根据程序员过去的习惯自动补全,并在后面给出几种选项的概率。

如果有类似代码出现在之前的项目里,TabNine还会在补全候选框中直接给出地址,方便用户点击进去查阅。

Deep TabNine 使用了 GitHub 上的两百万文件训练,学习动态类型语言中的复杂行为如类型推动,预测标记。

它能根据自然语言写的文档推测函数名、参数和返回类型。

Deep TabNine 是基于 OpenAI 开发的 GPT-2。

实现

TabNine是在GPT-2的基础上构建的,这是一种Transformer架构,原产自OpenAI,是个“逆天”语言模型。

GPT-2的参数高达15亿个,数据量比一代扩大了10倍,使用了包含800万个网页的数据集,共有40GB。

逆天之处就在于,GPT-2写起文章来毫无违和感,无需针对性训练就能横扫各种特定领域的语言建模任务,还具备阅读理解、问答、生成文章摘要、翻译等等能力。

就GPT-2而言,它的训练目标很简单:根据所有给定文本中前面的单词,预测下一个单词。虽然本来是解决NLP问题,看似与写代码没什么关联,但建模代码也算是用一种独有的方式在理解英文。

作者

一位来自加拿大的大四学霸,开发了一款”Deep TabNine“代码补全工具,实现了这一大胆的想法。

Jackson此前在Reddit上发帖称,这是自己在大学阶段开发的第一款商业软件产品。

别人的大学,别人的第一桶金~

但Jackson并非无名之辈,年少有为,曾在2014和2015连续两年获得IOI金牌。

因此,大学一入学,便成为加拿大Michael and Ophelia Lazaridis Olympiad Scholarship奖学金的获得者,免除了8个学期学费书费和生活费。

除了自动补全代码的TabNine,Jackson还开发了很多有意思的应用,比如一个名为jellies的益智游戏,和使用蒙特卡罗树搜索的国际象棋引擎Sashimi等。

 

https://www.readmorejoy.com/2019/07/deep-tabnine/

Deep TabNine 帮助开发者自动完成代码

标签:red   点击   问答   摘要   输入   大学   应用   代码编辑   post   

原文地址:https://www.cnblogs.com/pycoding/p/11220290.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!