0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

加拿大大四学霸,天才程序员和他的逆天语言模型

新机器视觉 来源:LONG 2019-07-19 09:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

GPT-2,一个来自 OpenAI 的逆天语言模型,现在能用来补全代码了。

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

它支持23种编程语言、5种编辑器,使用简单,效果惊艳。

不少使用过的网友说:TabNine是他们用过的最好的代码补全工具,这是属于程序员的杀手级应用。

加拿大大四学霸,天才程序员和他的逆天语言模型

在 VS Code 的扩展商店里,TabNine 已经被下载 1.3 万次,获得全 5 星好

支持 23 种编程语言

Deep TabNine 支持 Java

加拿大大四学霸,天才程序员和他的逆天语言模型

Python

加拿大大四学霸,天才程序员和他的逆天语言模型

C++

加拿大大四学霸,天才程序员和他的逆天语言模型

Haskell:

加拿大大四学霸,天才程序员和他的逆天语言模型

不同于各种其他代码补全插件,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),粘贴以下命令,然后按回车键完成安装。

extinstallTabNine.tabnine-vscode

Sublime

Sublime 用户安装分为两步:

1、按下Ctrl+Shift+P(Mac用户:⌘+Shift+P),选择Install Package Control;

2、再次按下Ctrl+Shift+P(Mac用户:⌘+Shift+P),选择Package Control:Install Package,然后选择TabNine来安装。

Vim

Vim 使用 Vundle 插件管理器进行安装:

1、添加Plugin ‘zxqfl/tabnine-vim’到.vimrc;

2、输入:PluginInstall,按下回车完成安装。

其他编辑器的安装方法就不一一赘述了,有需要的用户可以参照文末的链接进行安装。

项目超过400kb需要购买许可证:个人用户49美元,商业用户99美元。

加拿大大四学霸,天才程序员和他的逆天语言模型

由于 Deep TabNine 用到机器学习补全代码,因此需要大量的算力(超过100亿次浮点运算),在笔记本上运行模型,无法获得低延迟的体验。

因此,软件开发者推出了 TabNine Cloud 云服务器,用云端 GPU 加速。付费用户不需要再加钱即可使用。

所以听起来很划算吧?

软件开发者自己就说,这个价格其实不贵,有了 TabNine,一分钟就里能帮你节省一秒,咱们再算算程序员的时薪,每个小时能节约1.4美元,不到一年时间就能回本了。

如果你对效果不满意,TabNine 开发者还提供 30 天退款保证。

怎么做到的?

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

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

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

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

比如,可以让模型用 if/else 语句否定单词:

加拿大大四学霸,天才程序员和他的逆天语言模型

加拿大大四学霸,天才程序员和他的逆天语言模型

项目主页显示,在大约经过 GitHub 中 200 万个文件训练后, TabNine 具备了自动补全代码的能力。

在训练这个模型期间,模型学习了例如动态类型语言中的类型推断等复杂行为,用这样的训练方式预测 token。

加拿大大四学霸,天才程序员和他的逆天语言模型

加拿大大四学霸,天才程序员和他的逆天语言模型

作者表示,TabNine 可以很好利用传统代码补全工具难以获取的琐碎细节。

例如,假设 app.get_user()的返回类型是一个带有 setter 方法的对象,而 app.get_users()的返回类型是一个列表,两个名称之间只有细微的差别:

加拿大大四学霸,天才程序员和他的逆天语言模型

这个模型还能以自然语言编写的文档来推断函数名称、参数和返回类型:

加拿大大四学霸,天才程序员和他的逆天语言模型

Deep TabNine 加入了之前用户强烈要求加入的功能:用预先存在的知识,解决在创建新项目时的代码补全问题。

例如,它知道当一个类扩展 React.Component 时,它的构造函数通常会调用一个名为 props 的参数,并且通常在其内部用 this.state 赋值:

加拿大大四学霸,天才程序员和他的逆天语言模型

Deep TabNine 甚至可以做不可能的事情,并记住 C++ 可变参数转发语法:

加拿大大四学霸,天才程序员和他的逆天语言模型

“杀手级应用”

TabNine 问世后,不断收获好评,甚至还有程序员激动得爆粗口:

卧槽,这种软件多来点就好了。(Fuck yeah. This is the sort of software I want to see more often: TabNine )

有网友表示, 没有它都不知道该怎么面对写代码这件事了。

还有人称之为开发者应用中的第一个“杀手级应用程序”:

“令人印象深刻”、“感到神奇”“太酷了”……推特上的评价,颇有电视广告上“用了都说好”的画风。

在各大科技论坛上,也有网友提出了建议和改进的方向。

有用户反映,也有美中不足的地方,比如这个工具会干扰自动括号完成。

作者表示,TabNine 还在不断更新完善中,正在改进这些bug。

大四学霸的第一桶金

想不到吧,这款好评如潮的代码工具,出自一名大四学生之手。

Jacob Jackson,加拿大人,目前在滑铁卢大学主修计算机科学与组合优化专业,辅修数学。大四在读,今年8月份毕业。

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

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

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

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

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

本文素材来源

TabNine网站:https://tabnine.com/blog/deep

