Архив рубрики ~Лента новостей~

Локальные LLM на Arch Linux и как увеличить скорость генерации в 20 раз

Приветствую всех читателей Хабра!
В этой статье я хочу поделиться своим опытом в запуске локальных LLM, протестировать работоспособность интересных моделей на своем железе, рассказать, как я увеличил скорость генерации на одной из нейросетей в 20 раз (я не преувеличиваю). Но об этом чуть позже, а начну я повествование с описания своего железа.

Комплектующие и ОС

В роли моего “LLM-сервера” выступает обычный домашний ПК, на данный момент его можно считать бюджетным игровым. Вот список железа, установленного в нем:

Процессор AMD Ryzen 5 5600X

Материнская плата на B550 чипсете

Видеокарта Intel Arc B580 (12 ГБ)

Два модуля оперативной памяти DDR4 3200 МГц по 8 ГБ

SSD NVMe с версией PCI Express 3.0

Операционная система Arch Linux

По производительности это самый обычный «народный» игровой ПК, в нем выделяется только дискретная видеокарта Intel и операционная система, но для наших целей это не минус. Видеокарта имеет 12 Гб не самой новой видеопамяти GDDR6, но благодаря шине в 192 бита даже немного обгоняет по пропускной способности памяти RTX 5060. К тому же, этот GPU обладает открытыми драйверами, а это плюс для Linux.

Arch Linux имеет отличный репозиторий, тратит менее 700 МБ ОЗУ в простое, имеет множество документаций и отличную совместимость, возможно, это лучшая ОС для меня.

Стоит отдельно сказать про память. Не секрет, что для современного ИИ нужно много памяти, желательно — быстрой. Если Intel и не обделили VRAM, то с RAM в моем ПК не все так гладко. Изначальная частота модулей всего 2666 МГц, что непростительно мало для нашей цели, мне пришлось разогнать их хоть немного, несмотря на чипы памяти Samsung C‑Die.

Я не стал сильно завышать частоты и вольтаж, оставив их на 3200 МГц и 1.30V, так как эти чипы «не любят» вольтаж более 1.35V. Если вы хотите запускать LLM на своем компьютере, вы можете делать это даже на менее производительном железе, однако меньшее количесвто памяти еще больше ограничивает вас в объеме запускаемой нейросети, а меньшая скорость памяти влияет на скорость генерации. Это далеко не все факторы, но пожалуй, наиважнейшие. Ладно, перейдем к софту.

Про LM Studio и Olama

Первым делом я установил LM Studio, запустил, программа предложила установить Gemma 4 E4B, я согласился. После установки, до запуска модели, я посмотрел общее потребление ОЗУ и немного удивился. Было занято 3 ГБ RAM, просто на главном экране, я считаю это большим объемом. После этого я немного изучил настройки LM Studio, закрыл программу и удалил ее. Интерфейс показался мне перегруженным, тяжелым во всех смыслах.

Это всего лишь мое мнение, возможно, я просто привык к терминалу, но против графики я ничего не имею, если она не переусложнена. Я решил установить обычный Ollama из оффициальных репозиториев, который, как выяснилось, не поддерживает Vulkan и SYCL, и от этого не видит мою видеокарту Intel. Мне пришлось установить другой пакет, он называется ollama-vulkan и присутствует в официальных репозиториях Arch Linux.

Gemma 4 E4B

Далее я установил Gemma 4 E4B в квантизации 8 бит. Это современная, компактная, мультимодальная dense LLM от Google. Эта модель не архитектуры MoE (dense модели используют все слои при вычислениях), поэтому для быстрой работы ей необходимо полностью находиться в VRAM. Через Modelfile я увеличил контекст этой модели с 4096 до максимальных 131 072 токенов.

Модель очень легкая, в такой квантизации весит всего 5.5 ГБ при максимальном контексте. Работает модель шустро, в среднем скорость около 50 tokens/s. Сама модель на мой взгляд интересная, произошел крупный технологический скачок относительно предыдущих поколений. Модель стала мультимодальной, имеет огромный конткест, Thinking Mode.

