(给机器学习算法与Python学习加星标,提升AI技能)本文经AI新媒体量子位(公众号 ID: QbitAI)授权转载
GPT-2,一个来自OpenAI的逆天语言模型,现在能用来补全代码了。一位来自加拿大的大四学霸,开发了一款”Deep TabNine“代码补全工具,实现了这一大胆的想法。它支持23种编程语言、5种编辑器,使用简单,效果惊艳。不少使用过的网友说:TabNine是他们用过的最好的代码补全工具,这是属于程序员的杀手级应用。在VS Code的扩展商店里,TabNine已经被下载1.3万次,获得全5星好评。支持23种编程语言
不同于各种其他代码补全插件,Deep TabNine是根据程序员过去的习惯自动补全,并在后面给出几种选项的概率。如果有类似代码出现在之前的项目里,TabNine还会在补全候选框中直接给出地址,方便用户点击进去查阅。除以上几种语言之外,Deep TabNine还支持JavaScript、C、PHP、Go、C#、Ruby、Objective-C、Rust、Swift、TypeScript、OCaml、Scala、Kotlin、Perl、SQL、HTML、CSS和Bash。支持5种编辑器
TabNine支持VS Code、Sublime Text、Atom、Emacs、Vim五种代码编辑器。对于使用VS Code和Sublime来说,安装TabNine非常方便,用自带的扩展包管理工具即可。VS Code
VS Code用户按下Ctrl+P(Mac用户按下⌘+P),粘贴以下命令,然后按回车键完成安装。ext install TabNine.tabnine-vscode
Sublime
1、按下Ctrl+Shift+P(Mac用户:⌘+Shift+P),选择Install Package Control;2、再次按下Ctrl+Shift+P(Mac用户:⌘+Shift+P),选择Package Control:Install Package,然后选择TabNine来安装。Vim
1、添加Plugin ‘zxqfl/tabnine-vim’到.vimrc;2、输入:PluginInstall,按下回车完成安装。其他编辑器的安装方法就不一一赘述了,有需要的用户可以参照文末的链接进行安装。由于Deep TabNine用到机器学习补全代码,因此需要大量的算力(超过100亿次浮点运算),在笔记本上运行模型,无法获得低延迟的体验。因此,软件开发者推出了TabNine Cloud云服务器,用云端GPU加速。付费用户不需要再加钱即可使用。怎么做到的?
TabNine是在GPT-2的基础上构建的,这是一种Transformer架构,原产自OpenAI,是个“逆天”语言模型。GPT-2的参数高达15亿个,数据量比一代扩大了10倍,使用了包含800万个网页的数据集,共有40GB。逆天之处就在于,GPT-2写起文章来毫无违和感,无需针对性训练就能横扫各种特定领域的语言建模任务,还具备阅读理解、问答、生成文章摘要、翻译等等能力。就GPT-2而言,它的训练目标很简单:根据所有给定文本中前面的单词,预测下一个单词。虽然本来是解决NLP问题,看似与写代码没什么关联,但建模代码也算是用一种独有的方式在理解英文。项目主页显示,在大约经过GitHub中200万个文件训练后,TabNine具备了自动补全代码的能力。
在训练这个模型期间,模型学习了例如动态类型语言中的类型推断等复杂行为,用这样的训练方式预测token。Deep TabNine加入了之前用户强烈要求加入的功能:用预先存在的知识,解决在创建新项目时的代码补全问题。传送门
TabNine网站:
https://tabnine.com/blog/deepJackson GitHub主页:
https://github.com/zxqfl