Антикризисная workstation для ML с тестами на реальной задаче Text to Speech

Антикризисная workstation для ML с тестами на реальной задаче Text to Speech
Внешний вид готовой сборки

Как сказал бы ныне великий классик. Собственная рабочая станция для Ml — это не роскошь, а средство для обучения. Да и к тому же арендованный сервер — это не всегда удобно, быстро и безопасно..

Начнем с обзора недорогих вариантов платформ для сборки

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

AMD TR4 — Платформа для энтузиастов предыдущего поколения, вышедшая в 2017. Несмотря на солидный возраст, остаётся пожалуй, самым производительным решением за вменяемую цену. Поддерживает процессоры Ryzen Threadripper 1-го и 2-го поколений.

  • Плюсы:

    Много ядер, до 32 на AMD Threadripper 2990WX.
    На материнских платах, как правило, множество всевозможных слотов расширения.
    Линий PCI-e до 64 на процессор.
    Неплохая однопоточная производительность.

  • Минусы:

    PCI-e версии 3.
    Цена выше десктопных платформ.
    Максимальный объем памяти 128ГБ.

AMD AM4 — Актуальная десктопная платформа, вышедшая в 2017. Поддерживает процессоры Ryzen с 1-го до 5-го — поколений..

  • Плюсы:

    Хорошая однопоточная производительность у процессоров 5-го поколения.
    PCI-e версии 4 у процессоров 5-го поколения на 500 чипсетах.

  • Минусы:

    PCI-e версии 3.
    Мало линий PCI-e до 24 на процессор.
    Максимальный объем памяти 128ГБ.

Intel LGA 2011v3 — Серверная платформа, вышедшая в 2014. Поддерживает процессоры Xeon E5 3-го и 4-го поколений. Не смотря на почтенный возраст, остаётся весьма актуальной из — за наличия недорогих Китайских материнских плат и процессоров..

  • Плюсы:

    Низкая цена. как процессоров, так и материнских плат.
    Возможность 2х процессорной конфигурации.
    Линий PCI-e до 40 на процессор.
    Максимальный объем памяти до 512 ГБ, на двухпроцессорных китайских платах.

  • Минусы:

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

Я остановил свой выбор на платформе LGA 2011v3, в двух сокетном исполнении, за лучшее соотношение цены к производительности и большого количества слотов расширения.

Рассмотрим подробнее состав собранной системы

*Цены комплектующих округлены для простоты подсчета.

В качестве материнской платы была выбрана Huananzhi X99 F8D Plus за 12000 рублей.

Внешний вид материнской платы
Внешний вид материнской платы
  • Из особенностей платы можно выделить:

    Большие размеры EATX 31×33 см.
    6 полноценных слотов pci-e.
    3 слота nvme.
    10 sata портов.
    Хорошая подсистема питания  процессора.
    Поддержка 8 канального режима работы оперативной памяти.

Xeon 2696v4
Xeon 2696v4

Были выбраны самые производительные процессоры под этот сокет 22 ядерные Xeon 2696v4 (аналог 2699v4) за 2 штуки 24000 рублей.

Память приобретена б/у 8 планок по 16Gb DDR4 ECC Reg за 8 планок 16000 рублей.

Итого стоимость основы для будущей ML станции составила: 52000 рублей.

Примерная стоимость двух других платформ со схожими характеристиками и объемом памяти:

AM4 с Ryzen 7 5950x: 90000 рублей.

TR4 с Threadripper 2990WX: 170000 рублей.

Перейдем к остальным компонентам сборки

В качестве корпуса за свои размеры и демократичную цену был выбран: Phanteks Enthoo Pro 2 Black за 12000 рублей.

Блок питания с запасом на будущее: Xilence Performance X XP1250MR9 1250W за 12000 рублей.

Накопитель m2 быстрой подгруздки данных: Adata m2 XPG Gammix s11 pro на 1Тб за 9000 рублей.

Для длительного хранения данных: Жесткий диск WD Purple на 3Тб за 8000 рублей.

Охлаждение процессора: PCCooler GI-H58UB 2 х 2500 рублей.

Набор вентиляторов для корпуса Arctic P12 Value pack 5pc 2 х 2000 рублей.

Хаб на 10 вентиляторов: Arctic Case Fan Hub 10 Port за 1000 рублей.

В качестве видеокарт, наиболее подходящих для ML за соотношение цены к объему памяти, на мой взгляд, являются Nvidia RTX 3060 12Gb. Две RTX 3060 MSI Ventus 2 обошлись в 80000 рублей.

Вид готовой сборки внутри
Вид готовой сборки внутри
Тесты в синтетике
CPU-Z
CPU-Z
AIDA64 Memory
AIDA64 Memory
AIDA64 CPU Queen
AIDA64 CPU Queen
AIDA64 FPU Julia
AIDA64 FPU Julia

В целом результатам синтетических получились достойные результаты.

Общая стоимость системы составила: 183000 рублей.

Тесты на реальной ML задаче

Сравним производительность полученной сборки с сервером с двумя RTX 3090 в задаче обучения модели синтеза FastPitch от Nvidia.

Синтез обучался на на 29 часах звука, разделенного на семплы от 1 до 15 секунд в течении 1000 эпох со смешанной точностью. Cуммарный BATCH был равен 256.

Параметры batch size для карт были следующими:

  • Для 3060:

    NUM_GPUS = 2
    BATCH_SIZE = 16
    GRAD_ACCUMULATION = 8

  • Для 3090:

    NUM_GPUS = 2
    BATCH_SIZE = 32
    GRAD_ACCUMULATION = 4

Собранная платформа получилось достаточно производительной. Переподготовка датасета с извлечением pitch и mels в 44 потока заняла около 2 часов.

  • Пара 3060 справились с задачей за 48 часов.

  • Пара 3090 справились с задачей за 21 час.

Пример получившегося синтеза (FastPitch + HiFiGAN):

В качестве заключения

3060 показали достойную производительность, оказавшись в 2.3 раза медленнее, чем 3090, что весьма не плохо, учитывая более чем 3х кратную разницу в цене между ними.

Пара 22 ядерных процессоров для обучения без онлайн аугментации и/или конвертации датасета, скорее всего, будет избыточна, и их мало где можно будет полностью нагрузить. Вполне можно сэкономить 20000 рублей, заменив процессоры на 12 ядерные Xeon e5-2650v4.

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

 

Источник

Читайте также