Jackson GitHub主页:https://github.com/zxqfl

Jackson简历:http://jacobj.ca/resume.html

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3723

    浏览量

    97434
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74376
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    无线产品出口加拿大都要做ISED认证吗?

    在出口北美市场时,不少企业已经做了美国 FCC 认证,却在进入加拿大市场时被平台或客户要求补充 ISED 认证(IC ID)。这也引出了一个常见疑问: 无线产品出口加拿大,是不是都必须做 ISED 认证?
    的头像 发表于 02-04 17:53 377次阅读
    无线产品出口<b class='flag-5'>加拿大</b>都要做ISED认证吗?

    嘉楠科技与Bitforest在加拿大启动3MW算力余热回收概念验证项目

    新加坡时间2026年1月6日, 加密货币挖矿领域的创新企业嘉楠科技 (纳斯达克股票代码:CAN,以下简称“嘉楠科技”或“公司” ) 宣布,与 Bitforest Investment Ltd. 在加拿大曼尼托巴省联合启动 3 MW 算力余热回收概念验证(PoC)项目。
    的头像 发表于 01-09 14:15 440次阅读

    大理的AI野心藏不住了——风花雪月中千名程序员探讨人工智能

    2025 年12月4日至6日第二届CCF程序员大会暨大理人工智能与应用国际开发者大会在大理圆满落幕。
    的头像 发表于 12-24 17:45 892次阅读
    大理的AI野心藏不住了——风花雪月中千名<b class='flag-5'>程序员</b>探讨人工智能

    程序员最常见谎言

    了。 28我已经测试过了,这个功能没问题,可以上线了。 29别担心,这个问题很快就能解决。 30代码快写完了,已经完成 90% 了 。 希望大家对程序员多一些容忍以及谅解! 各位程序员你们都被我说中了哪些?说说你们的观点
    发表于 12-10 08:24

    NVIDIA推出面向语言、机器人和生物的全新开源AI技术

    NVIDIA 秉持对开源的长期承诺,推出了面向语言、机器人和生物的全新开源 AI 技术,为构建开源生态系统做出贡献,扩展 AI 的普及并推动创新。NVIDIA 正将这些模型、数据和训练框架贡献给 Hugging Face,让
    的头像 发表于 11-06 11:49 1277次阅读

    亮相CPSE 2025安博会

    为期的 “全球安防第一展”——CPSE 2025 安博会顺利落下帷幕。安以“AI 驱动,智影领航”为主题,携几大核心技术矩阵亮相安博会,为全球客户呈现了一场融合 AI、影像技术与机器人技术的硬核科技盛宴。
    的头像 发表于 11-04 16:07 499次阅读

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了一个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 959次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 856次阅读
    开鸿智谷“以赛促<b class='flag-5'>学</b>、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    变频空压机出口加拿大240V变380V的变压器该选择多大的?

    变频空压机出口加拿大:240V 变 380V 变压器选型指南,卓尔凡专用方案 139*2926-3356 随着中国变频空压机在能效与性能上的优势凸显,出口加拿大的需求持续增长。但加拿大工业电网部分
    的头像 发表于 09-16 16:31 1355次阅读
    变频空压机出口<b class='flag-5'>加拿大</b>240V变380V的变压器该选择多大的?

    小白模型:国外主流大模型汇总

    数据科学AttentionIsAllYouNeed(2017)https://arxiv.org/abs/1706.03762由GoogleBrain的团队撰写,它彻底改变了自然语言处理(NLP
    的头像 发表于 08-27 14:06 1155次阅读
    小白<b class='flag-5'>学</b>大<b class='flag-5'>模型</b>:国外主流大<b class='flag-5'>模型</b>汇总

    液压阀的\"语言魔法课\":CAN转EtherCAT,让老设备秒变\"\"!

    \"。它让液压阀从\"单兵作战\"变成\"团队王者\",无需推倒重来,就能让新旧设备跳起工业4.0的\"和谐交响曲\"。下次遇到协议壁垒,不妨试试这招——让老伙计们秒变\"语言天才\",省钱又高效!
    发表于 07-17 15:37

    海康威视被封杀!强势回应!

    电子发烧友网报道(文 / 吴子鹏)日前,加拿大政府以所谓 “国家安全” 为由,依据《加拿大投资法》对海康威视加拿大有限公司启动国家安全审查程序,并要求其在 120 天内全面停止运营。随
    的头像 发表于 07-01 00:20 8731次阅读

    跟老齐Python:从入门到精通

    础的学习者介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插了很多貌似与Python 编程无关,但与学习者未来程序员职业生涯有关的内容。 获取完整文档资料可下载附件哦!!!! 如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 06-03 16:10

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    小白模型:从零实现 LLM语言模型

    在当今人工智能领域,大型语言模型(LLM)的开发已经成为一个热门话题。这些模型通过学习大量的文本数据,能够生成自然语言文本,完成各种复杂的任务,如写作、翻译、问答等。https
    的头像 发表于 04-30 18:34 1446次阅读
    小白<b class='flag-5'>学</b>大<b class='flag-5'>模型</b>:从零实现 LLM<b class='flag-5'>语言</b><b class='flag-5'>模型</b>