Обзор новых Open Source LLM. Или как локально запустить аналог ChatGPT

На прошедшей неделе вышло сразу несколько новых Open Source LLM. Разбираемся, что в них особенного, а также как и зачем их запускать локально. Статья будет полезна тем, у кого мало опыта в работе с локальными большими языковыми моделями.

  1. Зачем запускать LLM локально

  2. Как запускать LLM локально

  3. Модели, вышедшие на прошедшей неделе

  4. Вывод

Зачем запускать LLM локально

Преимущества Open Source моделей по сравнению с использованием ChatGPT, Google Gemini, Claude 3 и тд:

  1. Бесплатно. Вам не нужно платить за подписку. И если $20 в месяц для личного использования — не критично, то при разработке своего проекта можно хорошо сэкономить на API.

  2. Оффлайн доступ. Модель запускается локально — вам не нужно подключение к интернету, VPN и тд.

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

  4. Персонализация. Используя такие подходы, как RAG, вы можете обогатить модели большим объемом своих данных — дать доступ к тысячам документов, хранящихся на вашем компьютере. И все это бесплатно.

Но, конечно, есть и минусы:

  1. Требования к железу. Хорошую LLM не получится запустить на слабом компьютере. Но, например, если у вас есть MacBook с чипом M1 и выше и хотя бы 16GB ОЗУ, то вам уже доступно множество моделей, качество которых будет сравнимо с ChatGPT 3.5 Turbo. Правда, это касается в основном запросов на английском языке, с русским языком Open Source работает хуже.

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

Как запускать LLM локально

LM Studio

LM Studio предоставляет удобный графический интерфейс для загрузки всех популярных LLM и общения с ними. Чтобы начать, вам нужно:

  1. Скачать и установить LM Studio с официального сайта

  2. В интерфейсе кликнуть «Download» в карточке нужной модели

  3. Перейти во вкладку «AI Chat» и писать запросы в выбранную Open Source LLM

Вкладка AI Chat выглядит по сути так же, как веб-интерфейс ChatGPT: слева список диалогов с моделью, по центру чат. Сверху можно выбрать модель, с которой будет диалог:

Интерфейс LM Studio -  все как в ChatGPT

Интерфейс LM Studio — все как в ChatGPT

LM Studio доступна на Mac с чипами M1 и выше, а также на Windows и Linux. Требования к RAM и GPU зависят от конкретной LLM, но рекомендуется иметь от 16GB оперативной памяти.

Ollama

Ollama — это приложение для Mac, Linux и Windows, предоставляющее быстрый доступ к Open Source LLM через CLI интерфейс. Здесь, в отличие от LM Studio, нет графического интерфейса, то есть писать запросы нужно в терминале. Но разработчики утверждают, что так даже удобнее, ведь все взаимодействие с LLM происходит через текст, а GUI только тормозит работу.

Для начала работы вам потребуется:

  1. Установить Ollama с официального сайта

  2. Написать в консоли команду ollama run llama3. Вместо llama3 можно выбрать любую другую Open Source LLM

  3. Писать вопросы к модели прямо в терминале

Пример запроса к Llama 3 в терминале через Ollama

Пример запроса к Llama 3 в терминале через Ollama

Требования к железу, как обычно, зависят от конкретной LLM, но ваша GPU должна иметь Compute Capability 5.0 или выше. Список таких видеокарт можно посмотреть здесь.

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

Код на Python

Конечно, веса любой модели можно просто скачать с Hugging Face и запустить через Python, но если эта модель уже доступна в описанных выше редакторах, то обычно проще воспользоваться готовым GUI или CLI интерфейсом.

Новые Open Source LLM

Phi-3-vision

Первая мультимодальная LLM в семействе Phi-3 от Microsoft. Это значит, что она понимает не только текст, но и фото. В ней всего 4.2B параметров, но она уже превосходит такие большие модели как Claude-3 Haiku и Gemini 1.0 Pro в некоторых задачах компьютерного зрения. Вы можете увидеть результаты бенчмарков в таблице ниже, но давайте лучше посмотрим на примеры ее работы.

Бенчмарки для Phi-3-Vision

Бенчмарки для Phi-3-Vision

