Бианс Энни из Concave Temple Qubit Produced | Публичный аккаунт QbitAI
GPT-2, невероятная языковая модель от OpenAI, теперь может использоваться для завершения кода.
Старшекурсник из Канады разработал инструмент завершения кода Deep TabNine, чтобы реализовать эту смелую идею.
Он поддерживает 23 языка программирования, 5 редакторов, прост в использовании и дает потрясающие результаты.
Многие пользователи сети, которые использовали его, сказали: TabNine — это лучший инструмент для завершения кода, который они когда-либо использовали, и он принадлежит программистам.убийственное приложение.
В магазине расширений VS Code приложение TabNine было загружено 13 000 раз и получило 5 звезд.
Поддерживается 23 языка программирования
Глубокая поддержка TabNineJava:
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 редакторов
Поддержка TabNineVS Code,Sublime Text,Atom,Emacs,VimПять редакторов кода.
Для использования VS Code и Sublime очень удобно установить TabNine, просто используйте встроенный инструмент управления пакетами расширений.
VS Code
VS Codeпользователь нажимаетCtrl+P(Пользователи Mac нажимают⌘+ P), вставьте следующую команду и нажмите Enter, чтобы завершить установку.
ext install TabNine.tabnine-vscode
скопировать код
Sublime
SublimeПользовательская установка делится на два этапа:
1. НажмитеCtrl+Shift+P(пользователи Mac:⌘+ Shift+P), выберите «Установить управление пакетами»;
2. Нажмите еще разCtrl+Shift+P(пользователи Mac:⌘+ Shift+P), выберите Управление пакетами: Установить пакет, а затем выберите TabNine для установки.
Vim
VimУстановите с помощью менеджера плагинов Vundle:
1. ДобавитьПлагин 'zxqfl/tabnine-vim'прибыть.vimrc;
2. Ввод:PluginInstall, нажмите Enter, чтобы завершить установку.
Способы установки других редакторов не будут описываться один за другим, нуждающиеся пользователи могут обратиться по ссылкам в конце этой статьи для их установки.
Для проектов более 400 КБ необходимо приобрести лицензию: отдельные пользователи49долларов США, бизнес-пользователи99Доллар.
Поскольку Deep TabNine использует машинное обучение для завершения кода, для него требуется много вычислительной мощности (более 10 миллиардов операций с плавающей запятой), а запуск модели на ноутбуке не может обеспечить работу с малой задержкой.
Поэтому разработчики программного обеспечения ввелиTabNine CloudОблачный сервер, ускоренный с помощью облачного графического процессора. Платным пользователям не нужно доплачивать за его использование.
Так что это звучит как хорошая сделка, верно?
Сам разработчик программного обеспечения сказал, что цена не дорогая. С TabNine вы можете сэкономить одну секунду за одну минуту. Давайте посчитаем почасовую зарплату программиста. Это может сэкономить 1,4 доллара США в час, что меньше одного года. окупить.
Разработчики TabNine также предлагают 30-дневную гарантию возврата денег, если вы не удовлетворены результатами.
Как ты сделал это?
TabNine построен на основе GPT-2, архитектуры Transformer, происходящей от OpenAI, и представляет собой языковую модель «анти-неба».
Параметры GPT-2 достигают 1,5 миллиарда, объем данных в 10 раз больше, чем у первого поколения, и используется набор данных, содержащий 8 миллионов веб-страниц, всего 40 ГБ.
Дело в том, что GPT-2 может писать статьи без чувства несоответствия, он может решать различные задачи языкового моделирования в конкретных областях без специальной подготовки, а также имеет понимание прочитанного, вопросы и ответы, генерацию тезисов статей, перевод, т.п. равные способности.
В случае GPT-2 цель его обучения проста: предсказать следующее слово по всем предыдущим словам в тексте. Хотя изначально он предназначался для решения задач НЛП, кажется, что он не имеет ничего общего с написанием кода, но моделирование кода — это тоже своего родаУникальный способ понять английский.
Например, вы можете заставить модель инвертировать слова с оператором if/else:
На домашней странице проекта показано, что у TabNine есть возможность автоматически завершать код после обучения примерно 2 миллионам файлов в GitHub.
Во время обучения этой модели модель обучается сложному поведению, такому как вывод типа в динамически типизированных языках, и прогнозирует токены таким образом, что она обучена.
Авторы говорят, что TabNine может эффективно использовать тривиальные детали, которые трудно получить с помощью традиционных инструментов завершения кода.
Например, предположим, что возвращаемый тип app.get_user() — это объект с методом установки, а возвращаемый тип app.get_users() — это список с небольшой разницей между двумя именами:
Модель также может выводить имена функций, параметры и типы возвращаемых значений из документов, написанных на естественном языке:
Deep TabNine добавляет функцию, о которой ранее настоятельно просили пользователи: использование уже существующих знаний для решения проблемы завершения кода при создании новых проектов.
Например, он знает, что когда класс расширяет React.Component, его конструктор обычно вызывает параметр, называемый props, и обычно присваивает ему this.state внутри него:
Deep TabNine может даже сделать невозможное и запомнить синтаксис вариативной переадресации C++:
"убийственное приложение"
После появления TabNine его постоянно хвалили, и даже некоторые программисты были в восторге:
Блин, побольше бы такого софта. (Черт возьми. Это тот тип программного обеспечения, который я хочу видеть чаще: TabNine)
Некоторые пользователи сети сказали, что без него они не знают, как решить проблему написания кода.
Другие называют его первым «убийственным приложением» среди приложений для разработчиков:
«Впечатляет», «Это потрясающе», «Это так круто»… Комментарии в Твиттере вполне соответствуют стилю «хорошо использовать это» в телевизионных рекламных роликах.
На крупных технологических форумах некоторые пользователи сети также выдвигают предложения и направления по улучшению.
Некоторые пользователи сообщают, что есть и ложка дегтя, например, этот инструмент будет мешать автоматическому завершению брекетинга.
Автор сказал, что TabNine до сих пор обновляется и улучшается, и эти баги исправляются.
Первый горшок золота для старшеклассников
Неожиданно этот высоко оцененный инструмент кодирования появился у старшеклассника.
Джейкоб Джексон, канадец, в настоящее время изучает информатику и комбинаторную оптимизацию, а также изучает математику в Университете Ватерлоо. Я учусь на последнем курсе, выпускной в августе этого года.
Ранее Джексон писал на Reddit, что это был первый коммерческий программный продукт, который он разработал в университете.
Чужой университет, чужой первый горшочек с золотом~
Но Джексон не безызвестный, молодой и перспективный, кем был в 2014 и 2015 годахЗолотая медаль IOI два года подряд.
Поэтому, как только он поступил в университет, он стал получателем канадской олимпиадной стипендии Майкла и Офелии Лазаридис, освобождая 8 семестров от платы за обучение, книг и расходов на проживание.
В дополнение к TabNine, который автоматически завершает код, Джексон также разработал множество интересных приложений, таких как игра-головоломка под названием «желе» и Sashimi, шахматный движок, использующий поиск по дереву Монте-Карло.
портал
Веб-сайт TabNine: https://tabnine.com/blog/deep
Домашняя страница Джексона на GitHub: https://github.com/zxqfl
Резюме Джексона: http://jacobj.ca/resume.html
—Заканчивать—
Сообщество AI | Общайтесь с отличными людьми
Внутренний справочник по искусственному интеллекту | Фокус на развитии отрасли
КубитQbitAI · Автор, подписанный Toutiao
վ'ᴗ' ի Отслеживание новых разработок в области технологий и продуктов ИИ
Нажмите «Смотреть», если вам понравилось!