Pull to refresh

Comments 55

20b giga по всем тестам показывает меньший результат чем gemma 9b?

Спасибо за вопрос!

Нет, не по всем тестам.

Модель тренировалась для работы с русским языком. К примеру, ее instruct версия лучше на бенчмарках MERA, Shlepa. Уверен, что этим список не заканчивается.

Про 20b параметров: суть в том, что у gigachat lite другая архитектура — Mixture of Experts. Поэтому хоть ВСЕГО 20b параметов, на генерации из них активны только 3b. За счет этого она быстрее gemma-2 в использовании в 2.5 раза.

А будет PR в llama.cpp? 20b модель в консумерские (24 гб) карты не влезет, а на цпу не получится гонять, потому что, как я понял, там кастомный код. Или там просто дипсик и можно запускать и так?

Так ну во первых там вроде просто архитектура дипсик. щас попробую скачать и сконвертировать в GGUF. Интересно тренировалась с нуля или это какой-то хитрый мердж экспертов из 16б дипсика с последующей тренировкой.

А ещё должно на цпу все таки спокойно работать, так-то 3б активных параметров модель должна вообще без проблем идти.

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

Прошу прощения за вопрос несколько в сторону, но в какой мере llama-подобные модели можно запускать на CPU? Как для заданной модели определить минимальные системные требования? Всё ли из этого запустится (пусть и оочень медленно, условно 0.5 токена/минуту) на бесплатном huggingface space с 16 ГБ RAM?
Меняется ли ответ, если говорить не о llama, а о llava? Есть ли шанс реанимировать вот это: https://huggingface.co/spaces/liuhaotian/LLaVA-1.6 ?

  1. Данная модель Сбера - MoE. Поэтому на процессоре будет работать довольно быстро. Я запускал через text-generarion-webui transformers с галочкой квантизациии в 4бита. Работало с читаемой скоростью, может 5 токенов в секунду, может быстрее, там плохо пишет. Модель правда к сожалению тупая, впрочем как и гигачат Макс. Вместо нее лучше бы запустил Mistral small или что-то подобное что в разы умнее. Памяти тратило меньше 16гб насколько я помню из-за квантизации.

  2. Можно ориентироваться что 70-72 б модели на процессоре будут работать где-то 1 токен в секунду или чуть меньше. 8б модели, например llama 3.2 будут с читаемой скоростью. И кстати вот llava модель устаревшая довольно, вместо нее лучше взять llama 3.2 со зрением, среднюю версию, она в районе 10б и использовать ее.

  3. Если использовать llama.cpp (с моделью Сбера так и не проверил) и ее кванты gguf, можно сильно уменьшить требуюмую память и необходимое устройство для запуска. Заходите, ищете gguf на хаггингфейса лламы 3.2 который влезает в вашу память (но ещё нужно гигабайт-два под контекст). Меньше q4km отупление будет заметно довольно сильно (хотя с моделями 100б+ заметно меньше, но эта довольно маленькая). Получится ли запустить на хаггингфейсе? Не знаю, не проверял. Но можете попробовать на домашнем пк. Желательно конечно иметь 32гб памяти и 64 Гб для 70б моделей. Но может и с 16гб тоже будет работать (кстати если не влезет, будет выгружается на диск и лагать)

  4. Если вам нужно конкретно зрение, рекомендую ollama потому что там оно поддерживается хорошо и в дефолтном сценарии там легко поставит llama 3.2, только квант нужно правильный выбрать. Если зрение не нужно, лучше koboldcpp. Для не gguf - text-generation-webui

Спасибо большое! Не сочтите за наглость, а нет ли списка коллабов "на пощупать"? Почему-то когда я гуглю, мне выдаются только скрипты для файнтюна на какие-то флюорографии...

Ну вот коллаб oobabooga есть например
https://colab.research.google.com/github/oobabooga/text-generation-webui/blob/main/Colab-TextGen-GPU.ipynb

Сыллку на модель вставляете и в течении 10 минут как написано появится ссылка на интерфейс с чатом.

Но можно просто на своем пк тоже тестить как уже писал.

