banner
Дом / Блог / Meta выпускает Code Llama, код
Блог

Meta выпускает Code Llama, код

Aug 18, 2023Aug 18, 2023

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

После выпуска моделей искусственного интеллекта для генерации текста, перевода языков и создания аудио компания сегодня открыла исходный код Code Llama, системы машинного обучения, которая может генерировать и объяснять код на естественном языке, в частности на английском.

Подобно GitHub Copilot и Amazon CodeWhisperer, а также генераторам кода с открытым исходным кодом на основе искусственного интеллекта, таким как StarCoder, StableCode и PolyCoder, Code Llama может дополнять код и отлаживать существующий код на различных языках программирования, включая Python, C++, Java, PHP, Машинопись, C# и Bash.

«В Meta мы считаем, что модели искусственного интеллекта, и особенно большие языковые модели для кодирования, больше всего выигрывают от открытого подхода, как с точки зрения инноваций, так и с точки зрения безопасности», — написала Мета в сообщении в блоге, опубликованном TechCrunch. «Общедоступные модели с учетом конкретных норм могут способствовать разработке новых технологий, улучшающих жизнь людей. Выпуская такие модели кода, как Code Llama, все сообщество может оценить их возможности, выявить проблемы и устранить уязвимости».

Код Llama доступен в нескольких вариантах, включая версию, оптимизированную для Python, и версию, оптимизированную для понимания инструкций (например, «Напишите мне функцию, которая выводит последовательность Фибоначчи»), основан на модели генерации текста Llama 2. исходный код Meta был открыт ранее в этом месяце. Хотя Llama 2 могла генерировать код, это не обязательно был хороший код — уж точно не того качества, которое могла создать специально созданная модель, такая как Copilot.

При обучении Code Llama Meta использовала тот же набор данных, что и при обучении Llama 2 — смесь общедоступных источников со всего Интернета. Но модель, так сказать, «подчеркнула» подмножество обучающих данных, включающее код. По сути, Code Llama было предоставлено больше времени для изучения взаимосвязей между кодом и естественным языком, чем Llama 2 — ее «родительской» модели.

Каждая из моделей Code Llama размером от 7 до 34 миллиардов параметров была обучена с использованием 500 миллиардов токенов кода и данных, связанных с кодом. Код Llama, специфичный для Python, был дополнительно доработан на 100 миллиардах токенов кода Python, и, аналогичным образом, код Llama, понимающий инструкции, был доработан с использованием отзывов людей-аннотаторов для генерации «полезных» и «безопасных» ответов на вопросы. .

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

Некоторые модели Code Llama могут вставлять код в существующий код, и все они могут принимать около 100 000 токенов кода в качестве входных данных, в то время как по крайней мере одна — модель с 7 миллиардами параметров — может работать на одном графическом процессоре. (Остальным требуется более мощное оборудование.) Meta утверждает, что модель с 34 миллиардами параметров является наиболее эффективной из всех генераторов кода с открытым исходным кодом на сегодняшний день — и самой крупной по количеству параметров.

Вы могли бы подумать, что инструмент для генерации кода будет чрезвычайно привлекателен для программистов и даже непрограммистов — и вы не ошибетесь.

GitHub утверждает, что сегодня Copilot используют более 400 организаций, и что разработчики в этих организациях пишут код на 55% быстрее, чем раньше. В другом месте сайт Stack Overflow, сайт вопросов и ответов по программированию, обнаружил в недавнем опросе, что 70% уже используют или планируют использовать инструменты кодирования AI в этом году, ссылаясь на такие преимущества, как повышение производительности и более быстрое обучение.

Но, как и все формы генеративного искусственного интеллекта, инструменты кодирования могут выйти из строя или представлять новые риски.

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