Поделюсь своим опытом, какие мои решения были удачные, а что стоило бы изменить.
Ноутбуки Macbook Apple M1 pro
Большую часть времени я работаю дома, но мне крайне необходима возможность в любой момент сложить своё рабочее место в рюкзак. Поэтому много лет мой макбук висит под рабочим столом, подключен к огромному дисплею, беспроводной клавиатуре и мыши.
Сейчас это Macbook Pro 14 на процессоре M1pro с 16Gb памяти. Все проекты начинаю на нем, потом, при необходимости подключаю внешние серверы с мощными GPU.
О выборе не жалею, но сейчас взял бы модель с 32Gb оперативной памяти, посколько на этом чипе она же является и памятью GPU. Также стоит выбирать максимальную версию процессора с максимальным количеством ядер.
Но, если с бюджетом проблемы, то можно обойтись и самым дешевым Macbook Air на M1. Поскольку для полноценной работы все-равно можно и нужно использовать дополнительные средства, например Google Collab или свой сервер с GPU.
Стационарный компьютер/сервер
При сборке десктопа, если вы решили, что он вам необходим, я бы сейчас исходил из следующих принципов:
Требования TensorFlow
Ссылка на официальную страницу: (установка TensorFlow)
Высокая скорость обучения
Подумайте, какой смысл собственной сборки, если компьютер будет работать на уровне бесплатного Colab? По этой причине я бы рассматривал десктопы с картами RTX3080 и более мощными.
Память GPU не менее 12Gb
Учтите, что даже простой transfer learning с картинками 300x300px в датасете может запросто откусить 12Gb и более. Вы будете сильно ограничены в экспериментах, если приобретете GPU с меньшим объемом ОЗУ.
Оперативная память от 32Gb
Рано или поздно вам захочется запустить несколько виртуальных машин или поэкспериментировать с огромными предобученными сетями. Ставим сразу 32Гб с возможностью дальнейшего расширения.
Многоядерный центральный процессор
Для простых экспериментов с нейронками вполне хватает Core i3, но для запуска нескольких виртуальных машин желательно выбрать CPU с большим количеством ядер. Как обычно, золотая середина – Core i5. Но и от старших серий хуже не будет.
Быстрый SSD
Пока я не начал работать со StableDiffusion – я не понимал, для чего нужны высокие скорости SSD. Когда веса модели занимают 4Гб – очевидно, что скорость будет не лишней, появляется определенный комфорт.
Берем M2 PCIe Gen4 x4 NVMe объемом от 256Gb.
Материнская плата с охлаждением чипсета и M2
Когда ваш GPU будет несколько минут или часов работать на полную мощность – его температура составит около 70-80гр. Внутренности десктопа будут стремиться к такому же нагреву. Поэтому по возможности выбираем материнку с охлаждением. Или снимаем боковую стенку корпуса (как я и делаю, но это жуть как неудобно).
Блок питания от 800Вт
При выборе блока питания важно взять модель, на которой указана честная мощность, которую он действительно выдерживает.
Грубо считаем 400Вт – на GPU, 100Вт – на материнскую плату, 300Вт – на центральный процессор. На самом деле отлично будет работать и от хорошего БП на 600Вт, потому что это не игровой компьютер, и у нас никогда не бывают загружены одновременно и CPU и GPU.
Будете играть – берите БП от 1кВт.
Например мой RTX3090 просит две линии – поэтому мне хватило блока питания всего с двумя выходами PCIe.
Не стоит подключать мощный видеоадаптер двумя разъемами одной линии – это самообман, ток 20А по одному проводочку – это не шутки.
Ноутбуки c GPU Nvidia
Тут есть простор для экономии, ибо за умеренные деньги можно взять устройство с чипом Nvidia. У недорого ноутбука будет номинальный дисплей (не пригодный для работы с фото и видео). И совершенно точно у мощного лэптопа на Intel будут проблемы с перегревом.
То есть, повторю еще раз:
- Смотрите, достаточно ли вам такого дисплея, например, если хотите поработать в кафе на пляже, а у экрана слишком низкая яркость и днем даже в тени будет почти ничего не видно.
- Изучите вопрос, как этот лэптоп справляется с охлаждением под максимальной нагрузкой.
Лично я такой вариант не тестировал. Если есть положительный опыт – можете рассказать о нем в комментариях.
Далее планирую протестировать и сравнить производительность озвученных решений на реальной задаче обучения нейросети.