И ещё. llava-1.6 - она, конечно, старенькая. Но зато она... была... с фантазией. С душой, как говорят. И без загонов на тему "некорректных тем". Скажешь ей приводить мысли персонажа с картинки - она и приводит. Скажешь оценить число - как может, оценивает. А не рассуждает на тему "роль ИИ в развитии этнокультурного дискурса человечества".

PR уже приняли!

https://github.com/ggerganov/llama.cpp/pull/10827

Неофициальные gguf можно найти пока тут, официальные выпустим чуть позже)

P.S.Пока до llama-cpp-python не доехало
P.S.S. До ollama тоже, но будет в течении пары недель

Тут gemma-2-9b или gemma-9b? Судя по метрикам, это gemma-2, но мало ли, вдруг я что-то перепутал...

Речь про gemma-2-9b, большое спасибо за замечание!

Исправили в тексте и таблице с pretrain метриками

Наш реквест уже приняли в llama.cpp. Так что еще пару недель - и да!

Мы обязательно поделимся с сообществом новостью, когда все будет готово

Более уместно сравнить даже не с gemma 2 9b, а новой версией модели от Т-Банка (точнее T-lite), которая при беглом сравнении метрик ещё лучше работает с русским языке чем gemma 2 9b

Добрый день!

Это хороший комментарий. На самом деле модели-тюны под русский в общении допускают огромное количество стилистических и грамматических ошибок, а также ошибаются в согласовании частей речи. Также наследуют «ценности» модели-донора с запретом говорить на определенные темы, которые не нарушают законы РФ и наоборот. Еще с точки зрения стоимости инференса на русском остаются нюансы из-за плохого сжатия языка в токенизаторе.

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

>Также наследуют «ценности» модели-донора с запретом говорить на определенные темы, которые не нарушают законы РФ и наоборот

А вы на каком-то другом c4 учили что ли? С чего бы гигачату лайт не выучить ценности с условного реддита, всё равно данных в претрейне на английском больше, чем на русском. Или нет?

тут уже важны тонкости работы с RL и Alignment

Писали бы сразу минимальное рекомендуемое железо...

на процессоре легко должно запускаться, ибо всего 3б активных параметров.

На видоекартах если получится конвертнуть в llama.cpp то в 24 гб точно влезет, может меньше.

