300 грамм кубической муки - тестируем маленькие LLM

- Мама, я хочу ChatGPT!

- У нас есть ChatGPT дома.

ChatGPT дома.
ChatGPT дома.

Нужно больше золота

Я всегда думал, что для запуска LLM нужны серьёзные вычислительные ресурсы - скажем RTX 4090, гигов 128 ОЗУ и пара Xeon, а желательно дорогое публичное облако.

LLM категоризируются по своему размеру - то есть количеству весовых коэффициентов, обычно в миллиардах. Для работы модели важен быстрый доступ к памяти, а значит нормальная работоспособность допустима только если вся модель хранится в ОЗУ. Если модель не помещается в ОЗУ, с помощью дисковой подкачки работать она будет, но выдавать она будет по одному слову в минуту даже на хорошем SSD.

Не все разработчики моделей делятся их размером, особенно OpenAI, но достаточно грубая оценка размера еще престарелой GPT-3 - 175B (175 миллиардов коэффициентов). Размер модели в миллиардах и вес в гигабайтах величина пропорциональная. Грубый вес модели на 27B - 16 Гб. То есть для работы, скажем, GPT-3 от OpenAI нам нужен ПК со 128 Гб ОЗУ. Llama 3.1 на 405B весит 229 Гб. GPT-4 значительно больше, а это уже ставит крест на любом домашнем использовании, даже если бы нам давали её в руки.

Как выяснилось (мне, я в танке), уже очень давно производители LLM начали собирать маленькие модели на 2B, 3B и 8B, для нормальной работы которых нам хватит даже 8 Гб ОЗУ и любого CPU. Такие модели могут работать даже на большинстве Android телефонов, не говоря уже о ПК.

Чтобы погонять модельки у себя на компьютере, вам понадобится Ollama - с пары кликов получите интерфейс, похожий на ChatGPT и возможность устанавливать любые модели с Hugging Face:

Зачем оно нужно

- Цена и лимиты. Большие модели платные и имеют лимиты - вам не дадут в хвост и в гриву гонять GPT-4o при всём желании.

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

- Отсутствие цензуры. Все модели имеют технические промпты, запрещающие им отвечать на определенные вопросы. Локальные модели позволяют это обходить (насколько позволяет обучающая выборка).

Мой вопрос - насколько маленькие модели отличается по качеству от больших. 2B против 405B звучит смешно - этим точно можно пользоваться? Проверим. Но для начала, рассмотрим, из чего можно выбрать.

Основные разработчики LLM

1. OpenAI (США) - мать драконов, отец движухи, лучшие результаты, в руки не дают

Модели: GPT-4o, GPT-4o mini, GPT-4, GPT-4 Turbo, GPT-3.5 Turbo

2. Meta (США) - лучшие open source модели, которые можно утащить домой

Модели: Llama 3.2

3. Anthropic (США, осколок OpenAI) - главный конкурент ChatGPT, но в руки не дают

Модели: Claude 3.5 Sonnet

4. Google - бесплатные модели для ПК и Android

Модели: Gemma 2 (2.6B/9B/27B), Gemini (Flash, Pro, Ultra, Nano)

5. Microsoft - бесплатные маленькие модели

Модели: Phi-3-mini (3.8B), Phi-3-small (7B), Phi-3-medium (14B)

6. Mistral AI (Франция, осколок Meta и Google) - модели всех размеров

Модели: Mistral Small, Mistral Large 2, Ministral (3B/8B)

Готовим сырники

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

Ниже проверим работу моделей с присвоением оценки от 1 до 10 на рецепте сырников. Почему сырники? Наши глупенькие модельки должны для начала отличить их от сыра, что и будет их основной задачей.

Для самых маленьких

1/10 (phi3:3.8b от Microsoft) - блины и 300 грамм кубической муки в здании
1/10 (phi3:3.8b от Microsoft) - блины и 300 грамм кубической муки в здании
4/10 (gemma2:2b от Google) - рецепт включает луковицу и сыр, но хотя бы без откровенной чуши
4/10 (gemma2:2b от Google) - рецепт включает луковицу и сыр, но хотя бы без откровенной чуши
2/10 (llama3.2:latest от Meta) - традиционное русское блюдо, которое может varуть, а ведь на Llama были самые большие надежды
2/10 (llama3.2:latest от Meta) - традиционное русское блюдо, которое может varуть, а ведь на Llama были самые большие надежды
5/10 (mistral:7b от Mistral AI) - точечный творог и дрожжи, слабовато
5/10 (mistral:7b от Mistral AI) - точечный творог и дрожжи, слабовато
9/10 (gemma2:9b от Google) - все прекрасно, но снимаю балл за "кислый или пресный"
9/10 (gemma2:9b от Google) - все прекрасно, но снимаю балл за "кислый или пресный"

Взрослые ребята

10/10 (GPT-4o mini от OpenAI) - ну кто кроме бати
10/10 (GPT-4o mini от OpenAI) - ну кто кроме бати
10/10 (YaGPT (YaLM 2.0) от Yandex) - ясно дело, наши слоняры обучены на русском
10/10 (YaGPT (YaLM 2.0) от Yandex) - ясно дело, наши слоняры обучены на русском
10/10 (Gemini Nano от Google) - для маленькой модели результат идеальный
10/10 (Gemini Nano от Google) - для маленькой модели результат идеальный
10/10 (Claude 3.5 Sonnet от Anthropic) - лично мне нравится больше всех, но и модель огромная
10/10 (Claude 3.5 Sonnet от Anthropic) - лично мне нравится больше всех, но и модель огромная

Итоги

Никаких сюрпризов - чем больше модель, тем лучше результат. Чем дальше от домашнего железа модель, тем быстрее вы его получите.

Из публичных сервисов, очевидно, лучший - ChatGPT (GPT-4o), а также Claude 3.5 Sonnet и Yandex.

Из локальных моделей - gemma2:9b и gemma2:27b (если позволяет железо) от Google. Мейнстримные модели менее 9b иногда неплохо показывают себя с английским языком, но с русским толку от них почти нет.

77
11
11
8 комментариев

Надо было тестировать llama3.1 - самая популярная модель. Модель 8B спокойно работает на домашней rx 6600, а вот 70B запускается со скрипом тк Ollama нехватку vram компенсирует оперативой. В теории если свап файл сделать большой можно запустить что угодно но это уже надо упоротым быть

2
Ответить

У меня 16 Гб ОЗУ. Запускал 27B со swap на SSD - за полчаса сгенерила 2 предложения. Я упоротый :)

1
Ответить

Аххааха, смешная шутка про "Яшу" попроси ее рассказать сказку о жабке Азазина, все поймёшь что нету там никакого ИИ, а вот GPT4 top

1
Ответить

Во фразе "искусственный интеллект" в контексте LLM есть две ошибки - это не искусственный, и не интеллект :) У ChatGPT тоже интеллекта нет, что уж)

2
1
Ответить

Китайцев с qwen 2.5 еще забыли. Тоже релизнули кучу моделей, в том числе мелких. Достаточно неплохие.
И допущена(?) ошибка взять лламу 3.2 на самом деле.
Там 3б модель еще и квантированная.
В идеале бы лламу 3.1. Там 8б и это куда лучше. Во всяком случае таких ошибок как смешивание инглиша и русского она почти не допускает.

1
Ответить

Llama 3.1 пробовал, но они пяткой в грудь себя бьют, что 3.2 лучшая.

1
Ответить

А qwen забыл, да. Смотрю все на китайцев, но что-то не пробовал пока.

1
Ответить