Опыт программиста || локальный LLM
Этот пост посвящается тому как я на своём ПК локально LLM запускал.
Я взял ggml-org/SmolLM3-3B-GGUF на llama.cpp. На борту стояла Radeon RX590 (2020 года) и зеон 8 16, и 32 гб DDR4.
С данной видеокартой мне не светило запустить что-то мощное, но чтобы было настолько все плохо...
Ещё в 2020 технология CUDA для трассировки лучей у Nvidia были на этапе анонса. Что уж говорить об Radeon которые новые технологии толком не придумывали, лишь пытались уподобиться технологиям Nvidia.
На гитхабе llama.cpp есть список поддерживаемых бэкендов. Сейчас список гораздо шире, чего не было год назад. Я приложу старый скриншот. И предположу что это все для меня значит.
CPU arm64. Arm архитектура используется в мобильных процессорах. Если я не ошибаюсь. CPU x64. Привычные десктопные Intel и radeon процессоры. Вариант походит для меня. CUDA. Те самые ядра трассировки лучей которые позже оказались эффективны для нейросетей. HIP RADEON. Относительно свежая технология ядер для нейросетей у GPU Radeon. Мне она не светит, и я расскажу что было когда я выбрал её. Opencl Adreno. Я представления не имею что это. На старом скрине указана arm64, а в новом списке указано GPU. Sycl. Intel GPU. Я понятия не имею что представляют собой Intel Vulkan. Вообще прикольная и универсальная штука. Совершенно не предназначенная для нейросетей. Но я её попробовал.
В случае HIP, у меня кушало процессор. В ответ на простой промпт уходила... МИНУТА (56 секунд).
После чего я взяла Vulkan и на ответ ушло 15 секунд. Вот это был прогресс. После чего я привязал нейронку к боту и наблюдал за тем как нейронка в чате пишет откровенный бред ровно до момента пока нейронка не застревает на вечном печатании текста.
Ps. Я сильно заболел. Лето хорошее время чтобы болеть))). Я бы хотел писать посты каждый день, но здоровье не позволяет пока. А ещё держите смешную картинку с древом Сефирот в промежуточных этапах нейронки.