LINUX.ORG.RU

Супер-компьютер для ML

 ,


0

2

Есть задача собрать супер-компьютер для ML. Практически без ограничения на бюджет. Деньги не мои, и я пока не знаю, на какой сумме скажут что слишком, пока не говорят.

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

На текущий момент, что я предполагаю, это закупиться RTX 4090 пять штучек, или может больше если найду подходящуюю материнку.

Или может лучше NVIDIA A100? И чем лучше, кроме того, что там 40Гб? Согласно техническим характеристикам, у A100 «Memory bus width» в размере 4096, в то время как у Rtx4090 всего 384. Но процессоров меньше и частота меньше. Но стоит почему то в 3-4 раза больше. На что влияет эта МемориБасВидх?

Будет ли на такую конфигурацию хорошо параллелиться этот DataParallel?

Является ли это оптимальным вариантом, и не будет ли каких либо затыков с этим. Или может это вообще не так делается?



Последнее исправление: victor79 (всего исправлений: 1)

Насколько я знаю у суперЭВМ обычно не видеокарты, а множество ЦП.

Если бюджет не ограничен, то я бы делал на «Эльбрусах», так как больше нигде такую крутую технику не увидеть.

Кстати, перемножение матриц для него самое то должно быть.

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

На бессмысленный вопрос дан ещё более бессмысленный ответ. Вы не ознакомились с темой ML.

Partisan ★★★★★
()

«предположительно», «кажется». Прекрасное ТЗ. Ну «суперкомпьютер» это не тазик из ДНС набитый видюхами. Или «неограниченный бюджет» это примерно 5 нулей в рублях?

Ну а если чуть серьёзнее - вы там сначала спросите поточнее про «предположительно» и про «кажется». Может ребятам cuda совсем не нужна, а может они хотят терабайты сырых данных между нодами гонять?

mgdz
()

братишка, хочу по кайфу видеокарта купить, эмэль или питон, что лучше?

z0idator
()
Ответ на: комментарий от mgdz

Может ребятам cuda совсем не нужна

Сейчас считаю на cuda. Спросить больше не у кого, кроме как по форумам. Если бы я знал, что значит гонять данные между нодами, то может ответил бы, нужно ли это.

Была задача - посчитать. Что именно, сказать не могу. Сначала сделал предварительный вариант для cpu. Там считало, но очень печальненько. Купили RTX 4090, стало считаться повеселей. Понаблюдал я это и пооптимизировал на что соображалки хватило. В результате теперь руководство сказало, что хоть десяток таких 4090 купим. Но я их опечалил, что десяток в один компьютер не поставить.

И вот теперь размышляю, какую конфигурацию все же можно собрать.

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

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

десяток в один компьютер не поставить.

Вот поэтому берут не один компьютер, а несколько. Соединяют их через какой-нибудь адекватный задаче быстрый транспорт и пишут софт, который параллелится.

МемориБасВидх (Ширина шины памяти, в моем мире) влияет на скорость чтения-записи в эту самую память. Объем памяти влияет на то, сколько данных в эту самую память можно положить, и соответственно на размер Вашей модели. тут, как правило, работает очень простое правило: больше - лучше, но Вам, как автору кода, очевидно виднее, сколько памяти нужно сейчас, и куда оно в ближайшем будущем может дорасти по требованиям.

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

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

десяток в один компьютер не поставить

Ну 10х4090 действительно воткнуть проблематично, а вот H100 - вполне!
https://www.supermicro.com/en/products/system/GPU/5U/SYS-521GE-TNRT
Правда, конечно надо определиться, на чём выгоднее считать. Если требования к памяти не велики, 4090 может и выгоднее оказаться.

GAMer ★★★★★
()
Ответ на: комментарий от victor79
  1. Вначале определись где это все будет стоять и как охлаждаться. Генерация тепла там будет весьма значительна. А значит еще и шумно. Причем охлад это важно, если не будет хорошего отвода тепла, то ты из мощных видях ничего не выжмешь.

  2. ML это не только CUDA, но и много чего на проце гонять, соотв. нужен еще хороший проц и куча оперативы.

  3. Данные должны быстро подгружаться, соотв. нужны хорошие диски.

  4. Сырые данны и базы нужно где-то хранить, соотв. нужно еще место под бекапы, на HDD, а они чувствительны к температуре, соотв. их нужно вынести подальше от расчетных узлов.

В конечном счете видяхи тебе будут стоить меньше половины всей системы.

PS: Строй систему от проца EPYC на 128+ потоков. У него 128 pci-e линий – можно много видях подключить, 8-канальная память и т.д.

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

хорошо расписал, а если несколько таких «нод», то ещё сеть быстрая нужна будет

z0idator
()

вот, кстати, для ТСа толковый гайд как отправная точка, чтобы не будоражить публику всякими «суперкомпутерами за неограниченный бюджет»
https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/

z0idator
()
Последнее исправление: z0idator (всего исправлений: 1)

А вообще почитай на каких железках тот же стейбл дифужн тренили https://huggingface.co/CompVis/stable-diffusion-v1-1

Спойлер

32 x 8 x A100 GPUs

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от GAMer

ИМХО, лучше выбирать из тех моделей, которые уже пару лет на рынке, чтобы не влететь в конструкторский брак.

soomrack ★★★★★
()

Является ли это оптимальным вариантом, и не будет ли каких либо затыков с этим. Или может это вообще не так делается?

Можно попробовать использовать «гугловый» ускоритель.

Насколько я понимаю, для работы нейронных сетей требуются множественные умножения со сложениями целых чисел в единицу времени. Про «Эльбрусы» тут верно уже сказали, что их внутреннее устройство задумано под эти множественные умножения и сложения целых чисел. В связке с «гугловыми» ускорителями может получиться что-то новенькое.

Enthusiast ★★★☆
()

4 A6000 бери и будет норм. Ну и платформу куда их все 4 можно воткнуть

cobold ★★★★★
()

Надо сначала понять сколько видеопамяти, оперативной памяти и виртуальной памяти (вручную выделенной в файл memory map) требуется. От этого уже плясать нужны ли RDMA, InfiniBand, nvidia-peermem.

steemandlinux ★★★★★
()
Последнее исправление: steemandlinux (всего исправлений: 3)
Ответ на: комментарий от zx_gamer

Насколько я знаю у суперЭВМ обычно не видеокарты, а множество ЦП.

Уже не так, к куче cpu добавляется куча gpu. Не все задачи можно возложить на gpu.

einhander ★★★★★
()

мамкин сборщик собирает пе-ка для скайнета

baja
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.