LINUX.ORG.RU
ФорумTalks

LLM на локальном железе

 ,


0

2

Недавно вышел ролик, как раз про тестирование LLM на локальном железе:

https://www.youtube.com/watch?v=mwNMjmICa04

Я написал развёрнутый комментарий и хочу поделиться так же с вами. Хочу узнать у кого какой ценный практический опыт и, может быть, подобрать лучшие модели для себя. Я запускал .gguf модели на RTX 3060 на офтопике, в llama.cpp

12:00 Да, могу подтвердить, llama-server.exe -m ../model/google_gemma-3-12b-it-Q4_K_M.gguf –context-shift –threads 16 -ngl 999 выдаёт на RTX 3060 12 GB 32 токена в секунду. Это воспринимается очень комфортно. Но проку от этой модели мало, только как переводчик. Если подключить проектор, mmproj, скорость упадёт до 14.. 20 токенов, что уже напрягает. llama-server.exe -m ../model/google_gemma-3-12b-it-Q5_K_M.gguf –mmproj ../model/mmproj-google_gemma-3-12b-it-f16.gguf –ctx-size 32768 –threads 16 -ngl 999 Гораздо лучше будет использовать аналогичную модель, с меньшим количеством слоёв: llama-server.exe -m ../model/google_gemma-3-4b-it-Q4_K_M.gguf –mmproj ../model/mmproj-google_gemma-3-4b-it-f16.gguf –context-shift –threads 12 –gpu-layers 999 Она будет прекрасно летать и даже на GTX 1650. Там будет неплохая скорость, порядка 20 токенов. Но распознавание будет не быстрым. Да, простой текст и даже от руки она будет хорошо распознавать. Но страницу A4 с двухколоночной вёрсткой нормально не распознает, начнёт глючить и перевирать текст.

14:20, для меня удивительно что CPU 9800X3D выдаёт «рабочие» 14 токенов в секунду с моделью 30B. С моделью 12B мой да, старый, да холодный, зеон на CPU выдаёт 3.3 токена в секунду. Если учесть DDR5, высокие частоты и современную топологию, современный CPU в тех же условиях выдал бы до 7 токенов. Но если повысить модель с 12B до 30B, я думаю производительность упала бы катастрофически даже у современного CPU, т. к. x86-64 архитектура плохо пригодна для запуска модели на llama.cpp. Ваш тест говорить что стоит присматриваться к современным CPU x86-64 и они могут что то выдать с довольно тяжёлыми моделями 32B. Я правда не знаю какая от них практическая польза и как они себя поведут с mmproj. Думаю производительность сильно упадёт и опять не будет проку от этого. Добавлю что Qwen 7B сильно проигрывает аналогичной и даже худшей gemma-3-4b-it-Q4_K_M, в задачах работы с языком, переводами. gemma-3-4b-it-Q4_K_M 0 - выдаёт хорошее качество и может даже решать школьные задачи. Может работать с распознаванием текста. Может помочь в системном администрировании. qwen2.5-coder-14b-instruct-q4_k_m.gguf, на моей RTX 3060 12 GB показала себя как достаточно адекватный помошник в кодинге. Конечно она проигрывает онлайн-решениям но выдавала адекватные результаты в приемлимые скроки. Если её подключить к IDE она будет толкова, на мой взгляд, в режиме copilot. Но у меня мало опыта в кодинге и онлайн решения дают быстрый и качественный результат, так что утверждать не моогу.

Добавлю что видел, модель 32B запускается на Mac M4 и выдаёт довольно приличные скорости, порядка 60 токенов, за счёт оптимизаций Metal, в LLM Studio.

Так же я пробовал собирать llama.cpp с Vulkan и там вижу падение производительности с Nvidia порядка 5.. 10%, к сожалению. Сборка, которую я использую - llama-b6341-bin-win-cuda-12.4-x64