Большая Gemma 3 27b набрала примерно 21% в математическом тесте AIME, а вот новая компактная Gemma 4 E4B набрала внушительные 42.5%, несмотря на гораздо меньшее количество параметров. Именно Thinking Mode так сильно помог компактной Gemma 4. Из особенностей, могу выделить небольшие проблемы с русским языком, изредка она путает род/падеж, подставляя неправильный. Это главное, что нужно знать про Gemma 4, а теперь перейдем к следующей модели.

Qwen и llama.cpp

Мне стало интерсно испытать архитекруту Ultra MoE (Mixture of Experts) на своем ПК, я попробовал запустить Qwen 3.5 35B A3B (я еще не знал о существовании Qwen 3.6) в Q4 через ту же Ollama, ввел заветный ollama run, подождал окончания загрузки, и… модель запустилась, со скоростью генерации примерно 1 token/s.

Почему так медленно? Потому что это огромная модель, которая не помещается в VRAM, а Ollama не умеет работать с MoE архитектурой. Модель весит примерно 22 ГБ, видеопамяти у меня 12 ГБ, значит 10 ГБ от модели улетают в ОЗУ моему CPU. Так как это Ultra MoE, модель обладает 256 слоями, на один токен используется 3B параметров. Значит, можно загрузить слои Embedding и Attention в VRAM, а FFN отправить в VRAM? Да, так можно и нужно делать, но Ollama такого не умеет. Поэтому существует llama.cpp. Его можно скомпилировать с поддержкой SYCL/Vulkan, им можно пользоваться в браузере через llama-server (с интерфейсом как у ChatGPT), команду запуска можно упаковать в скрипт.

Как AUR-хелпер я использую yay. Вот так выглядит установка для Arch Linux, компиляция с поддержкой SYCL:

yay # обновляем пакеты sudo usermod -aG render $USER sudo usermod -aG video $USER yay -S intel-deep-learning-essentials # необходимый пакет для компиляции под Intel sudo pacman -S clinfo cmake # устанавливаем необходимые пакеты sudo clinfo -l # служит для проверки драйверов source /opt/intel/oneapi/setvars.sh # инициализируем переменные sycl-ls # смотрим список доступных устройств cmake -B build -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx # создаем Makefile cmake —build build —config Release -j -v # компилируем970222b1ca76b433978e09f8220dc58b

Я скомпилировал его, установил Qwen 3.6 c Hugging Face, запустил одной большой командой с нужными мне параметрами:

source /opt/intel/oneapi/setvars.sh # выполняем если еще не запущен sudo LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/latest/lib:$LD_LIBRARY_PATH ~/llama.cpp/build/bin/llama-server -m ~/Downloads/Qwen3.6-35B-A3B-UD-Q4_K_M.gguf -ngl -1 # переносит все возможные слои в видеопамять —cpu-moe # выносит тяжелые FFN слои в ОЗУ, оставляя attention и KV-кэш в VRAM -np 1 # указывает серверу выполять только 1 процесс паралельно —port 80809a97a67cd6777fe1372f2f5a35370161

Таким образом, скорость генерации увеличилась до 20 tokens/s, так как критически важные слои теперь находятся в скоростной видеопамяти. Сама модель интересная, хорошо подходит для кодинга. В бенчмарке по олимпиадной математике AIME Qwen 3.6 превосходит Gemma 4 E4B в 2 раза, но потребляет в 4 раза больше памяти, при том что находится в большей квантизации. При этом в ней много старых весов, она считает, что сейчас 2024 год, не знает, что она Qwen 3.6, считая себя Qwen 2.5 и даже более древними версиями.

Подведем итоги

Даже на бюджетном игровом железе можно запускать интересные LLM. Компактные dense модели хорошо подходят для запуска в видеопамяти, а большие Ultra MoE идеальны для развертывания на мощностях GPU и CPU одновременно. Ollama подходит для запуска моделей в пределах видеопамяти, llama.cpp более гибкий и сложный инструмент, имеет большее количество возможностей чем Ollama. Gemma 4 E4B показала себя как отличная «карманная» модель, будет летать в 40 tokens/s в Q8 на любой видеокарте с 8 ГБ памяти на борту, а Qwen 3.6 35B A3B отличная Ultra MoE для всех у кого есть вдобавок еще 16 ГБ RAM.

