После того как выложили открытую Mistral Large 2 размером 123B, то LLaMa 3.1 405B стала не особо интересна. Лама большая, тяжелая, и справляется с заданиями хуже чем Large 2. А Large 2, помимо прочего, еще очень хороша в языках, включая русский. Для тех кто пропустил: https://habr.com/ru/articles/831272/
По тестам она нигде не догнала и не обогнала. Она приблизилась, и среди открытых это вполне достойный конкурент, в отличии от других открытых.
Но в целом, есть примеры? Я вот тестировал всякое, и не сказать, что GPT-4o сильно вырывается вперед, если не затрагивать вопросы знаний (очевидно, что модель в 123B не может вместить в себя столько же знаний, сколько 850-1700B).
Например запрос:
Напиши на js код с отрисовкой рей трейсинга. В кадре должны быть серый пол, красный шар, оранжевый куб и фиолетовая пирамида, фон должен быть светлый, как будто бы день. Они должны крутиться, на них должна падать тень и свет от зеленого и розового источников. Мышкой можно крутить сцену. Всё это в одном файле.
И обе справились с 1 раза, без правок, сразу запустилось и сцена крутиться, вертится, приближается:
А вот claude-3-5-sonnet и llama-3.1-405b не справились, обе не запускаются и выдают какие-то ошибки.
Тут речь про обычную память. Например, версия IQ2_XS, для работы ей нужно 39гб обычной памяти.
На обычной ddr4 в двухканале скорость чтения примерно равна 50гб/с, если вы будете запускать на CPU, то вы получите скорость примерно равную 0.3 t/s. Если вы выгрузите 55 слоев из 89 на 4090, включив cache_8bit и cache_4bit чтобы высвободить еще пару гб vram, вы получите скорость примерно 1.14 t/s. Скорость стала в 3 раза выше, но бутылочным горлышком является ddr4 память и 34 слоя крутящихся на ней.
Если бы все слои удалось перенести на GPU, то скорость бы выросла на порядок, так как скорость памяти в 4090 равна 1000 гб/c, что в 20 раз быстрее.
Поэтому, по цене одной 4090 можно купить серверную материнку, два дешевых эпика и горсть серверной недорогой ddr4 памяти общим объемом 512гб. В 16 канале это будет работать на скорости 250гб/с (тут обсуждение на эту тему).
От 26 гб до 130гб, смотря какое квантование выбрать. Модель в формате gguf мапится в память, поэтому размер файла примерно равно объем занимаемой памяти. Поэтому просто смотрите размеры gguf и это и будет объем занимаемой памяти.
Единственное что важно - это пропускная способность памяти.
Допустим у вас 512гб памяти, память работает на 50гб/с (2х канальная ddr4), а модель имеет размер 500гб, то вы получите скорость 0.1 токен в секунду, так как веса модели будет обходиться 10 секунд при такой скорости и таком размере. Если модель весит 50гб, и память 50гб/с, то вы получите 1 t/s и т.д. Именно поэтому в профессиональных GPU не DDR6, а HBM, достигающая 3-4 Тб/с у H100.
Редактор как-то на хабре по особенному заглючил, как и комментарий выше про дубли. Я удалял этот блок полностью, так как он тут не нужен, но вся эта мешанина всплыла после сохранения.
Уже не мало моделей которые явно обучались на русском датасете (aya-23, command-r+, qwen2, nemotron4 и так далее), но они не дотягивают до Sonnet 3.5. Или gpt-4o, несмотря на большой процент русский текстов в датасете, она не пишет стихи лучше, чем Sonnet 3.5.
Я привел Nemotron-4, которая размером почти такая же как llama 3.1, как раз потому, что она обучалась на 50 естественных языках, включая русский, и это не дало ей такое понимание фразеологизмов, какое есть у Llama 3.1 (не полное понимание "разбегаться" и "вылупляться"), которая, по вашим словам, ограничивала датасет.
Та же история с моделями, которые файнтюнили на русском датасете, вроде Saiga, они не становятся сильно лучше в русском языке после этого. Поэтому я склоняюсь к другим причинам почему Sonnet 3.5 лучше, либо у Sonnet 3.5 реально хороший датасет, которого нет ни у кого.
Не исключено, что они на нормальном уровне знают русский язык, просто либо файнтюн на инструкции или системный промпт не задан быть приятным собеседником, что есть у Sonnet 3.5.
Так-то, и llama3.1 405B и nemotron4 340B вполне не плохо отвечают и говорят:
Toppy-m это файнтюн Mistral 7b. Она считается немного устаревшей. Попробуйте gemma2-9b, тоже влезет в 3060. Ну и llama 3.1 8b уже вышла официально, скачать ее теперь не проблема.
405B, в отличии от 70B, легко найти, и ссылка и магнет есть в конце поста. Скачиваемое успешно квантуют в gguf, но результат работы пока никто не выкладывал.
Так что модель в 256гб ram уложится, это пока доступно только дешевым серверным сборкам на хеонах или эпиках, даже маки с 192гб быстрой памяти в пролете, как и ddr5 (вроде у них на данный момент такой же максимум в 192гб для домашнего железа). Но если квантовать в 2 бита с imatrix, например в IQ2_XS, то судя по всему модель уложится в 128гб, и скорости будут на уровне 1 токена в секунду.
Посмотрите еще на дешевые эпики. Там 16 канал и плашки памяти могут работать вроде как даже на 3200мгц, но это не точно. На али они пока дорогие, но если через перекупов с таобао, то может выйти даже дешевле чем X99 F8D-plus + xeon. А скорости даже на 2133 будут 250Gb/s, это в ~2.5 раза выше, чем на xeon, и это уже почти скорость rtx 4060 Ti 16гб. На 13:02 тайминг:
Еще есть читы: F12 + F - получить очки, чтобы набить жизни. F12 + G - бессмертие, помогает с преследующий бессмертным горящим черепом, чтобы спокойно изучить 6 уровень. F12 + W и потом цифрой выбрать уровень от 1 до 8.
Mistral Nemo выглядит интересно, если он и правда обходит Gemma2 9B, которая для своих размеров показывает очень хорошие результаты. gguf пока не рабочие, нужно ждать пока llama.cpp добавят поддержку нового токенизатора 'mistral-bpe'.
Онлайн можно попробовать тут: https://huggingface.co/spaces/vilarin/Mistral-Nemo Mistral рекомендуют выставлять температуру 0.3 для этой модели (есть опция в Parameters), по умолчанию там выставлено 0.8, но лучшие результаты у меня получились на 0.5.
И еще вышло нечто новое: модель Mamba-Codestral-7B-v0.1, тоже от MistralAI. Её особенность в том, что она сделана не на архитектуре трансформеров как обычно, а на новой архитектуре Mamba2.
Mamba интересна тем, что по словам создателей дает в 5 раз большую пропускную способность, имеет линейную зависимость сложности при увеличении контекста, что дает теоретически огромный размер контекста, вплоть до 1M. И при этом размер самой модели в 2 раза меньше по сравнению с моделями на трансформерах. В теории это дает возможность загрузить весь код проекта в контекст модели и работать сразу со всем кодом. Тесты на размере 256K контекста:
Тем, кто хочет получить ускорение на AMD видеокартах на Windows, ищите версии софта использующие ZLUDA - это транслятор CUDA запросов в Windows версию ROCm.
В линейных скоростях, массивами крупных данных. И в каких сценариях рендеринга или иных вычислений можно делать ставку именно на такие чтение / запись?
В реальном сценарии мелкоблочная запись и чтение у SSD всё равно многократно ниже.
Все эти попытки получить больше хоть какой-то памяти нужны ровно для 1 цели - LLM.
Когда одна 4090 может в легкую обучить большую языковую модель, но ей просто не хватает памяти для этого, и приходиться арендовать пул H100 за дофига денег - то естественно будут попытки найти другое решение. Тоже касается и инференса моделей. В обоих случаях важная быстрая линейная скорость.
В противовес лламе3 есть Qwen2, она обучалась на 27 языках и имея примерно тот же уровень качества как и ллама3, является так сказать "мультиязычной" моделью.
После того как выложили открытую Mistral Large 2 размером 123B, то LLaMa 3.1 405B стала не особо интересна. Лама большая, тяжелая, и справляется с заданиями хуже чем Large 2. А Large 2, помимо прочего, еще очень хороша в языках, включая русский.
Для тех кто пропустил: https://habr.com/ru/articles/831272/
По тестам она нигде не догнала и не обогнала. Она приблизилась, и среди открытых это вполне достойный конкурент, в отличии от других открытых.
Но в целом, есть примеры?
Я вот тестировал всякое, и не сказать, что GPT-4o сильно вырывается вперед, если не затрагивать вопросы знаний (очевидно, что модель в 123B не может вместить в себя столько же знаний, сколько 850-1700B).
Например запрос:
И обе справились с 1 раза, без правок, сразу запустилось и сцена крутиться, вертится, приближается:
А вот claude-3-5-sonnet и llama-3.1-405b не справились, обе не запускаются и выдают какие-то ошибки.
Тут речь про обычную память. Например, версия IQ2_XS, для работы ей нужно 39гб обычной памяти.
На обычной ddr4 в двухканале скорость чтения примерно равна 50гб/с, если вы будете запускать на CPU, то вы получите скорость примерно равную 0.3 t/s.
Если вы выгрузите 55 слоев из 89 на 4090, включив cache_8bit и cache_4bit чтобы высвободить еще пару гб vram, вы получите скорость примерно 1.14 t/s.
Скорость стала в 3 раза выше, но бутылочным горлышком является ddr4 память и 34 слоя крутящихся на ней.
Если бы все слои удалось перенести на GPU, то скорость бы выросла на порядок, так как скорость памяти в 4090 равна 1000 гб/c, что в 20 раз быстрее.
Поэтому, по цене одной 4090 можно купить серверную материнку, два дешевых эпика и горсть серверной недорогой ddr4 памяти общим объемом 512гб. В 16 канале это будет работать на скорости 250гб/с (тут обсуждение на эту тему).
От 26 гб до 130гб, смотря какое квантование выбрать. Модель в формате gguf мапится в память, поэтому размер файла примерно равно объем занимаемой памяти. Поэтому просто смотрите размеры gguf и это и будет объем занимаемой памяти.
Единственное что важно - это пропускная способность памяти.
Допустим у вас 512гб памяти, память работает на 50гб/с (2х канальная ddr4), а модель имеет размер 500гб, то вы получите скорость 0.1 токен в секунду, так как веса модели будет обходиться 10 секунд при такой скорости и таком размере. Если модель весит 50гб, и память 50гб/с, то вы получите 1 t/s и т.д.
Именно поэтому в профессиональных GPU не DDR6, а HBM, достигающая 3-4 Тб/с у H100.
Редактор как-то на хабре по особенному заглючил, как и комментарий выше про дубли. Я удалял этот блок полностью, так как он тут не нужен, но вся эта мешанина всплыла после сохранения.
Уже не мало моделей которые явно обучались на русском датасете (aya-23, command-r+, qwen2, nemotron4 и так далее), но они не дотягивают до Sonnet 3.5. Или gpt-4o, несмотря на большой процент русский текстов в датасете, она не пишет стихи лучше, чем Sonnet 3.5.
Я привел Nemotron-4, которая размером почти такая же как llama 3.1, как раз потому, что она обучалась на 50 естественных языках, включая русский, и это не дало ей такое понимание фразеологизмов, какое есть у Llama 3.1 (не полное понимание "разбегаться" и "вылупляться"), которая, по вашим словам, ограничивала датасет.
Та же история с моделями, которые файнтюнили на русском датасете, вроде Saiga, они не становятся сильно лучше в русском языке после этого. Поэтому я склоняюсь к другим причинам почему Sonnet 3.5 лучше, либо у Sonnet 3.5 реально хороший датасет, которого нет ни у кого.
Не исключено, что они на нормальном уровне знают русский язык, просто либо файнтюн на инструкции или системный промпт не задан быть приятным собеседником, что есть у Sonnet 3.5.
Так-то, и llama3.1 405B и nemotron4 340B вполне не плохо отвечают и говорят:
Toppy-m это файнтюн Mistral 7b. Она считается немного устаревшей.
Попробуйте gemma2-9b, тоже влезет в 3060.
Ну и llama 3.1 8b уже вышла официально, скачать ее теперь не проблема.
405B, в отличии от 70B, легко найти, и ссылка и магнет есть в конце поста. Скачиваемое успешно квантуют в gguf, но результат работы пока никто не выкладывал.
Уже кто-то квантовал в 4 бита Q4_K_M и модель занимает 234гб. Но сам gguf не выкладывал.
Так что модель в 256гб ram уложится, это пока доступно только дешевым серверным сборкам на хеонах или эпиках, даже маки с 192гб быстрой памяти в пролете, как и ddr5 (вроде у них на данный момент такой же максимум в 192гб для домашнего железа).
Но если квантовать в 2 бита с imatrix, например в IQ2_XS, то судя по всему модель уложится в 128гб, и скорости будут на уровне 1 токена в секунду.
Тут уже всё будет зависить от бенчмарков, но в целом IQ2_XS имеет место быть, так как считается, что большие модели обычно лучше переносят квантизацию чем маленькие, и даже 1-битная квантизация больших моделей (72B) справляется лучше, чем 8-битная модель меньшего размера (8B).
В общем-то до официального релиза осталось 6.5 часов, потом всё равно еще gguf ждать.
Посмотрите еще на дешевые эпики. Там 16 канал и плашки памяти могут работать вроде как даже на 3200мгц, но это не точно. На али они пока дорогие, но если через перекупов с таобао, то может выйти даже дешевле чем X99 F8D-plus + xeon.
А скорости даже на 2133 будут 250Gb/s, это в ~2.5 раза выше, чем на xeon, и это уже почти скорость rtx 4060 Ti 16гб. На 13:02 тайминг:
А отзывы про 8 канальный xeon можно поискать на LocalLLaMA на реддите. Например: https://www.reddit.com/r/LocalLLaMA/comments/17c790b/anyone_running_llms_on_xeon_e52699_v4_22t44c/
Еще есть читы:
F12 + F - получить очки, чтобы набить жизни.
F12 + G - бессмертие, помогает с преследующий бессмертным горящим черепом, чтобы спокойно изучить 6 уровень.
F12 + W и потом цифрой выбрать уровень от 1 до 8.
Онлайн в браузере: https://dos.zone/dangerous-dave-in-the-haunted-mansion-1991/
Обзор, для тех кому лень искать и смотреть, что там в игре:
Mistral Nemo выглядит интересно, если он и правда обходит Gemma2 9B, которая для своих размеров показывает очень хорошие результаты. gguf пока не рабочие, нужно ждать пока llama.cpp добавят поддержку нового токенизатора 'mistral-bpe'.
Онлайн можно попробовать тут: https://huggingface.co/spaces/vilarin/Mistral-Nemo
Mistral рекомендуют выставлять температуру 0.3 для этой модели (есть опция в Parameters), по умолчанию там выставлено 0.8, но лучшие результаты у меня получились на 0.5.
Еще вышло обновление для одной из самых больших (236B) с открытыми весами (после, собственно, Nemotron-4 340B, который как раз делала nvidia, откуда и название mistral-NeMo): https://huggingface.co/deepseek-ai/DeepSeek-V2-Chat-0628
И еще вышло нечто новое: модель Mamba-Codestral-7B-v0.1, тоже от MistralAI. Её особенность в том, что она сделана не на архитектуре трансформеров как обычно, а на новой архитектуре Mamba2.
Mamba интересна тем, что по словам создателей дает в 5 раз большую пропускную способность, имеет линейную зависимость сложности при увеличении контекста, что дает теоретически огромный размер контекста, вплоть до 1M. И при этом размер самой модели в 2 раза меньше по сравнению с моделями на трансформерах.
В теории это дает возможность загрузить весь код проекта в контекст модели и работать сразу со всем кодом. Тесты на размере 256K контекста:
Ссылка на модель: https://huggingface.co/mistralai/mamba-codestral-7B-v0.1
Ссылка на слитый safetensors: https://huggingface.co/SillyTilly/mistralai-mamba-codestral-7B-v0.1
Лицензия Apache 2.0.
Тем, кто хочет получить ускорение на AMD видеокартах на Windows, ищите версии софта использующие ZLUDA - это транслятор CUDA запросов в Windows версию ROCm.
https://github.com/patientx/ComfyUI-Zluda - тот же ComfyUI с Zluda
https://github.com/lshqqytiger/stable-diffusion-webui-amdgpu - форк automatic1111 webui для AMD
https://github.com/YellowRoseCx/koboldcpp-rocm - для запуска локальных языковых моделей (не zluda, а просто пример нативного для windows rocm)
Просто для тех, кто ищет способ получить аппаратное ускорение для нейросетей на GPU AMD на Windows. С докером это не работает.
Текст только на английском, если что. И можете проверить в официальном спейсе, быстрее получится (работает без регистрации):
https://huggingface.co/spaces/stabilityai/stable-diffusion-3-medium
Все эти попытки получить больше хоть какой-то памяти нужны ровно для 1 цели - LLM.
Когда одна 4090 может в легкую обучить большую языковую модель, но ей просто не хватает памяти для этого, и приходиться арендовать пул H100 за дофига денег - то естественно будут попытки найти другое решение.
Тоже касается и инференса моделей. В обоих случаях важная быстрая линейная скорость.
В противовес лламе3 есть Qwen2, она обучалась на 27 языках и имея примерно тот же уровень качества как и ллама3, является так сказать "мультиязычной" моделью.