300 грамм кубической муки - тестируем маленькие LLM
- Мама, я хочу 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 на рецепте сырников. Почему сырники? Наши глупенькие модельки должны для начала отличить их от сыра, что и будет их основной задачей.
Для самых маленьких
Взрослые ребята
Итоги
Никаких сюрпризов - чем больше модель, тем лучше результат. Чем дальше от домашнего железа модель, тем быстрее вы его получите.
Из публичных сервисов, очевидно, лучший - ChatGPT (GPT-4o), а также Claude 3.5 Sonnet и Yandex.
Из локальных моделей - gemma2:9b и gemma2:27b (если позволяет железо) от Google. Мейнстримные модели менее 9b иногда неплохо показывают себя с английским языком, но с русским толку от них почти нет.
Надо было тестировать llama3.1 - самая популярная модель. Модель 8B спокойно работает на домашней rx 6600, а вот 70B запускается со скрипом тк Ollama нехватку vram компенсирует оперативой. В теории если свап файл сделать большой можно запустить что угодно но это уже надо упоротым быть
У меня 16 Гб ОЗУ. Запускал 27B со swap на SSD - за полчаса сгенерила 2 предложения. Я упоротый :)
Аххааха, смешная шутка про "Яшу" попроси ее рассказать сказку о жабке Азазина, все поймёшь что нету там никакого ИИ, а вот GPT4 top
Во фразе "искусственный интеллект" в контексте LLM есть две ошибки - это не искусственный, и не интеллект :) У ChatGPT тоже интеллекта нет, что уж)
Китайцев с qwen 2.5 еще забыли. Тоже релизнули кучу моделей, в том числе мелких. Достаточно неплохие.
И допущена(?) ошибка взять лламу 3.2 на самом деле.
Там 3б модель еще и квантированная.
В идеале бы лламу 3.1. Там 8б и это куда лучше. Во всяком случае таких ошибок как смешивание инглиша и русского она почти не допускает.
Llama 3.1 пробовал, но они пяткой в грудь себя бьют, что 3.2 лучшая.
А qwen забыл, да. Смотрю все на китайцев, но что-то не пробовал пока.