PolyCoder, открытый исходный код, генерирующий ИИ, который может превзойти Codex 

Автор: @Laurent - Fotolia.com

В настоящее время мы наблюдаем рост числа различных решений, предлагаемых в области генерации кода с использованием искусственного интеллекта (ИИ), и область обработки естественного языка (NLP) проложила путь для целого ряда ИИ-генераторов кода на различных языках программирования.

Среди них можно выделить GitHub Copilot, AlphaCode и Codex, а теперь к ним можно добавить новое решение от исследователей из Университета Карнеги-Меллона , которые недавно представили «PolyCoder» — генератор кода, основанный на языковой модели GPT-2 от OpenAI, обученной на базе данных кода объемом 249 ГБ на 12 языках программирования.

О ПолиКодер

Авторы PolyCoder утверждают, что программа способна писать код на языке C с большей точностью, чем любая известная модель, включая Codex.

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

Модель PolyCoder была обучена с использованием данных из нескольких репозиториев GitHub, охватывающих 12 популярных языков программирования: C, C#, C++, Go, Java, JavaScript, PHP, Python, Ruby, Rust, Scala и TypeScript.

Неотфильтрованный набор данных составил 631 ГБ и 38,9 миллиона файлов. Команда заявила, что выбрала GPT-2 в качестве алгоритма для обучения PolyCoder из-за бюджетных ограничений. PolyCoder доступен как программное обеспечение с открытым исходным кодом, и исследователи надеются, что он сможет демократизировать исследования в области генерации кода для ИИ, которая до сих пор была в основном сосредоточена в руках хорошо финансируемых компаний.

Исследователи считают, что PolyCoder превосходит другие модели по эффективности генерации кода на языке C. Однако Codex неизменно показывает лучшие результаты и на других языках. «PolyCoder значительно превосходит Codex и все остальные модели на языке C».

«Когда прошлым летом Copilot появился на GitHub, стало ясно, что эти очень большие модели языкового кода могут быть очень полезными, помогая разработчикам и повышая их продуктивность. Но ни одна модель даже близкого к этому масштабу не была общедоступна», — сообщили исследователи VentureBeat по электронной почте. «Поэтому [PolyCoder] начал с того, что Винсент пытался выяснить, какая самая большая модель может быть обучена на нашем лабораторном сервере, который в итоге содержал 2700 миллиарда параметров… и эта модель была на целую лигу впереди других моделей, ориентированных на код, которые у нас были. в то время были общедоступны».

« При сравнении только моделей с открытым исходным кодом PolyCoder превосходит модель GPT-Neo 2.7B аналогичного размера в языках C, JavaScript, Rust, Scala и TypeScript», — отмечают они. «В остальных 11 языках все остальные модели с открытым исходным кодом, включая нашу собственную, значительно хуже (обладают большей перплексией), чем Codex», — добавили исследователи из Университета Карнеги-Меллона.

При этом PolyCoder позиционируется как очень интересное решение, поскольку, хотя исследовательские лаборатории, такие как OpenAI Илона Маска и DeepMind от Alphabet, разработали мощный кодогенерирующий ИИ, многие из наиболее успешных систем недоступны в открытом исходном коде. Компании с низким доходом не имеют к нему доступа, и эта ситуация ограничивает их исследования в этой области.

Например, обучающие данные из Кодекса OpenAI, который поддерживает функцию Copilot GitHub, не были обнародованы, что не позволяет исследователям совершенствовать модель ИИ или изучать определенные ее аспекты, такие как совместимость.

«Крупные технологические компании не публикуют свои модели публично, что действительно сдерживает научные исследования и демократизацию таких больших моделей языкового кода», — заявили исследователи. «В какой-то степени мы надеемся, что наши усилия с открытым исходным кодом убедит других сделать то же самое. Но в целом сообщество должно иметь возможность обучать эти модели самостоятельно. Наша модель раздвинула границы того, что вы можете обучить на одном сервере — для большего размера требуется пул серверов, что резко увеличивает стоимость».

Наконец, если вас интересует более подробная информация по этому вопросу , вы можете найти ее по следующей ссылке.


Добавить в качестве предпочтительного источника в Google