Всем удачи!

Источник: habr.com

✅ Найденные теги: ARCH, Linux, LLM, Локальные, новости, Увеличить
Читайте также
Архив рубрики ~Обо всем~ 7+ настроек конфиденциальности телефона, которые следует проверить и отключить как можно скорее, чтобы избежать раскрытия ваших личных данных. Архив рубрики ~Обо всем~ Привет, Siri! Теперь ты — основа для умных очков Apple. Архив рубрики ~Обо всем~ Помимо функции extract_text: два слоя PDF-файла, определяющие качество RAG. Архив рубрики ~Обо всем~ AT&T теперь предлагает дневные абонементы за 3 доллара на «безлимитный» мобильный интернет для iPad. Архив рубрики ~Обо всем~ Как смотреть Чемпионат мира по футболу FIFA 2026: 10 способов трансляции (включая бесплатные варианты) Архив рубрики ~Обо всем~ Байесовские сети и сети Маркова: интуитивно понятное руководство по структурированной неопределенности Архив рубрики ~Обо всем~ Премия EPICS от IEEE присуждается выдающимся студентам и преподавателям. Архив рубрики ~Обо всем~ Компания Waymo создала виртуального водителя-человека для улучшения своих роботакси. Архив рубрики ~Обо всем~ Мы создаём паноптикум с помощью краудсорсинга. Архив рубрики ~Обо всем~ Электромобили GM вскоре будут поддерживать больше типов общественных зарядных станций. Архив рубрики ~Обо всем~ Удаленная работа ухудшила психическое здоровье. Причиной стало увеличение времени в одиночестве Архив рубрики ~Обо всем~ Первый тест-драйв: Rivian R2 2027 года полностью меняет правила игры в мире электромобилей. Архив рубрики ~Обо всем~ Загадочный случай исчезновения носимого устройства Архив рубрики ~Обо всем~ Что произойдет, если Apple и Google объединятся для создания ИИ? 5 новых моделей. Архив рубрики ~Обо всем~ 7+ настроек конфиденциальности телефона, которые следует проверить и отключить как можно скорее, чтобы избежать раскрытия ваших личных данных. Архив рубрики ~Обо всем~ Привет, Siri! Теперь ты — основа для умных очков Apple. Архив рубрики ~Обо всем~ Помимо функции extract_text: два слоя PDF-файла, определяющие качество RAG. Архив рубрики ~Обо всем~ AT&T теперь предлагает дневные абонементы за 3 доллара на «безлимитный» мобильный интернет для iPad. Архив рубрики ~Обо всем~ Как смотреть Чемпионат мира по футболу FIFA 2026: 10 способов трансляции (включая бесплатные варианты) Архив рубрики ~Обо всем~ Байесовские сети и сети Маркова: интуитивно понятное руководство по структурированной неопределенности Архив рубрики ~Обо всем~ Премия EPICS от IEEE присуждается выдающимся студентам и преподавателям. Архив рубрики ~Обо всем~ Компания Waymo создала виртуального водителя-человека для улучшения своих роботакси. Архив рубрики ~Обо всем~ Мы создаём паноптикум с помощью краудсорсинга. Архив рубрики ~Обо всем~ Электромобили GM вскоре будут поддерживать больше типов общественных зарядных станций. Архив рубрики ~Обо всем~ Удаленная работа ухудшила психическое здоровье. Причиной стало увеличение времени в одиночестве Архив рубрики ~Обо всем~ Первый тест-драйв: Rivian R2 2027 года полностью меняет правила игры в мире электромобилей. Архив рубрики ~Обо всем~ Загадочный случай исчезновения носимого устройства Архив рубрики ~Обо всем~ Что произойдет, если Apple и Google объединятся для создания ИИ? 5 новых моделей.

Оставить комментарий

Подписка на рассылку

Получайте свежие новости и идеи на почту. Без спама — только самое интересное.

Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.