Внешний GPU для машинного обучения

У меня есть MacBook Pro 15 'Mid 2014, и я думаю о покупке Titan X GPU, чтобы ускорить обучение моих нейронных сетей. Titan будет подключен через Thunderbolt 2 в качестве внешнего GPU.

Какую производительность я могу ожидать от этой настройки - будет ли она такой же, как если бы она была подключена к материнской плате? Ограничивает ли скорость молнии скорость GPU?

Ответ 1

Недавно я подключил GTX 970 через Thunderbolt 2 к моему Macbook Pro 13 Late 2013. Тесты графического процессора дали около 70% производительности по сравнению с использованием гнезда PCI-Express внутри моего рабочего стола, поскольку Thunderbolt 2 ограничивает скорость передачи данных по шине PCI-Express до X4 против x16 в настольном приложении.

Самый дешевый способ добиться этого - использовать корпус Akito 2, снять внешний корпус и заднюю панель, чтобы он соответствовал большому графическому процессору, тогда вы можете подключить обычный источник питания ATX к видеокарте и к источнику питания док-станции Akito. Вы должны предоставить 75 Вт слоту PCI-Express для использования внешней видеокарты, поэтому использование блока питания, поставляемого с устройством Akito, невозможно.

В Интернете много информации о настройке Akito 2, я рекомендую вам взглянуть.

Ответ 2

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

Я сделал несколько ML на 4-летнем Macbook Pro, и он отлично работал для набора данных, над которым я работал, однако, если у вас есть тяжелое количество хрустов, вы не можете победить настольный компьютер с хорошим посвященным видеокарты.

Если настольный ПК невозможен, вы также можете использовать онлайн-сервис, например Amazon EC2, предлагающий серверы с графическими процессорами.

Вам также необходимо убедиться, что используемая вами фреймворк поддерживает ускорение GPU (не все из них), и что увеличение производительности является значительным.