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

Alpaca от Stanford: Открытая модель с инструкциями на 52K данных

Узнайте о революционной модели Alpaca 7B от Stanford, которая доказала, что качественная настройка по инструкциям возможна с минимальными затратами.

13 марта 2023 г.
Model ReleaseAlpaca
Alpaca - official image

Введение

В марте 2023 года исследовательская группа Stanford CRFM представила Alpaca 7B – инновационную модель с открытым исходным кодом, которая изменила представление об эффективности тонкой настройки языковых моделей. Alpaca представляет собой тонко настроенную версию LLaMA 7B на 52 000 демонстрациях следования инструкциям, созданных с помощью GPT-3.5. Этот проект стал доказательством того, что с относительно небольшими вычислительными затратами можно достичь результатов, сравнимых с гораздо более крупными и дорогими коммерческими моделями.

Ключевым достижением Alpaca стало демонстрация того, что недорогая настройка по инструкциям действительно работает. С общими затратами на вычисления всего в $600, исследователи смогли создать модель, которая по качественным метрикам следования инструкциям сопоставима с OpenAI's text-davinci-003 – коммерческой моделью, разработанной с использованием значительно больших ресурсов.

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

Проект также включает полный набор инструментов для воспроизводимости: код для генерации данных, настройки модели и восстановления весов Alpaca-7B. Это сделало его не только ценным продуктом, но и мощной платформой для дальнейших исследований.

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

Alpaca 7B основана на базовой модели LLaMA 7B, разработанной Meta, что обеспечивает прочную основу для дальнейшей настройки. Модель содержит 7 миллиардов параметров, что делает ее достаточно компактной для локального запуска на современных GPU, при этом сохраняя значительную выразительность и способность следовать инструкциям.

Основной особенностью является использование 52 000 синтетических демонстраций инструкций, сгенерированных с помощью GPT-3.5 (text-davinci-003). Эти данные были тщательно подготовлены для обучения модели пониманию и выполнению различных типов инструкций – от простых запросов до сложных задач рассуждения.

Архитектура остается стандартной для преобразователей (transformer), без использования методов типа Mixture of Experts (MoE) или других оптимизаций масштаба. Это делает модель более предсказуемой в работе и легкой для понимания и адаптации.

Модель не имеет мультимодальных возможностей – она предназначена исключительно для текстовых задач. Контекстное окно соответствует базовой модели LLaMA, составляя примерно 2048 токенов.

  • Параметры: 7B
  • Базовая модель: LLaMA 7B
  • Тип: Инструкции (instruction-following)
  • Контекстное окно: ~2048 токенов
  • Открытый исходный код: Да

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

На предварительной оценке одиночного следования инструкциям Alpaca демонстрирует качественное поведение, сопоставимое с OpenAI's text-davinci-003. Хотя точные числовые метрики не были подробно опубликованы в оригинальном релизе, качественные сравнения показали схожесть в способности понимать сложные инструкции и предоставлять соответствующие ответы.

AlpacaEval, автоматическая система оценки, разработанная в рамках проекта, позволяет сравнивать модели по их способности следовать инструкциям. Эта платформа стала стандартом для оценки открытых моделей с инструкциями и включает доску лидеров с различными вариантами настройки.

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

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

  • Сравнимо с text-davinci-003 по качеству
  • Использует AlpacaEval для оценки
  • 52K синтетических демонстраций инструкций
  • $600 на вычисления обучения

Ценообразование API

Как модель с открытым исходным кодом, Alpaca не имеет коммерческого API с фиксированной ценой. Вместо этого пользователи могут загрузить веса модели и запустить её локально или на собственной инфраструктуре. Это делает стоимость владения потенциально очень низкой после первоначальной настройки.

Для облачного развертывания цена зависит от используемого хостинга и оборудования. Ориентировочно, запуск 7B модели на GPU A100 может стоить от $0.5 до $2 в час в зависимости от провайдера. Это значительно дешевле, чем использование проприетарных API от OpenAI или Anthropic.

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

Для получения доступа к модели не требуется регистрация API или оплаты – весь код и инструкции доступны на GitHub.

  • Открытый исходный код - нет фиксированной цены API
  • Локальный запуск возможен бесплатно
  • Облачные затраты: $0.5-2/час на GPU
  • Лицензия LLaMA ограничивает коммерческое использование

Сравнительная таблица

Alpaca 7B сравнивается с несколькими ключевыми конкурентами в сегменте открытых моделей с инструкциями. В таблице ниже представлены основные характеристики и преимущества каждой модели.

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

Применения

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

Для разработчиков чат-ботов и ассистентов Alpaca предоставляет надежную основу для создания приложений, следующих указаниям пользователя. Ее размер делает возможным развертывание на средних серверах или даже на рабочих станциях.

В системах извлечения ответов (RAG) Alpaca может использоваться как компонент генерации ответов, особенно когда важна способность форматировать выход в соответствии с заданными инструкциями. Это делает модель ценной для корпоративных решений.

Однако модель имеет ограничения в задачах программирования и математического рассуждения по сравнению с более специализированными моделями. Также стоит учитывать, что генерируемые инструкции могут содержать предвзятости базовой модели GPT-3.5.

  • Генерация текста по инструкциям
  • Чат-боты и ассистенты
  • Преобразование форматов данных
  • Системы RAG
  • Обучение и исследования

Начало работы

Доступ к Alpaca максимально открыт. Исходный код, данные и инструкции по обучению находятся в репозитории GitHub tatsu-lab/stanford_alpaca. Для начала работы рекомендуется клонировать репозиторий и следовать инструкциям по подготовке данных и настройке модели.

Модель также доступна на Hugging Face Hub в виде нескольких вариантов, включая версии, обученные на дополнительных данных. Для загрузки весов через transformers просто используйте соответствующий идентификатор модели.

Для локального запуска потребуется GPU с 12+ ГБ памяти для загрузки полной 7B модели. Альтернативно, можно использовать методы квантизации для запуска на менее мощном оборудовании.

Сообщество разработало множество инструментов и скриптов для тонкой настройки Alpaca на специфических задачах, что расширяет ее применимость.

  • Репозиторий: github.com/tatsu-lab/stanford_alpaca
  • Модель на Hugging Face: tatsu-lab/alpaca-7b-wdiff
  • Требуется GPU с 12+ ГБ памяти
  • Поддержка квантизации для экономии памяти

Comparison

Model: Alpaca 7B | Context: 2048 | Max Output: 2048 | Input $/M: Free | Output $/M: Free | Strength: Instruction following, Open source

Model: LLaMA 7B | Context: 2048 | Max Output: 2048 | Input $/M: Free | Output $/M: Free | Strength: Base model, Low resource requirement

Model: Vicuna 7B | Context: 2048 | Max Output: 2048 | Input $/M: Free | Output $/M: Free | Strength: Chat optimized, Based on Alpaca

API Pricing — Input: Free / Output: Free / Context: 2048


Sources

Stanford CRFM - Alpaca Release

GitHub Repository - Stanford Alpaca