Попробовать бесплатно эту модель можно на ее странице в Azure AI Studio, либо запустить локально, используя код с Hugging Face (мне хватило 12GB на видеокарте, чтобы ее запустить). Например, вы можете прислать скриншот таблицы и попросить модель переписать ее в виде Markdown:

Просим Phi-3-vision распознать и переписать таблицу

Просим Phi-3-vision распознать и переписать таблицу

Ответ модели

Certainly! Below is the markdown table converted from the image:

| Benchmark  | Phi-3 Vision-128K-In1 | LLaVA-1.6 Vicuna-7B | QWEN-VL Chat |
|------------|-------------------------|-----------------------|---------------|
| MMMU      | 40.2                    | 34.2                  | 39.0          |
| MMBench   | 80.5                    | 76.3                  | 75.8          |
| ScienceQA | 90.8                    | 70.6                  | 67.2          |
| MathVista | 44.5                    | 31.5                  | 29.4          |

This table compares different benchmarks across three different AI models: Phi-3 Vision-128K-In1, LLaVA-1.6 Vicuna-7B, and QWEN-VL Chat. The benchmarks include MMMU, MMBench, ScienceQA, and MathVista, with their respective scores for each AI model.

Как мы видим, модель отлично понимает структуру и смысл картинки. Аналогично вы можете описывать разные графики, диаграммы, и просто любой объект на фото из окружающего мира.

Вы можете посмотреть больше идей для использования Phi-3-vision в этой статье. Мне оттуда понравился пример, где модель распознала конкретный объект на фото, помеченный цифрой:

Модель понимает, какой объект помечен цифрой 4 на фото

Модель понимает, какой объект помечен цифрой 4 на фото

Mistral-7B v0.3

Это обновление предыдущей версии Mistral-7B-v0.2, которая занимала 52 место в рейтинге Chatbot Arena, что выше, чем у GPT-3.5-Turbo-1106.

В версии 0.3 появилась поддержка Function Calling — это значит, что вы можете дать модели информацию о некоторых функциях, которая она будет предлагать вызывать в зависимости от контекста. Например, вы можете описать функцию get_weather(city), и если модель получит вопрос о текущей погоде в каком-то городе, она предложит вызвать эту функцию и передать в аргументы нужный город. Это полезно, если вы разрабатываете свой проект на базе LLM и хотите расширить стандартный функционал модели.

Новую версию можно попробовать прямо в Web интерфейсе на Hugging Face, также она доступна через Ollama.

CogVLM2

Это мультимодальная модель, основанная на Llama-3–8B-Instruct. Авторы утверждают, что она превосходит (или хотя бы не хуже) GPT-4 Vision в большинстве случаев! При этом модель имеет 19B параметров, что больше, чем у Phi-3 Vision, которую разбирали выше. Для запуска этой модели потребуется от 16GB видео-памяти.

Модель может анализировать картинки разрешением до 1344×1344 пикселей, а также поддерживать диалог с длиной контекста в 8K токенов. Работает для английского и китайского языков, а скачать, чтобы запустить локально можно на Hugging Face.

Llama-3 8B

Эта модель вышла уже больше месяца назад, но нельзя не упомянуть ее, если говорим про Open Source LLM. Сейчас она занимает 19 место в рейтинге на Chatbot Arena, обходя все версии ChatGPT-3.5 Turbo, а также почти все модели от Mistral, Gemma, Phi, и много кого еще.

Llama 3 можно запустить через Ollama или скачать на официальном сайте. Благодаря 4-битной квантизации, модель занимает всего 4.7 GB.

Вывод

Используя новые Open Source LLM, даже на слабом железе вы получите такое качество, которое еще год назад нам казалось эталонным. При этом модели будут понимать как текст, так и картинки. Вы также можете использовать привычный графический интерфейс для взаимодействия с ними, а добавив RAG, получите возможность задавать вопросы к любым текстовым документам, хранящимся на вашем компьютере. И все это абсолютно бесплатно и конфиденциально.

Если вам интересны новости из мира LLM, то подписывайтесь на мой Telegram канал Никита про LLM — пишу только про самое главное, без инфошума.

© Habrahabr.ru