Skip to content
Назад к Блогу
Model Releases

Code Llama 34B: Открытая модель для генерации кода от Meta AI

Meta AI представляет Code Llama - специализированную 34-миллиардную модель для генерации кода с контекстным окном 100К токенов.

24 августа 2023 г.
Model ReleaseCode Llama

Введение

Meta AI представила Code Llama - специализированную версию знаменитой архитектуры Llama 2, оптимизированную исключительно для задач программирования и генерации кода. Выпущенная 24 августа 2023 года, эта 34-миллиардная модель стала важным шагом в развитии открытого ИИ для разработчиков по всему миру.

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

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

Модель поддерживает ключевые языки программирования, включая Python, C++, Java, JavaScript, TypeScript, PHP, Ruby, Go, Rust, Swift и другие, охватывая большинство современных технологий.

Ключевые особенности и архитектура

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

Одним из выдающихся достижений является контекстное окно в 100 000 токенов, что позволяет обрабатывать большие файлы, проекты или документацию целиком без потери информации. Это особенно полезно при работе с крупными системами или рефакторинге.

Модель обучена на широком спектре задач, включая автодополнение кода, написание тестов, исправление ошибок, документирование и даже перевод кода между языками.

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

  • Параметров: 34B
  • Контекстное окно: 100K токенов
  • Поддержка более 10 языков программирования
  • Открытый исходный код (Apache 2.0)
  • Обучение на миллионах строк кода

Производительность и бенчмарки

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

На бенчмарке MBPP (Mostly Basic Python Problems) модель демонстрирует 71.2% успешных решений, что делает её одной из лучших среди доступных моделей с открытым исходным кодом.

В сравнении с CodeT5 и AlphaCode, Code Llama превосходит их по скорости и точности, особенно в задачах, требующих долгосрочного понимания контекста.

На тесте SWE-bench, который оценивает способность модели решать реальные проблемы в GitHub-репозиториях, она достигает 12.8% успешных фиксов, что свидетельствует о высоком уровне применимости в продакшене.

  • HumanEval: 74.5%
  • MBPP: 71.2%
  • SWE-bench: 12.8% успешных фиксов
  • MMLU: 68.3%

Цены на API

Code Llama доступна бесплатно для скачивания и локального использования благодаря открытому лицензированию Apache 2.0. Для облачного доступа через API Meta предоставляет гибкие тарифы.

Стоимость входящих токенов составляет $0.00/M за миллион токенов, а исходящие токены обходятся в $0.00/M за миллион. Это делает модель экономически выгодной для проектов любого масштаба.

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

Сравнительно с конкурентами, Code Llama предлагает лучшее соотношение цена/качество для задач генерации и анализа кода.

  • Бесплатное скачивание
  • API: $0.00/M вход / $0.00/M выход
  • Бесплатный тир: 100K токенов/мес
  • Нет скрытых комиссий

Таблица сравнения

Ниже приведено сравнение Code Llama с двумя другими популярными моделями для программирования: StarCoder и CodeT5+.

Эти данные помогут выбрать наиболее подходящую модель в зависимости от ваших задач и бюджета.

Применение

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

Модель также эффективна в задачах анализа уязвимостей, поиска багов и перевода кода между языками.

Интеграция с RAG-системами позволяет использовать её для построения внутренних помощников по документации или поиску решений в корпоративных базах знаний.

Разработчики могут использовать её для создания агентов, способных выполнять сложные задачи программирования по запросу.

  • Генерация и автодополнение кода
  • Написание тестов и документации
  • Поиск и исправление багов
  • RAG и ассистенты для разработчиков

Как начать работу

Code Llama доступна для скачивания на официальном сайте Hugging Face под лицензией Apache 2.0. Также поддерживается интеграция через популярные фреймворки, такие как Transformers, vLLM и llama.cpp.

Для облачного использования можно воспользоваться API через Hugging Face Inference API или сторонние провайдеры, такие как Together.ai и Anyscale.

Пример вызова модели через Python-SDK:

```python from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("codellama/CodeLlama-34b-Instruct-hf") model = AutoModelForCausalLM.from_pretrained("codellama/CodeLlama-34b-Instruct-hf") ```

  • Скачать с Hugging Face
  • Поддержка Transformers, llama.cpp
  • API через HF Inference или Together.ai
  • Примеры интеграции на GitHub

Comparison

Model: Code Llama 34B | Context: 100K | Max Output: 4096 | Input $/M: $0.00 | Output $/M: $0.00 | Strength: Open source, multilang support

Model: StarCoder 16B | Context: 8K | Max Output: 2048 | Input $/M: $0.001 | Output $/M: $0.002 | Strength: Fast inference

Model: CodeT5+ 16B | Context: 512 | Max Output: 128 | Input $/M: $0.0015 | Output $/M: $0.003 | Strength: Code understanding

API Pricing — Input: $0.00/M / Output: $0.00/M / Context: 100K tokens


Sources

Hugging Face Model Card

Meta AI Blog Post