Deep TabNine: инструмент на нейросетях, который помогает писать код

TabNine — это инструмент для автодополнения кода. Разработчики обучили GPT-2 на 2-х миллионах файлов с GitHub. Текущая версия работает для Python, Java, Haskell и C++. Чтобы получить доступ к бета-версии, необходимо зарегистрироваться по ссылке.

Новость о GPT-2 была громкой среди NLP-исследователей и вне сообщества, потому что модель показала результаты, схожие с человеческими, на задаче генерации текста. Недавно исследовательская компания HuggingFace открыла свою библиотеку с предобученными state-of-the-art моделями для NLP.  Среди них — GPT-2.

Несмотря на успехи в глубоком обучении, на текущий момент инструменты для разработчиков чаще всего не задействуют глубокое обучение для оптимизации написания кода.

Что внутри TabNine

Данные для обучения модели разработчики собрали с открытых репозиториев на GitHub. Во время обучения модель должна была предсказывать следующий токен на основе предыдущих токенов. В NLP токен — это единица анализа текста. Deep TabNine может использовать тонкие подсказки, которые не могут уловить существующие инструменты. Например, система распознает разные типы выходных данных у методов app.get_user() и app.get_users().

Пример распознавания типов выходных данных

Deep TabNine основывается на GPT-2, которая использует Transformer архитектуру. Эта архитектура изначально разрабатывалась для решения проблем в обработке естественного языка. Задачи моделирования кода и моделирования естественного языка схожи по подходам, которые применяются для их решения. Это связано с структурированностью программного языка и последовательностью кода.

Подписаться
Уведомить о
guest

0 Comments
Межтекстовые Отзывы
Посмотреть все комментарии

gogpt