Ай Дайджест

Свежая выжимка ml и AI статей - каждый день

Полностью открытый исходный код Moxin-LLM: Технический отчет

В последние годы область обработки естественного языка (NLP) испытала настоящую революцию благодаря появлению крупных языковых моделей (LLM). Модели, такие как GPT-4, Claude и Gemini, привлекли внимание сообщества ИИ благодаря своей высокой производительности и универсальности. Параллельно с этим открытые LLM, такие как LLaMA и Mistral, предоставили исследователям и практикам возможность легко настраивать и развертывать модели в различных приложениях.

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

Для устранения этих проблем был представлен Moxin-LLM, полностью открытая языковая модель, разработанная в соответствии с "Model Openness Framework" (MOF). Этот фреймворк предоставляет систематическую классификацию для оценки ИИ-моделей на основе их полноты и открытости, поддерживая принципы открытой науки, открытого кода, открытых данных и открытого доступа.

Связанные работы

Модели, токенизаторы и обучение

Современные LLM обычно имеют огромное количество параметров, часто превышающее 100 миллиардов. Для повышения доступности были разработаны более мелкие модели, имеющие менее 20 миллиардов параметров, такие как Mistral и другие. Важно отметить, что токенизация играет ключевую роль в преобразовании сырых данных в формат, пригодный для обработки моделью. Многие современные модели используют кодировки байтовых пар (BPE), а также другие подходы, такие как SentencePiece.

Методы кураторства данных

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

Открытые наборы данных

С увеличением масштабов LLM сообщество также начало создавать более крупные наборы данных для поддержки их обучения. Ранние наборы данных, такие как C4, содержат 160 миллиардов токенов, в то время как более новые наборы, такие как RefinedWeb и Dolma, содержат триллионы токенов. Эти наборы данных помогают моделям обучаться на более разнообразных и качественных данных.

Обучение модели

Архитектура модели

Moxin-LLM основан на архитектуре Mistral, которая демонстрирует высокую производительность при поддержании эффективных скоростей вывода. В оригинальной модели Mistral используются техники, такие как группированное внимание запросов (GQA) и внимание с использованием скользящего окна (SWA), что позволяет значительно улучшить производительность и эффективность.

Подготовка данных

Данные играют ключевую роль в предварительном обучении LLM. Подготовка данных требует тщательного рассмотрения различных проблем, включая обработку конфиденциальной информации и обеспечение комплексного охвата знаний. Для текстовых данных используется смесь наборов данных SlimPajama и DCLM-BASELINE. SlimPajama предлагает очищенную и расширенно дублированную версию данных RedPajama.

Кодовые данные

Кодовые данные необходимы для поддержки различных задач, таких как дополнение кода и генерация документации. Использование набора данных Stack, содержащего более 6 ТБ исходного кода, помогает улучшить способности LLM к генерации кода.

Усовершенствование возможностей

Для повышения возможностей LLM, таких как рассуждение и решение математических задач, важно собирать высококачественные данные, связанные с этими способностями. В Moxin-LLM используются открытые данные из различных наборов данных для улучшения производительности модели.

Конфигурация обучения

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

Выравнивание

После фазы предварительного обучения модель подвергается тонкой настройке, чтобы стать полезным и безопасным ИИ-ассистентом. Для этого используется набор данных Tulu v2, который включает разнообразные инструкции.

Долгий контекст

Для решения проблемы долгого контекста модель использует GQA, SWA и Rolling Buffer Cache, что позволяет значительно снизить потребление памяти и повысить скорость вывода.

Оценка модели

Оценка производительности модели Moxin-LLM проводилась на различных задачах, включая AI2 Reasoning Challenge, HellaSwag и MMLU. Модель демонстрирует превосходные результаты в нулевом и маломощном оценивании по сравнению с другими моделями аналогичного масштаба.

Нулевое оценивание

Результаты нулевого оценивания показывают, что модель Moxin-7B демонстрирует высокую производительность на сложных задачах, таких как PIQA, что подтверждает эффективность подхода к тонкой настройке.

Небольшое оценивание

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

Оценка выравнивания

Moxin-7B-chat продемонстрировала высокие результаты на MTBench, что подтверждает ее способности к ведению диалога и обработке сложных инструкций.

Заключение

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