1.5к
0
0
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
Назад

Собираем компьютер для работы с большими языковыми моделями

Время чтения 9 минут
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
1.5к
0
0
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники

Меня зовут Артем Чебыкин, я ML-инженер в компании Statanly Technologies. В этой статье я расскажу о том, какой тип компьютера: стационарный, ноутбук или макбук — больше всего подходит для машинного обучения и почему. Также рассмотрим начальный и продвинутый вариант сборки для машинного обучения больших языковых моделей (LLM).

Собираем компьютер для работы с большими языковыми моделями

LLM

LLM — это модель, которая обучена на больших объемах текстовых данных и используется для понимания, обобщения и создания текста. Я рассматриваю варианты сборки компьютера именно для такого типа моделей, потому что сейчас LLM очень актуальны: многие компании стремятся создать личного ассистента, который поможет сотрудникам в решении рабочих вопросов.

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

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

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

Какой тип компьютера лучше всего подходит для машинного обучения

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

1. Производительность

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

Например, в ноутбуке с дорогим топовым железом Machenike L16 Pro Supernova стоит RTX 4090 для ноутбуков — порезанная видеокарта с характеристиками RTX 4080 для стационарных компьютеров, поэтому она на ступень ниже десктопной версии RTX 4090. Это касается любого ноутбука.

Сравнение стандартной и десктопной версии видеокарты

(Источник данных)

2. Возможность замены

Еще один недостаток ноутбуков и макбуков: центральный и графический процессоры распаяны на плате, поэтому их сложно заменить. В ноутбуке у процессора BGA-выводы, то есть в роли контактов выступает массив шариков. Чтобы вытащить чипы, нужна паяльная станция. Также нужно правильно подобрать время выпаивания и не сжечь электронику. Даже если получится правильно выпаять процессор и заменить его на более мощный, он может не подойти из-за несовместимости с другими компонентами ноутбука. Единственные апгрейды, не требующие специальных навыков, — добавление дополнительного жесткого диска или SSD и замена планки оперативной памяти. 

Во всех макбуках нельзя заменить даже оперативную память.

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

3. Объем памяти

Однако макбуки компенсируют невозможность замены CPU и GPU с помощью унифицированной памяти и уникальной архитектуры.

В ноутбуках других фирм CPU и GPU разграничены и имеют каждый свою память. GPU и CPU макбука не разграничены и обращаются к одним и тем же блокам памяти. Из-за этого данные не нужно копировать между разными источниками памяти — это экономит время и повышает производительность системы. 

Тесты показали, что графический процессор может занимать примерно 75% объема памяти. В случае 128 Гб унифицированной памяти графический процессор может максимально занять 96 Гб, остальное остается под центральный процессор. В традиционной архитектуре GPU занимает гораздо больше, а у Apple процессор забирает часть памяти из общего количества.

Благодаря этому даже при общем объеме RAM 64 или 96 Гб на макбуке есть внушительный запас памяти, поэтому на нем можно обучать большие модели. Однако макбуки проигрывают стационарным компьютерам, поскольку мощность их процессоров всё равно не дотягивает до видеокарт NVIDIA, которые больше всего подходят для машинного обучения. 

GPU working set size — 75%

(Источник видео)

4. Видеокарта

Чтобы понять, почему видеокарты NVIDIA лучше всего подходят для машинного обучения, рассмотрим преимущества продукции компании по сравнению с другими крупными производителями видеокарт — AMD и Intel.

Преимущества NVIDIA:

  • Компания начала разрабатывать унифицированное аппаратное и программное обеспечение для машинного обучения гораздо раньше, чем AMD и Intel. Сообщество NVIDIA, которое разрабатывает библиотеки, гораздо больше и активнее, чем у AMD и Intel. Хотя AMD публикуют новости, что их промышленные карточки могут обогнать карты NVIDIA, обычно речь идет о бенчмарках, то есть производители запускают их в искусственных условиях.
  • В видеокартах NVIDIA есть тензорные ядра. Их название — маркетинговый ход от NVIDIA, который привлекает внимание. По сути, тензорные ядра — это маленькие вычислительные блоки, специально созданные компанией NVIDIA для расчета тензоров, которые используются в нейросетях.
  • Видеокарты NVIDIA имеют CUDA-ядра — унифицированные мультизадачные графические ядра. Их кодеки используются, например, для рендеринга, отрисовки графики в играх или графических приложениях и для ускорения машинного обучения. 
  • Множество фреймворков и библиотек оптимизировано по технологии NVIDIA. 

На что обратить внимание при выборе видеокарты NVIDIA для обучения:

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

У AMD есть Matrix Core Technologies — аналог тензорных ядер, который не имеет такой хорошей аппаратной поддержки. Поскольку софт у AMD не настолько хорош, как у NVIDIA, скорость работы видеокарты ниже. С выпуском ADA — последнего поколения видеокарт NVIDIA — разница в качестве видеокарт NVIDIA и AMD стала еще больше.

  • Число CUDA-ядер. Они позволяют частично ускорять машинное обучение, но не так эффективно, как тензорные. 

