All streams
Search
Write a publication
Pull to refresh
28
10.2
Славик Фурсов @SlavikF

Developer

Send message

Перевод "Custom Resources", как "пользовательские ресурсы" - немного странный, как мне кажется. Правда, я лучшего не знаю...

А по поводу статьи - мне интересно, с какого уровня нагрузки может возникнуть необходимость "разгружать" ETCD?

Некоторые темы показались интересными.

Но когда я попробовал зайти на ваш сайт - Clouflare меня блокирует и не пускает. Вы там может сделайте правила попроще...

Из моего опыта:

Я пробовал использовать Harvester 1.4.0, который идёт уже с kubeVirt и для storage используется Longhorn.

Да, работает. Но всё довольно сыро:

  • Создаю виртуалку у которой 16GB RAM, но для объектов Кубернетеса для этой виртуалки нужно ещё немного памяти (это я про resources), и оказывается что никто не знает как посчитать этот overhead. Из-за этого виртуалки иногда крэшатся Out-of-memory. Причём у виртуалки памяти достаточно - это у куба не хватает, но крэшится вся виртуалка.

  • Некоторые действия (migration, shutdown, power on...) делаются декларативно. То есть создаётся какой-то объект куба. А когда виртуалка например не стартует, то приходится копаться в дебрях куба, чтобы понять - где там проблема? Пока найдёшь нужный манифест в котором есть статус, в котором указана проблема...

  • Проброс устройств - боль. Отдельный оператор занимается сканированием PCI устройств. Список этих устройств - глобальный для всех нодов. Как этот список управляется - загадка. Управляется он через манифесты, но иногда некоторых устройств там нет. Почему? - кто ж его знает. Иногда - устройства показаны занятыми, хотя никто их не использует.

  • Как-то раз виртуалка отказывалась запускаться и я не мог понять почему. Пошёл спать. Утром пришёл - виртуалка запущена. Что-то там внутри куба "дошло" за несколько часов...

В общем, надоело мучаться и я перешёл на Proxmox - там всё намного стабильней.

А где посмотреть эти критерии?

Спасибо большое за результаты!

Я купил уже готовый компьютер - Dell Precision T7960, сегодня утром пришёл. Правда с ним только 4*16GB RAM, так что памяти надо будет докупить.

  • chipset W790

  • motherboard - не знаю какая, похоже у них своя (они называют это system board)

  • поддерживается 8 каналов. На материнке - 16 DIMMs.

Кстати, кто-нибудь знает, если запустятся DDR5 планки на 48GB? В их мануале написано что поддерживаются только 16 GB, 32 GB, 64 GB, 128 GB, 256 GB.

8 * 48GB (384GB) - это наверное минимум чтобы запустить нужные модели. Можно купить за $1400.

А вот 8 * 64GB (512GB) - это уже где-то $2200.

Кстати узнал, что если ставить до 8 модулей памяти - работать будет на 4800 MT/s. А если больше модулей памяти - только на 4400 MT/s

DeepSeek R1 не сильно отстаёт

Спасибо за ссылки. Кстати там тоже написана эта же цифра - около 20ГБ/с на ядро.

Насколько я смотрел проекты, то поддержка AMX толком ещё не добавлена. Вот тут пишут какие-то фантастические цифры, которые "возможно" достичь с AMX:

https://github.com/ikawrakow/ik_llama.cpp/issues/437

Ktransformer kernel can achieve 21 TFLOPS of BF16 throughput and 35 TOPS of Int8 throughput on Xeon4 CPUs — about 4× faster than PyTorch’s general AMX kernel. For DeepSeek-V3, pairing a Xeon4 CPU with a single RTX 4090 GPU achieves 418 tokens/s end-to-end throughput

Вроде бы прямо сейчас над этим работают.

Попробовать выяснить оптимальное количество ядер - это было бы интересно.

Я видел комментарий, что в среднем одно ядро современного (Sapphire Rapids) Xeon способно переварить 20-30ГБ/с данных модели. Поэтому если ядер много, а память недостаточно быстрая чтобы загрузить ядра - они простаивают. И наоборот - если память быстрая, но не хватает скорости ядер их обработать - то простаивает память.

Но эта цифра 20-30ГБ/c - сомнительная. Просто кто-то написал. Вот если бы реально это как-то померить, и как оно зависит от квантизации, ...

Не совсем понятно, у вас в результатах сравнивается "Модель Qwen3-30B-A3B Q8_0" с "Модель Qwen3-30B-A3B Q8_0"?

