Jump to content
Compvision.ru
Sign in to follow this  
BeS

энергозатраты при обучении глубоких моделей

Recommended Posts

Всем привет,

Возник такой вопрос: раньше серьезное оборудование для тренировки моделек deep learning я использовал только на работе, как следствие - я не заморачивался тем, сколько электричества потребляют машины для тренировки. А тут решил собрать для личных нужд машинку с GPU'шиной уровня  Nvidia gtx980ti / Titan X и стало интересно, а сколько киловат в месяц у меня будет жрать такая видяха при non-stop тренировке. Кто-то имеет опыт использования подобных карт в домашних условиях и может поделиться опытом, насколько это разорительно? Заранее спасибо)

Share this post


Link to post
Share on other sites

У меня 970-я карта, практически целый день вкалывает, отдельно не мерял, но счет за электричество 962 р. в месяц за всю потребляемую 3-х комнатной квартирой мощность (счет за декабрь).

На ночь выключаю, не могу спать со включенным компом, очень шумно.

Карта потребляет даже меньше чем 640-я :)  в документации указано 145 Вт.

Плюс SSD-шники, а не механические диски, думаю это тоже дает определенную экономию.

 

Share this post


Link to post
Share on other sites
8 minutes ago, Smorodov said:

У меня 970-я карта, практически круглосуточно вкалывает, отдельно не мерял, но счет за электричество 962 р. в месяц за всю потребляемую 3-х комнатной квартирой мощность (счет за декабрь).

Карта потребляет даже меньше чем 640-я :) .

Плюс SSD-шники, а не механические диски, думаю это тоже дает определенную экономию.

 

Любопытно, в заявленных требованиях указывается, что для 970-й нужен блок питания на 500Вт...если предположить, что столько она и жрет, то это получается почти как круглосуточно работающая микроволновка...а та выжирает прилично так)

Share this post


Link to post
Share on other sites
22 hours ago, BeS said:

в заявленных требованиях указывается, что для 970-й нужен блок питания на 500Вт

Правильно, поскольку в системный блок воткнута не только видеокарта. Реальное потребление всего компьютера будет в районе 300-350 где-то. Плюс надо понимать, что при заявленных 500 блок питания будет выдавать меньше. Для CUDA расчётов важно, чтобы не было никаких сбоев и проседаний в питании. У знакомого расчёты вначале сбивались из-за этого. А вот в играх этого не так критично, поэтому питание лучше брать с запасом и нормальной фирмы.

Share this post


Link to post
Share on other sites
8 hours ago, boriso said:

Правильно, поскольку в системный блок воткнута не только видеокарта. Реальное потребление всего компьютера будет в районе 300-350 где-то. Плюс надо понимать, что при заявленных 500 блок питания будет выдавать меньше. Для CUDA расчётов важно, чтобы не было никаких сбоев и проседаний в питании. У знакомого расчёты вначале сбивались из-за этого. А вот в играх этого не так критично, поэтому питание лучше брать с запасом и нормальной фирмы.

Ну это понятно, чот нагрузку и остальная часть ПК создает, но все равно цифири аля 500-600 Ватт выглядят не слишком оптимистично. Кстати, впервые слышу, чтобы блок питания влиял на точность работы GPU.

Share this post


Link to post
Share on other sites

Бывает, но не точность, а может мертво зависнуть например, или ресет карты устроить.  

Share this post


Link to post
Share on other sites
On 11.01.2016 at 8:41 PM, BeS said:

Кстати, впервые слышу, чтобы блок питания влиял на точность работы GPU.

Тоже был удивлён, когда мне рассказали. Раньше сталкивался с проблемами с ОЗУ при недостаточно стабильном питании. Насколько понял, то тут аналогичная ситуация.

Share this post


Link to post
Share on other sites

Интересная особенность, есть какое то официальное описание этой проблемы? Кстати tesla карточки имеют ECC memory, но вроде как эти проверки обычно отключают чтобы получить еще немного производительности.

Share this post


Link to post
Share on other sites

Вообщем эксперименты показывают, что при 100% нагрузке на GPU, карточки типа 980ti/TitanX таки жрут свои 250W, причем стабильно. В простое и та и другая карта жрут ~18-20W.

Share this post


Link to post
Share on other sites

А что в итоге лучше для Сaffe 980ti или TitanX? (по спекам TitanX получше, но и стоит почти в 2 раза больше).

Плохо что сейчас нет какого то бенчмарка на самые популярные архитектуры(VGG16, AlexNet и т.д.), чтобы можно было бы посмотреть насколько производительность карточек отличается. Сейчас даже непонятно какой размер памяти нужен на видеокарте, т.к. сейчас можно пролететь даже не по скорости, а потому что не хватит памяти на видеокарте.

И да что насчёт б\у Tesla M2090 ? Возможно ли ёё воткнуть в обычную материнскую плату? или нужна серверная?

Похоже минус в том, что охлаждение пассивное.

Share this post


Link to post
Share on other sites
11 minutes ago, mrgloom said:

А что в итоге лучше для Сaffe 980ti или TitanX? (по спекам TitanX получше, но и стоит почти в 2 раза больше).

Смотря как мерять. При равном размере батча TitanX быстрее, но разница не поражает воображение (конкретно не бенчмаркал, но по ощущениям разница не больше 10-15% в скорости), при этом на TitanX можно пускать тренировки с большим размером батча, что должно ускорять сходимость обучения вприципе. 

16 minutes ago, mrgloom said:

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

 

Это да, самая серьезная проблема. Я в домашнюю числодробилку поставил 980Ti и впринципе её 6Gb мне не хватает (сетками пытаюсь решать задачу стереоматчинга, а там памяти много надо). Можно конечно на несколько GPU раскидать тренировку, но надо учитывать тот факт, что при параллелизме каждая карта будет использоваться не больше, чем самая слабая в пуле. Т.е. к 980Ti в пару нет смысла ставить TitanX, т.к. он будет использоваться только на половину, в полную мощность обе можно заиспользовать только запуская независимые тренировки. 

Тут еще стоит учитывать, что под несколько видеокарт (особенно Титанов), не всякая материнская плата подойдет и не всякий процессор и там сопровождающей комплектухи придется покупать еще тысяч на 100-150 (для получения максимальной производительности от карт, нужно их в SLI массив объединять, мать брать с с чипсетом x99 и процессор с поддержкой 40-lane PCI-E).

Но вообще, по моему, на данный момент для "домашнего использования" сейчас оптимально 980Ti (x2)...ПК на два титана уже сильно не бюджетным получается, а один Титан проигрывает двум 980Ti по скорости, хоть у caffe и фигово пока всё параллелится на несколько GPU.

Quote

И да что насчёт б\у Tesla M2090 ? Возможно ли ёё воткнуть в обычную материнскую плату? или нужна серверная?

Воткнуть в обычный ПК можно, и в linux она стандартными драйверами от nvidia цепляется "из коробки".

Но, крайне не рекомендую их использовать:

1) Она позапрошлого поколения "Fermi", т.ч. не факт, что CUDA версии выше 5.0 на ней заведется, как итог - современный CUDA-код под неё может тупо не собраться из-за нехватки инструкций. 

2) Во флопсах 980Ti в 3 раза шустрее M2090

Share this post


Link to post
Share on other sites

https://devtalk.nvidia.com/default/topic/891115/nvidia-m2090-power-compatibility-question/

Просто M2090 имеет на борту 6Gb и  довольно дешева на ebay (если я всё правильно понял и это не обман).

Из минусов это пассивное охлаждение(есть вариант с C2070, но это дороже) и походу невозможность юзать CuDNN "cuDNN requires a cc3.0 or higher GPU. "

 

http://stackoverflow.com/questions/33760192/how-to-know-which-cudnn-version-one-should-use

cuDNN v3 requires CUDA 7.0
cuDNN v2 and v1 both require CUDA 6.5
All cuDNN versions require compute capability >= 3.0 devices

 

Share this post


Link to post
Share on other sites
14 minutes ago, mrgloom said:

https://devtalk.nvidia.com/default/topic/891115/nvidia-m2090-power-compatibility-question/

Просто M2090 имеет на борту 6Gb и  довольно дешева на ebay (если я всё правильно понял и это не обман).

Из минусов это пассивное охлаждение(есть вариант с C2070, но это дороже) и походу невозможность юзать CuDNN "cuDNN requires a cc3.0 or higher GPU. "

 

http://stackoverflow.com/questions/33760192/how-to-know-which-cudnn-version-one-should-use


cuDNN v3 requires CUDA 7.0
cuDNN v2 and v1 both require CUDA 6.5
All cuDNN versions require compute capability >= 3.0 devices

 

Они потому и дешевые, что уже не актуальны, а после апгрейда кластеров кудато старье девать надо)

Ну и карты с рук брать довольно рисковано, т.к. известны случаи, когда китайцы из всякого барахла типа Nvidia GT200 конструируют пародию на топовые GPU)

Share this post


Link to post
Share on other sites

А какой там вид параллелизма? Как в пейпере про AlexNet, т.е. одна часть сетки висит на одном GPU, а вторая на другом(т.е. когда сетка со всеми весами не влезает на 1 GPU)? или именно по батчам делится, а потом как то сливается?

http://stackoverflow.com/questions/33726333/caffe-pycaffe-set-all-gpus

 

Share this post


Link to post
Share on other sites
2 hours ago, mrgloom said:

А какой там вид параллелизма? Как в пейпере про AlexNet, т.е. одна часть сетки висит на одном GPU, а вторая на другом(т.е. когда сетка со всеми весами не влезает на 1 GPU)? или именно по батчам делится, а потом как то сливается?

http://stackoverflow.com/questions/33726333/caffe-pycaffe-set-all-gpus

 

Параллелят только по батчу: https://github.com/BVLC/caffe/blob/master/docs/multigpu.md

Share this post


Link to post
Share on other sites

А есть ли возможность поставить на серверное оборудоавние  GTX 980Ti или GTX Titan? Какой должен быть формфактор и поддержка какого слота (PCI-E 3.0?) и поддержка чего если несколько карт?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×