Антикризисная 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 до 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 2696v4Xeon 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-ZCPU-ZAIDA64 MemoryAIDA64 MemoryAIDA64 CPU QueenAIDA64 CPU QueenAIDA64 FPU JuliaAIDA64 FPU Julia

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

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

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

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

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

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

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

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

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

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

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

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

© Habrahabr.ru