Ясно, спасибо...
А то у мну GPT2 в 3060 12 Gb учиться не лезет :(

Мне видится так, что вы делаете большой умный монолит (почти ругательное слово в архитектуре ПО), в котором нельзя подучить одного эксперта, не трогая остальных. Но почему не сделать RAG-систему (я надеюсь, я правильно использую термин), где одна, относительно небольшая модель, разбирающая входной поток, оркестрирует другие независимые модели, каждая из которых обучена на своей специфике? Тогда добавление новых знаний сведётся к добавлению в систему новой, отдельно обученной модели, а не обучению всего монолита.

Вот да, сколько смотрю на StableDiffusion, столько у меня крутится мысль, что негоже выбрасывать "в мусорку" полторашку с приходом SDXL, SDXL с приходом SD3 и т.д. Но вот что делать и как избежать умножения огромных наработок сообщества на ноль - непонятно :(

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

Добрый день. Ограничение max len в 8к, это для а100 подобрано?

Нет, для тестирования скорости ограничение в 8k контекста было проставлено исходя из длины средней переписки с пользователям. На большем контексте Mixture of Experts модели показывают еще больший отрыв от dense моделей за счет сильно меньшего kv cache

20B-A3B в A100 с vllm без проблем влезает 32к контекста, с оптимизациями можно его еще сильнее увеличить

То, что выложили в опенсорс - молодцы. Но, видится мне, это пока даже близко не искупает вашу вину перед опенсорсом за дело NGINX.

Но - где demo-space на huggingface? Если вы рассказываете, как оно лихо запускается на transformers, то прикрутить gradio и поставить железо в ZERO (нужна, ЕМНИП, самая простая PRO-подписка) должно быть несложно, не? Чтобы все могли поиграться!

А что топикстартер сделал с Nginx? Или вы про сбер в целом?

Если про сбер и про суд по авторским правам 19-го года, то я припоминаю, что сбер там был не причем и греф даже скорее в пользу nginx высказывался.

Насколько я понимаю консенсус хабрасообщества, сберовцы поступили неправильно. Впрочем, посты вот, судите сами:

https://habr.com/ru/news/480198/

https://habr.com/ru/news/481602/

https://habr.com/ru/articles/480510/

Но да, это называется "репутация" и "коллективная ответственность". Им ещё долго будут припоминать этот случай.

Сотрудникам сбера ещё 91 год припоминать не перестали, хотя там еще не все они на тот момент родились (не говоря уж о том, какое отношение современный сбер имеет к советскому). Так что им не привыкать к «коллективной ответственности» по любому поводу.

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

У меня сложное и не очень позитивное отношение к Грефу и Хасису. Они делали разные дела, а конкретно Греф - необходимая часть российской системы, которая уничтожает и Россию и Украину прямо сейчас. Но именно история с nginx мне кажется историей, где они вели себя адекватно.

СберAI движется в правильную сторону. На улыбающейся харе мало моделей, способных выдать сказку про колобка на русском. Хотел бы попробовать модель, но 20гб ни в оперативку ни в видюху не запихну.

Вам не нужно 20 Гб, чтобы запускать эту модель

Разве? Все равно же сразу все веса в оперативу пихаются, а не только активные, разве нет?

Там активных весов мало, поэтому оно работает с приемлемой скоростью на CPU даже

К сожалению, не могу оценить скорость, т.к. даже int8 не влезает в память.

В какую память? В ОЗУ компа? Если вы на CPU считаете, вам же не нужна память GPU

Мне на серваке нужна русская суммаризация и перефразирование, и я могу выделить модели не более 4ГБ ОЗУ и 4 ядер CPU.

Ну тут вариант только делать инференс с динамической подгрузкой экспертов. Это тоже возможно, но, кажется, дешевле доставить память в сервак

О, а так можно? Нет, случайно, ссылки, где почитать?

С учётом того, что я с этого зарабатываю минус 3000 рублей (т.е. вообще ничего, только за хостинг плачу), то нет, не дешевле :)

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

Этот алгоритм не идеален (кажется FIFO но в linux можно настраивать), например если не хватает оперативной памяти только чуть чуть, может получиться так что на каждый новый токен с дисков будет загружаться все веса, а не только небольшая их часть (но это можно исправить, слегка подправив код приложения), с другой стороны то же самое произойдет если оперативной памяти в принципе не хватает, но можно разместить файлы на raid0 массиве из ssd дисков, со скоростью чтения сравнимой с оперативной памятью, по деньгам это получается самый дешевый конфиг для огромных сетей, типа 405b llama3 (если вас устроит 20-30секунд на токен).

предлагаю вам посмотреть в сторону ollama
Это по сути обертка над llama.cpp (в рамках этого проекта, gguf и был создан), только порог входа ниже

Привет!

Большое спасибо за то, что поделились)

Хочу попробовать покрутить кантованную модель на llama.cpp + langchain, в. связи с чем возник вопрос: есть ли какой-то формат промпта по типу:

<|im_start|>system <|im_end|> <|im_start|>user <|im_end|> <|im_start|>assistant

Тесты показывают, что для решения своей задачи, а именно пересказ английского текста на РУССКИЙ гига чат справляется хуже, чем несколько простых бесплатных западных моделей, которые на РУССКОМ строят предложения лучше (не без косяков, но в целом лучше), а на английском и подавно.

Если вы выходите в опенсорс, то почему не сделать нормальную версию под движок ollama?

"движка ollama" не существует, ollama это просто красивый фантик вокруг llama-cpp и ggml

Нужно было подождать некоторое время, пока наши изменения от нашего PR в llama.cpp дойдут до зависимых модулей (ollama / lm studio / ...).

Рады сообщить, что этот момент настал и модели доступы в ollama!
Больше подробней в телеграмм посте с настройкой lm studio и другими вариантами запуска

Sign up to leave a comment.