Сколько тензорных и CUDA-ядер нужно. Среднее число по тензорным и по CUDA-ядрам зависит от бюджета. Например, у начального решения для машинного обучения RTX 4090 16 384 CUDA-ядер, 1321 тензорное ядро четвертого поколения, 512 текстурных блоков и 176 блоков растеризации. В профессиональных картах их еще больше.

  • Объем видеопамяти у карточки не влияет на процесс обучения, но очень важен. Я считаю, что сейчас минимальный объем для обучения больших сеток — 24 Гб. Такой объем имеют либо топовые игровые решения NVIDIA: 3090, 3090 TI, 4090, — либо видеокарты в промышленном сегменте. Если сеть слишком большая, она просто не влезет в наш объем видеопамяти. Для уменьшения ее размера можно использовать технологию сжатия LoRA, но это приведет к снижению качества работы модели.
  • Частота видеочипа. Чем больше частота, тем выше скорость работы, тем быстрее и больше операций процессор делает за такт.
  • Ширина шины памяти видеокарты и тип памяти. В игровых карточках NVIDIA и некоторых промышленных сейчас стоит стандарт GDDR6X либо GDDR6. Но есть еще карточки, которые ставят, например, на NVIDIA Tesla, — HBM2-память с огромной пропускной способностью. То есть за один такт мы можем передавать и получать гораздо больше данных.

Таблица с характеристиками и ценами на видеокарты, которые уменьшаются сверху вниз. RTX 3090 и 3060 неприменимы для больших моделей. Видеокарты выше RTX 4090 — профессиональные решения

5. Цена

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

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

Вывод

Худший вариант для машинного обучения — ноутбук, потому что у него порезанное, менее производительное железо, чем у такой же модели в стационарном компьютере. На втором месте макбуки, поскольку у них есть унифицированная память, которая позволяет заниматься машинным обучением. Однако в них стоят видеоядра от Apple, а не видеокарты NVIDIA, которые больше всего подходят для обучения. Наилучший вариант — стационарные компьютеры с NVIDIA, потому что в них стоят полноценные версии железа и при одинаковой производительности они более экономически выгодны, чем макбуки или ноутбуки. 

Варианты сборки компьютера для машинного обучения

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

Начальная сборка

Бюджетная сборка для машинного обучения и обучения больших моделей.

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

Компоненты для сборки начального уровня

Оперативная память. Минимальный объем оперативной памяти — 64 Гб. Четыре планки памяти позволят системе работать стабильно.

Процессор. Процессор работает в двухканальном режиме. Пока две планки активны, две другие готовятся. Рекомендую ставить процессоры от AMD, потому что они дешевле, а также выделяют и потребляют меньше тепла, чем процессоры других фирм. Также компания AMD сказала, что платформа, на которой стоит АМ5, будет поддерживаться до 2026 года. Это значит, что она актуальна.

Запоминающие устройства. Недостаточно сделать раздел на одном SSD, рекомендую иметь два: первый небольшого объема — например, 256 Гб — для системы, а второй — для текущего проекта. В таком случае, если система или диск сломаются, вы потеряете только маленький SSD, а данные останутся в безопасности на втором накопителе. Потерять систему, которую можно переустановить, не так страшно, как 2 Тб уникальных данных. 

Также высокой скорости SSD может не хватать для передачи, если расположить систему и большое количество данных на одном диске. Система будет подтормаживать.

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

Блок питания. Для питания такой системы хватит блока питания 850 Вт.

Цена. Примерно 300 000 рублей. 

Что можно сделать на этой сборке. По ссылке указаны параметры, которые необходимы для обучения различных моделей. Обращайте внимание на параметр GPU requirements — в случае начальной сборки у нас 24 Гб VRAM. Под эти критерии подходят, например, BERT и Falcon. Также 24 Гб — минимум для Zephyr.

Продвинутая сборка

Сборка с наиболее мощными компонентами для машинного обучения по состоянию на 1 апреля 2024 года.

Концепция: используются промышленные карточки. Не топовые, но мощнее RTX 4090.

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

Используется специальная материнская плата.

Компоненты для сборки продвинутого уровня

Процессор. В этом варианте сборки, как и в первом, процессор фирмы AMD, но он почти серверный. AMD разделяет два типа процессоров, отделяя их от серверных. Они называются high-end system processors и ставятся в очень продвинутые системы. Именно такие нужны для емких вычислений, которые есть в нейронных сетях. 

RAM. Отличаются объемы оперативной памяти. Если в предыдущей сборке было 64 Гб, то здесь можно поставить почти 2 Тб.

Материнская плата вмещает до четырех видеокарт, которые можно поставить на одну плату.

Цена. Цена всех комплектующих без учета кастомного водяного охлаждения и сборки всех компонентов примерно 6.5–7 млн. рублей.

Что можно сделать на этой сборке. Можно обучать такие модели, как LLaMA 70B, Bloom, Mixtral-8x7B

Что даст продвинутая сборка

  • Большое количество оперативной памяти (192 Гб), можно расположить много данных.
  • Высокая скорость работы.
  • Высокое качество результата.

Чем больше памяти, тем меньше нужно задумываться о сжатии и тем выше будет качество, потому что мы обучаем полноценную модель, а не сжатую. Не придется использовать дополнительные техники LoRA и QLoRA, чтобы ужаться в 24 Гб оперативной памяти. В продвинутой сборке — 192 Гб, это само по себе довольно много. Также у профессиональных карточек NVIDIA есть технологии, с помощью которых их можно объединить в одну видеокарту, что еще больше повысит скорость обучения. 

В заключение

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

Комментарии0
Тоже интересно
Комментировать
Поделиться
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники