Перспективные большие языковые модели (LLM) с открытым исходным кодом

7 июня 2024
Перспективные большие языковые модели (LLM) с открытым исходным кодом

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

Мы рассмотрим Outlines, библиотеку для создания структурированного текста, DeepSeek-V2, эффективную языковую модель Mixture-of-Experts, и проект Consistency Large Language Models (CLLMs), направленный на уменьшение задержек вывода.

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

Web LLM

Web LLM могут использоваться в различных приложениях, таких как чат-боты, языковой перевод, анализ настроения и т. д., непосредственно на веб-страницах. Как правило, они используют такие технологии, как WebAssembly (Wasm) и фреймворки JavaScript, чтобы обеспечить эффективное использование моделей машинного обучения в браузере. Такой подход также упрощает развертывание и масштабирование NLP-функций на различных платформах и устройствах, не требуя специализированной инфраструктуры.

Secret llama

Secret Llama — это полностью приватный чат-бот с открытым исходным кодом, который работает полностью в браузере, используя большие языковые модели, такие как Llama 3 и Mistral. Он не требует сервера и работает в автономном режиме, предоставляя удобный интерфейс, похожий на ChatGPT, но для LLM с открытым исходным кодом. Проект размещен на GitHub и ищет разработчиков для улучшения интерфейса, поддержки большего количества моделей и исправления ошибок.

Он поддерживает различные современные языковые модели с открытым исходным кодом, включая:

  • Llama 3 (8B параметров)
  • Mistral-7B
  • TinyLlama-1.1B
  • Phi-1.5

Одним словом, Secret Llama делает языковые модели с открытым исходным кодом доступными через приватный интерфейс на основе браузера, сочетая в себе возможности ChatGPT и безопасность данных при локальной обработке. Его цель - облегчить доступ к LLM, при этом отдавая приоритет конфиденциальности.

Outlines

Outlines — это библиотека с открытым исходным кодом на языке Python, предназначенная для генерации структурированного текста с использованием больших языковых моделей (LLM). Она предоставляет методы управления генерацией языковых моделей, делая выходные данные более предсказуемыми и структурированными с помощью вспомогательных подсказок, ограничений типов, динамической остановки и многого другого.

Outlines поддерживает интеграцию нескольких моделей, включая OpenAI, transformers, llama.cpp, exllama2 и mamba. Она использует шаблонизатор Jinja для создания подсказок и предлагает быструю генерацию с использованием regex-структур, генерацию JSON в соответствии со схемой JSON или моделью Pydantic, а также генерацию с использованием грамматической структуры.

Outlines разработана для ускорения вывода и повышения производительности базовых и тонко настроенных моделей и делает модели более эффективными. Она интегрируется с механизмом вывода vLLM для быстрого обслуживания и доступна в официальном образе Docker.

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

Deep seekv2

DeepSeek-V2 — это языковая модель Mixture-of-Experts (MoE) с открытым исходным кодом, известная своей производительностью, экономичностью и эффективностью. Она включает в себя 236 миллиардов параметров, из которых 21 миллиард активируется для каждой лексемы.

Модель и ее код доступны для загрузки на сайте Hugging Face по лицензии с открытым исходным кодом, причем предлагаются две версии: DeepSeek-V2 с длиной контекста 128k и DeepSeek-V2-Chat (RL) с длиной контекста 128k.

В настоящее время открытый код работает медленнее на графических процессорах с Hugging Face по сравнению с внутренней кодовой базой DeepSeek из-за ограничений Hugging Face. Чтобы решить эту проблему, DeepSeek предлагает специальное решение vLLM для оптимизации производительности.

Для локального запуска DeepSeek-V2 для выводов требуется 80 ГБ*8 GPU и модель в формате BF16, а инструкции по запуску с помощью Hugging Face Transformers или vLLM приведены в README на GitHub.

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

Создание таких моделей, как DeepSeek-V2 и DeepSeek-Coder, с открытым исходным кодом позволяет проводить более широкие исследования и разработки, но также создает риски, поскольку LLM с открытым исходным кодом потенциально могут быть использованы в злонамеренных целях, например, для извлечения частной информации.

Consistency large language models

В репозитории GitHub проекта Consistency Large Language Models (CLLMs) из Hao AI Lab представлены эффективные параллельные декодеры, созданные на основе предварительно обученных больших языковых моделей (LLM).

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

Репозиторий включает веса моделей как для целевых предварительно обученных LLM, так и для соответствующих версий CLLM, охватывающих такие наборы данных и задачи, как ShareGPT (разговорный ИИ), GSM8K (математические задачи), Spider (преобразование текста в SQL) и Code-Search-Net Python (генерация кода).

Для вывода информации скрипт run_chat_cllm.sh запускает чатбота с заданной CLLM-моделью, а аргумент cllm_type выбирает подходящую модель для задачи (например, sharegpt, gsm8k, spider, python). Репозиторий также содержит код для обучения CLLM путем сбора траекторий Якоби и выполнения имитационного обучения, с подробными командами и гиперпараметрами.

Проект интегрирован в фреймворк FastChat для эффективного развертывания, а статья с более подробной информацией доступна на arXiv. Репозиторий Consistency_LLM GitHub предлагает открытую реализацию консистентных больших языковых моделей, позволяющую быстро выполнять параллельное декодирование для различных задач естественного языка без изменения базовой архитектуры LLM, чтобы сделать вывод LLM более эффективным и доступным.