ПО автозавершения строк Deep TabNine ускорит разработку приложений

30 июль, 2019 - 10:05

ПО автозавершения строк Deep TabNine ускорит разработку приложений

Джейкоб Джексон (Jacob Jackson), изучающий информатику в канадском Университете Ватерлоо, написал интеллектуальное средство автозавершения строк, Deep TabNine, которое должна помочь разработчикам ПО кодировать быстрее.

TabNine разрабатывается с прошлого года, однако в новой версии удалось существенно улучшить качество рекомендаций кода благодаря использованию предиктивной языковой модели глубокого обучения GPT-2 от Open AI. Компания Microsoft, которая является предпочтительным партнёром Open AI по коммерциализации новых технологий ИИ, недавно объявила о планах инвестировать в эту организацию 1 млрд долл.

Для тренировки алгоритма Deep TabNine автор использовал два миллиона файлов из GitHub. Его программа действует аналогично GPT-2, только вместо предложений на языке человеческого общения угадывает по нескольким нажатым кнопкам блоки кода на популярных языках программирования.

От похожих инструментов, таких как IntelliSense for Visual Studio, Deep TabNine выгодно отличается универсальность — предлагается сразу список наиболее вероятных вариантов продолжения. В число поддерживаемых языков входят Python, JavaScript, Java, C++, C, PHP, Go, C#, Ruby, Objective-C, Rust, Swift, TypeScript, Haskell, OCaml, Scala, Kotlin, Perl, SQL, HTML, CSS и Bash.

Оборотной стороной качества прогнозов является вычислительная сложность: модификацию TabNine с приставкой Deep скорее всего пока не получится эффективно использовать на ноутбуке. В качестве временного решения, пока оптимизация производительности программы не будет завершена, Джексон предлагает бета-сервис TabNine Cloud, использующий GPU для ускорения выдачи рекомендаций автозавершения.

Помимо версии ПО, способной работать на среднем потребительском компьютере с «разумной задержкой», Джексон планирует в будущем продавать предприятиям лицензии для запуска его модели на их собственном аппаратном обеспечении.