codellama-7b.Q4_0.gguf, DeepSeek-R1-Distill-Llama-8B-Q5_K_L.gguf показали себя неудовлетворительно. Последний показал себя неожиданно, при запросе он какое то время думает и потом запускает стриминг. Это выглядит впечатлающе но результаты он выдавал малопригодные.

Теперь по сути. Вот тесты, которые я задавал:

Плоскость задана тремя точками: (0, 0, 2), (0, 2, 0) и (2, 0, 0). Найди z, соответствующие точкам (1, 1, z) и (0.35, 0.45, z), лежащим на данной плоскости. Ответы должны быть 0 и 1.2 для точек. google_gemma-3-4b-it-Q4_K_M.gguf уверенно проходит этот тест. Qwen2-VL-7B-Instruct-Q6_K_L.gguf и даже к сожалению qwen2.5-coder-14b-instruct-q4_k_m.gguf - не проходят.codellama-7b.Q4_0.gguf, DeepSeek-R1-Distill-Llama-8B-Q5_K_L.gguf - не проходят. Важно отметить так же вес модели на диске. google_gemma-3-4b-it-Q4_K_M.gguf - весит 4.5 гб и проходит уверенно данный тест. И я кстати не заметил особого улучшения качества ответов при повышении квантовки. Важно брать модели Q4_K_M и стараться подобрать наибольшее количество параметров, при котором, на вашем железе, модель всё ещё будет выдвать комфортные 20 токенов в секунду. Желательно что бы у этой модели был mmproj, что сильно расширяет ваш функционал, в части работы с изображениями.

Ещё раз, связка, которую могу рекомендовать к рассмотрению:

llama-server.exe -m ../model/google_gemma-3-4b-it-Q4_K_M.gguf –mmproj ../model/mmproj-google_gemma-3-4b-it-f16.gguf –context-shift –threads 12 –gpu-layers 999

Опишите, у кого какой опыт?

Мне бы хотелось подключить к модели:

  • поиск в интернет;
  • возможность работы в агентном режиме (был хороший опыт с warp, но он платный);
  • работу с офисными и прочими форматами (был хороший опыт с ollama WebUI, но я перешёл на llama.cpp, надо всё заново);
  • поиграть с LLoRa, RAG, JSON, что бы запоминать контекст и дообучать;
  • использовать улучшенный фронтэнд+бэкэнд, вместо llama-server.exe, с которым мало что можно сделать
  • может быть улучшить технологию сборки и перекатиться на сборку из github+vulkan
  • попытаться как то проработать ограничение с глубиной контекста, может быть разбивать данные на блоки, делать промежуточное резюме;
  • интегрироваться с AHK, прикладным софтом (приделать ручки);
  • добавить возможность работы со звуком, распознаванием речи (есть опыт с wisper, но пока костыли).
  • перейти на .safetensors модели, вместо .gguf, но самому делать квантовку

В общем хотелось бы эту технологию сделать практичнее для себя, для своих повседневных задач

★★★

Последнее исправление: baaba (всего исправлений: 2)
Ответ на: комментарий от baaba

DNS обманывает без VPN. VPN при этом не нужен.

Начните с малого - в браузере в DNS over HTTPS засуньте https://xbox-dns.ru/dns-query - там должно работать.

Если работает - в роутере аналогично прописываем DNS over HTTPS

One ★★★★★
()
Ответ на: комментарий от One

Спасибо тебе добрый человек! Ты улучшил мою жизнь! Ну и DNS - отдельное спасибо!!!!

baaba ★★★
() автор топика
Ответ на: комментарий от One

Начните с малого - в браузере в DNS over HTTPS засуньте https://xbox-dns.ru/dns-query - там должно работать.

One

Но мне кажется я рано радуюсь. Она у меня как то долго временами думает, даже слишком.

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

А, в вебе gemini pro 2.5 лучше использовать, окно такое же на миллион.

One ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)