Официальный код Llama с открытым исходным кодом: бесплатен для коммерческого использования, загадочная версия близка к GPT-4.

Источник: Сердце машины.

Редакторы: Ду Вэй, Чэнь Пин

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

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

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

Опубликована соответствующая статья «Code Llama: Open Foundation Models for Code» с 47 страницами и 25 авторами.

Бумажный адрес:

Адрес ГитХаба:

Существует три версии моделей серии Code Llama с количеством параметров 7B, 13B и 34B. Он поддерживает несколько языков программирования, включая Python, C++, Java, PHP, Type (Java), C# и Bash.

Code Llama стабильно поддерживает генерацию контекста до 100 000 токенов. На рисунке 2 ниже показан процесс тонкой настройки Code Llama.

С точки зрения эффекта скорость прохождения (pass@1) различных версий Code Llama в наборах данных Human и MBPP может превосходить GPT-3.5.

Кроме того, проход @1 версии Code Llama «Unnatural» 34B в наборе данных Human близок к GPT-4 (62,2% против 67,0%). Meta не выпустила эту версию, но добилась значительного улучшения производительности за счет обучения небольшому объему высококачественных закодированных данных.

Это специальное издание привлекло внимание многих людей, в том числе Андрея Карпати, бывшего директора по искусственному интеллекту Tesla и вернувшегося в OpenAI.

Хотя в статье упоминается, что это «версия кода Llama-Python 34B, настроенная на 15 000 неестественных инструкций», Карпати все еще интересуется этим «загадочным именем, расплывчатым описанием и сокрушительными другими моделями конфиденциальности».

Как работает код Llama

Code Llama обладает очень широкими возможностями кодирования. Он может генерировать код на основе кода и подсказок на естественном языке (например, подсказок пользовательского ввода «Помогите мне написать функцию, которая выводит последовательность Фибоначчи»). Он также может помочь пользователям в дополнении кода и отладке. код.

Версии модели Code Llama с тремя параметрами обучаются с использованием токенов кода 500B и данных, связанных с кодом. Базовые модели и модели инструкций 7B и 13B также обучены FIM (заполнение посередине), что позволяет вставлять код в существующий код, а это означает, что они могут сразу из коробки поддерживать такие задачи, как завершение кода.

В следующей таблице представлен набор обучающих данных Code Llama.

Все три модели могут удовлетворять различным требованиям к обслуживанию и задержке. Например, модель 7B может работать на одном графическом процессоре; модель 34B дает наилучшие результаты и обеспечивает лучшую поддержку кодирования, но с точки зрения скорости меньшие модели 7B и 13B быстрее и лучше подходят для задач с малой задержкой, таких как Живое завершение кода.

Code Llama не только обеспечивает стабильную генерацию до 100 000 токенов контекста, но также до 16 000 последовательностей обучающих токенов для всех моделей. **

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

Стоит отметить, что Meta доработала Code Llama, добавив два дополнительных варианта: **Code Llama — Python и Code Llama — Instruct. **

Code Llama-Python — это вариант Code Llama, который дополнительно доработан на токене 100B кода Python. В следующей таблице представлен набор обучающих данных Code Llama-Python.

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

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

При использовании моделей Code Llama пользователи должны соблюдать Политику лицензирования и использования.

Как работает Code Llama

Для тестирования Meta использует два теста кодирования Human и MBPP (Mostly Basic Python Programming). Среди них модель тестирования Human основана на способности строки документа (строки документации) завершать код, а модель тестирования MBPP основана на способности описывать код.

Результаты показывают, что Code Llama превосходит LLM с открытым исходным кодом, ориентированный на конкретные задачи кода, и превосходит свою собственную Llama2. Например, Code Llama 34B набирает 53,7% по Human и 56,2% по MBPP, что является лучшим показателем по сравнению с другими современными решениями с открытым исходным кодом и сопоставимо с ChatGPT.

Однако у Code Llama есть и риски. Мета заявила, что создание ответственной модели искусственного интеллекта имеет решающее значение, и перед выпуском Code Llama они приняли множество мер безопасности. В рамках красной команды тестирования Meta провела количественную оценку риска того, что Code Llama генерирует вредоносный код. Они создали подсказки, пытаясь заставить модель генерировать вредоносный код, и сравнили ответы Code Llama на эти подсказки с ChatGPT (GPT3.5 Turbo). Оказывается, ответ Code Llama более безопасен.

С этой точки зрения, Лама 2, чьи способности к кодированию не особенно сильны, была заменена Кодовой Ламой. Мета надеется, что появление Code Llama вдохновит других исследователей на создание новых и инновационных инструментов для исследований и коммерческих продуктов на основе Llama 2.

Справочная ссылка:

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить