Search
Write a publication
Pull to refresh
2
0
Send message

Лучше ставить те, что в мануале. Такие системы могут не запускаться с некоторой памятью, тем более проприетарные. Лучше всего брать планки с большим количеством чипов, с ними наименьший шанс проблем. И следите за типом памяти, обычная DDR5 не подойдёт (вообще там в мануале должен быть написан требуемый тип памяти).
Я покупал эту: M321R8GA0BB0-CQK

Кстати на счёт частоты, на форуме люди 8 канальную память до 6000 MT/s гнали, у меня 6к стабильно не работают, всё-таки самая дешёвая память не особо гонится). Так что эти 4800-4400 - гарантированная частота. На деле можно больше, но деловская плата наверное не даст погнать

Вот результаты.

Важные уточнения:

  • Скорость памяти в районе 120 гб/с (у инженерников она на 10-15% медленнее релизных процов)

  • Проц инженерный, по этому результаты в сравнении с релизными версиями могут немного отличатся в худшую сторону, но в общем закономерность должна прослеживаться.

  • Инференс исключительно на CPU

  • CPU с отключенным Hyper Threading, только настоящие ядра.

  • LM Studio с движком llama.cpp b5572 (llama.cpp-win-x86_64-avx2)

  • tFT - Время от старта до появления первого токена в секундах. Указано только для случая с контекстом, без контекста задержка плавала от 0.1 до 1 сек.

  • Тесты провёл как с контекстом 2900 токенов, так и без.

  • Тесты проводил по 1 прогону (уж очень долго и нудно это оказалось), так что результаты могут немного "плавать")

  • Система: Win 11

Qwen3-30b-a3b Q8_0

| Cores | tFT (2900) | t/s (2900) |  t/s (0) |
|-------|------------|------------|----------|
|     2 |         90 |        4.3 |      5.8 |
|     4 |         58 |        7.5 |       10 |
|     6 |         47 |        9.6 |     12.3 |
|     8 |         41 |       11.4 |       14 |
|    10 |         38 |       12.4 |     15.3 |
|    12 |         36 |       13.4 |     16.1 |
|    14 |         34 |       13.6 |     16.6 |
|    16 |         33 |         14 |     16.8 |
|    18 |         32 |      13.75 |     16.1 |
|    20 |       31.6 |       14.2 |     16.2 |
|    22 |       31.3 |       13.9 |       16 |
|    24 |       31.3 |       13.6 |     15.7 |
|    36 |         30 |       12.7 |     13.8 |
|    48 |       30.5 |          9 |      9.7 |

Qwen3-30b-a3b Q4_K_S

| Cores | tFT (2900) | t/s (2900) |  t/s (0) |
|-------|------------|------------|----------|
|     2 |         85 |        5.5 |      8.3 |
|     4 |         52 |        9.5 |     13.8 |
|     6 |         41 |       12.1 |       17 |
|     8 |         35 |       14.1 |     19.2 |
|    10 |       31.6 |       15.7 |     19.9 |
|    12 |       26.8 |       16.1 |     20.9 |
|    14 |       25.1 |       16.7 |     21.4 |
|    16 |       23.5 |       17.6 |     21.8 |
|    18 |       24.8 |       17.4 |     21.1 |
|    20 |       24.6 |       17.5 |     21.2 |
|    22 |       24.2 |       17.8 |     21.3 |
|    24 |       23.8 |       17.4 |     20.7 |
|    36 |       22.6 |       15.7 |       17 |
|    48 |       22.7 |       11.4 |     12.5 |

Qwen3-30b-a3b IQ1_S

| Cores | tFT (2900) | t/s (2900) |  t/s (0) |
|-------|------------|------------|----------|
|     2 |       75.3 |        4.1 |      5.4 |
|     4 |         43 |        7.4 |     9.55 |
|     6 |         33 |        9.9 |     12.7 |
|     8 |       27.1 |         12 |     15.3 |
|    10 |       23.9 |       13.3 |     16.5 |
|    12 |       21.6 |       14.7 |     18.2 |
|    14 |       20.1 |       15.5 |     19.4 |
|    16 |       19.1 |       15.9 |     19.8 |
|    18 |       18.4 |       16.7 |     20.3 |
|    20 |         18 |       16.7 |     20.1 |
|    22 |         18 |         17 |     20.1 |
|    24 |       17.7 |       16.9 |     20.1 |
|    36 |       18.3 |       16.1 |     17.9 |
|    48 |       18.2 |        9.1 |      9.8 |

Получается, что при такой скорости памяти предпочтительны 16-18 ядер (ну или аналогичная производительность, у меня они на 3.4 - 3.5 GHz в этот момент работали)
Интересно, что IQ1_S работает даже медленнее Q4_K_S, похоже есть какие-то серьёзные "затупы" помимо скорости памяти... Я полагаю это может быть связано с преобразованием весов во время инференса.
В ходе тестов оператива прогрелась до 78 градусов)

По идее могу ради интереса попробовать скомпилировать движок с поддержкой AMX, но уже завтра.

Могу ещё какие-нибудь прогоны сделать, если интересно.

На счёт "компьютера с Intel Xeon W5-3425", проверьте какая там стоит материнская плата. Процессоры для рабочих станций работают только на W790 чипсете, таких плат 4:

  • ASUS Pro WS W790-ACE

  • Asrock W790 WS

  • ASUS Pro WS W790-SAGE

  • Gigabyte W790 AI TOP

Так вот первые 2 - 4 канальные платы.

Да, так и есть. На самом деле, если переборщить с количеством ядер результат даже ухудшится, причём заметно. На настольных процах это возможно не заметно, но у меня при использовании 48 ядер скорость падает в сравнении с 24.

В других конфигурациях позже попробую и напишу сюда.

А на счёт энергопотребления))... Бич этих зеонов (4 ген) в том, что есть 2 варианта кристалла, MCC (32C) и XCC (60C), XCC - это сборка из 4 чиплетов соединённых EMIB шиной. Эта шина совместно с архитектурой L3 кеша приводит к тому, что проц в простое жрёт 150-200 ватт. Если включить все энергосберегайки, то потребление падает до 90, но при этом всё становится жутко тормазнутым, т.к. проц просто не "просыпается" от обычных действий.
Хотя из-за огромного кристалла (в районе 1600 мм2) охлаждать его очень легко, у меня при жоре 320 ватт больше 50-55 не греется)

Меньше времени будет потрачено на саму операцию вычисления. Небольшой выигрыш будет. Условно можно за раз обработать больше данных, загружать их будем столько же, зато обработаем за раз.

А если всё уместится в кеш процессора (не в случае с LLM), ты выигрыш будет очень большой.

Ядра сами по себе сложные штуки с кучей вычислительных блоков внутри, на 100% оно на самом деле никогда не загружено, в самом идеальном случае дай бог 80-90% будет. То, что пишет в мониторинге не отражает действительности. Реальную загрузку можно разве что через профилировщики типа VTune посмотреть.

Я, например, смотрел как llama.cpp работает на GPU и процентов 30 времени ядро карты простаивает выполняя другие операции, типа ввода/вывода, квантования и т.п, хотя все мониторинги пишут 100% загрузку. Да и оставшиеся 70 тоже на деле не 100% загрузка.

Почитал, в общем 400 т/с это судя по всему скорость обработки входного промпта (и то я сильно сомневаюсь в реалистичности такой скорости).
Если перейти и посмотреть страницу на которую человек ссылается (https://github.com/kvcache-ai/ktransformers/blob/main/doc/en/AMX.md), то там видно, что в случае инференса Qwen3-235B-A22B на системе с Xeon 4 + RTX 4090 они достигают скорости 114 т/с при вычислении промпта и 14 т/с во время вывода новых. Это не мало, но и не сказать, что быстро как по мне. Я бы такое не использовал, слишком медленно для меня, тем более с рассуждающей моделью.

Я думаю что есть смысл пожертвовать парой процентов метрик в пользу скорости, взяв модель поменьше. Лично я довольно часто и много общаюсь с локальными LLM во время кодинга и попутно у меня ещё чат бот свой работает. Долгие ответы очень быстро начинают подбешивать и портят весь комфорт взаимодействия.

Сейчас я в основном сижу на Qwen3-30b-a3b, ибо 80-90 т/с великолепный результат с моментальными ответами, да и модель вполне себе умная, без проблем использует сложные инструменты и хорошо следует огромным инструкциям. Хотя честно говоря, есть у неё косяки, иногда тупит в некоторых диалогах и некоторые слова не знает)

И ещё важный момент:
Когда будете покупать ОЗУ, Вам нужна именно RDIMM (серверная) память. Обычная DIMM не поддерживается этой платформой. Она (обычная) отличается по вольтажу и ключу разъёма от серверной. Проверьте внимательно совместимость.

Советую почитать доп. инфу об этой платформе тут (на форуме очень много полезной информации, которую очень сложно найти): https://forums.servethehome.com/index.php?forums/processors-and-motherboards.18/

Касательно замеров скорости ядра: Они есть в статье, которую я выше про AMX кидал, там есть график пропускной способности AMX блока (по сути самого ядра) в зависимости от размера: "Скорость загрузки AMX регистров"

Кол-во ядер померяю чуть позже, но это чисто приблизительные данные, т.к. сильно может от системы зависеть.

Во втором случае qwen3-32B. Не заметил, когда писал)

LM Studio использует llama.cpp как основу для инференса llm.

4 канала памяти, ибо я на материнке сэкономил, когда покупал год назад, учитывая цену на оперативу и на платы, 8 каналов в 2 раза увеличило бы вложения.

Изначально покупал чтоб протестить будет ли вообще толк от этих AMX (не хотелось сразу вкладывать кучу денег без результата), мой вывод, что в случае больших моделей - нет. Смысл от них есть только в том случае, если не хватает именно вычислительной мощности, в случае с LLM на процах упор идёт в скорость памяти. AMX возможно может немного помочь в случае больших контекстов (не проверял, не уверен), но оно не панацея. К тому же AMX имеет весьма ограниченную поддержку типов точности, если точнее, то только bf16 и int8.
Тут на хабре есть хорошая статья о AMX: https://habr.com/ru/articles/807033/

Если кратко резюмировать: Если Вам хочется получить максимально быстрый инференс на CPU, ищите варианты с максимально быстрой памятью. Сколько именно надо ядер точно не скажу (могу попробовать выяснить примерно оптимальное количество, если интересно), но от 48 точно никакого толка с такой медленной памятью нет.

Являюсь обладателем 48/96 инженерника Sapphire Rapids, тоже покупал с мыслями о AMX. В общем, смысла от них не много, всё упирается в скорость памяти.

Система:

  • Xeon QYFU (48/96, 2.8 GHz по всем ядрам)

  • 4 канала * 64gb DDR5-4800

  • 2 * RTX 3090

Софт:

  • LM Studio

Результаты:

Модель Qwen3-30B-A3B Q8_0, контекст 2400 ток:

  1. Только CPU:

    • До первого токена: 34 сек

    • Скорость генерации: 13 т/с

  2. 50/50:

    • До первого токена: 12 сек

    • Скорость генерации: 17 т/с

  3. Только GPU:

    • До первого токена: 1.5 сек

    • Скорость генерации: 80 т/с

Модель Qwen3-30B-A3B Q8_0, контекст 2400 ток:

  1. Только CPU:

    • До первого токена: 48 сек

    • Скорость генерации: 2.6 т/с

  2. 50/50:

    • До первого токена: 13.8 сек

    • Скорость генерации: 3.44 т/с

  3. Только GPU:

    • До первого токена: 2.6 сек

    • Скорость генерации: 21 т/с

В общем первостепенна скорость памяти, производительность CPU не так важна.
Допускаю что в LM Studio есть какой-то косяк в работе с цпу, но вряд ли. Если посмотреть на соотношение пропускной способности памяти к т/с, то всё сходится. У проца 120-130 гб/с против 1тб/с у карты, ну и т/с соответственно в 10 раз меньше.
Скорее всего можно выжать ещё больше, но я пришёл к выводу, что выгоднее вкладывать в процы с большим количеством pcie линий и видюхи к ним.

Кстати ещё момент, с увеличением количества видеокарт скорость инференса не растёт, а в некоторых случаях даже немного падает (в случае с 1 одновременным запросом). Если проанализировать как происходит инференс на железе с помощью Nvidia Nsight, то становится понятно почему это происходит.

Information

Rating
6,008-th
Registered
Activity