LM Studio наврядли использует AMX. Это нужно или llama.cpp или ik_llama

4 канала памяти? Обычно с таким количество ядер процессоры имеют по 8 каналов.

Qwen-3 (примерно как Deepseek, но не open-source)

Что такое "open-source" каждый понимает по своему. Но Qwen3 весы выложены (open) например вот тут:

https://huggingface.co/Qwen/Qwen3-235B-A22B

Если у вас всё сконфигурировано оптимально, то максимально возможная скорость памяти - 68GB/s. Практически - меньше.

С этим особо не разгонишься.

Инференция на двух процессорах может быть медленнее.

Вот тут я пробовал запускать на двух Intel Xeon Gold 5218:

https://github.com/Mozilla-Ocho/llamafile/issues/765

Получилось около 4 токенов в секунду.

На одном процессоре - около 8 токенов в секунду.

Насколько я смог разобраться, это потому что один процессор работает с памятью на полной скорости (~120GB/s в моём случае), а если процессора два - то работа с памятью идёт через NUMA, а это - около 20GB/s для памяти на "чужом" процессоре.

OS: Ubuntu 24.

Видятся 48ГБ.

Обычные драйверы, ничего особо не настраивал специально, всё "из коробки".

Вот тут я написал результаты бенчмарков, мерил скорость у неё:

https://www.reddit.com/r/LocalLLaMA/comments/1j11js6/i_bought_4090d_with_48gb_vram_how_to_test_the/

Надо промпт начинать с /no_think

Тогда отвечает сразу. Я использую OpenWebUI, - там можно этот "/no_think" добавить в список промптов и тогда его можно использовать "в один клик"

Тут надо разобраться - это выгрузка слоёв на GPU ускоряет?

Потому что llama.cpp в первую очередь выгружает на GPU работу KV cache и обработку промпта. В этом случае даже если сами слои вообще не выгружать на GPU - уже может быть раза в два быстрее.

У меня используется где-то 43GB VRAM.

Я сильно много не экспериментировал, но думаю, что для моделей размером 120-350 ГБ особой разницы в скорости между 24GB и 48GB VRAM не будет. А вот разница между нет GPU и есть 24GB VRAM - большая.

Да, вот эта скорость выше - это с частичной выгрузкой слоёв. Вот мои параметры:

--ctx-size 16384

--cache-type-k q8_0 --cache-type-v q8_0

--flash-attn

--threads 16

--n-gpu-layers 999

--override-tensor '([3-8]+).ffn_.*_exps.=CPU'

Выгрузка слоёв на GPU делает скорость чуть быстрее, но не сильно. GPU очень круто ускоряет процессинг промпта, и работу с KV cache. Сама инференция по большей части упирается в RAM.

DeepSeek-R1-0528 или, если не нужны рассуждения, на DeepSeek-V3-0324

Да, скорость генерации токенов примерно одинакова. Только вот для R1 надо ждать минут 10 пока она "думает", а V3 отвечает сразу и неплохо.

"--prio", "3"

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

Мой опыт:

Моя система:

  • Intel Xeon Gold 5218 (16 ядер, 32 threads),

  • 6 каналов памяти * 64GB DDR4-2666

  • RTX 4090D 48GB VRAM (китайский мод)

Использую две модели:

  • DeepSeek-V3-0324-UD-Q2_K_XL (250GB), 6.3 tokens / sec

  • Qwen3-235B-A22B-128K-UD-Q4_K_XL (125GB), 7.7 tokens / sec

Классная фишка у моделей Qwen3 - модель можно запустить один раз, а уже для каждого запроса решать - нужен простой ответ быстро? или нужно думать (thinking) долго?

Сейчас вот удалось на Ebay "словить" вариант компьютера с Intel Xeon W5-3425 всего за $1000. Правда память надо будет докупать. Надеюсь будет значительно быстрей, потому что у этих Xeon добавили технологию AMX, которая ускоряет инференцию, и есть 8 каналов DDR5-4800 памяти. DDR5 память правда раза в 3-4 дороже чем DDR4.

Интересный опыт.

У Гитлаба есть способ запускать раннеры к Кубернетес кластере - и таким образом масштабироваться за счёт Кубернетеса. Я у себе в домашней лаборатории так настроил. Понятно, что масштабы у меня меньше, но вот такой вариант тоже есть.

Information

Rating
635-th
Location
Seattle, Washington, США
Registered
Activity