В компьютере для машинного обучения, для апгрейда приоритеты такие (в порядке убывания), насколько мне известно:
1) Видеокарта;
2) Процессор;
3) Оперативная память.
Иногда 1 и 2 могут меняться местами, в зависимости от того, как программа написана, но с точки зрения производительности, видюхи справляются лучше, поэтому обычно производительность видеокарты важнее.
Поясню ту информацию, которую я слышал.
Дело в том, что графический процессор использует для хранения данных при вычислениях видеопамять и обращается к Оперативной памяти только тогда, когда объёма видеопамяти не хватает, но при этом, обращение к оперативной памяти работает медленнее в силу того, а видеопамяти быстрее, в силу ограничений шины скорости PCI-E.
Из-за чего резонно встаёт вопрос, какие бонусы даёт большой объём ОЗУ* в нейронных сетях и какую основную функцию он выполняет? И также сопутствующий вопрос, переменные в нейронных сетях хранятся в ОЗУ* или в видеопамяти?
* - ОЗУ - оперативное запоминающее устройство или, иными словами, оперативная память
Компьютерное железо
Насколько сильно огромный объём ОЗУ* (от 64 до 128 Гб, тем более, если больше) даёт ускорение в нейронных сетях?
Озу почти никак не влияет на работу нейронных сетей, насколько мне известно. Если, конечно же, вы используете GPU.
Да, существуют стратегии оптимизации обучения нейронных сетей, основанные на выгрузке части данных в оперативную память, но это довольно редкий способ оптимизации, который лично я не встречал.
За исключением некоторых сложных оптимизаций с выгрузкой данных в ОЗУ, всегда все четыре слоя, а именно Model Parameters (Weights), Feature Maps, Gradient Maps и Workspace расположены именно в видеопамяти.
Собственно, для распространённых нейронных сетей утверждение о том, что видеокарта обращается к оперативной памяти тогда, когда не хватает видеопамяти, неверно.
Ответ на твой вопрос: ОЗУ не дает никаких бонусов при обучении нейронных сетей.
UPD:
Товарищ Radion r, судя по его репликам, не прочитал вопрос и не понял, что речь идет об обучении нейронных сетей и написал про серверы общего назначения.
Да, существуют стратегии оптимизации обучения нейронных сетей, основанные на выгрузке части данных в оперативную память, но это довольно редкий способ оптимизации, который лично я не встречал.
За исключением некоторых сложных оптимизаций с выгрузкой данных в ОЗУ, всегда все четыре слоя, а именно Model Parameters (Weights), Feature Maps, Gradient Maps и Workspace расположены именно в видеопамяти.
Собственно, для распространённых нейронных сетей утверждение о том, что видеокарта обращается к оперативной памяти тогда, когда не хватает видеопамяти, неверно.
Ответ на твой вопрос: ОЗУ не дает никаких бонусов при обучении нейронных сетей.
UPD:
Товарищ Radion r, судя по его репликам, не прочитал вопрос и не понял, что речь идет об обучении нейронных сетей и написал про серверы общего назначения.
Зависит от роли машины в нейронной сети. Для нейрона память не суть важна, важно быстродействие.
Ara es kez mera aselov hayeren gri, shnoravor amanor ev surb tnund.
Aibol Jandarov
Qez el (Тебя тоже) shnorhavor aman or ум surb tnund :)
128
Тут все дело в batchsize'е. Чем больше видеопамять, тем батч большего объема ты можешь за одну эпоху обучить. Соответственно, прежде чем скормить новые данные в видеопамять, ты их должен считать. Если объем оперативки меньше объема видеопамяти, то при каждом новом батче придется частично читать данные с диска, что медленно.
Я думаю, оперативка не будет играть роли в глубоком обучении, когда она превысила объем видеопамяти в 2-3 раза.
Я думаю, оперативка не будет играть роли в глубоком обучении, когда она превысила объем видеопамяти в 2-3 раза.
Aibol Jandarov
Я премного извиняюсь за своё дилетанство, поскольку нидавно только начал интересоваться этой темой. Я правильно понимаю, что батч - это входные данные. Грубо говоря, как пример, фотография дороги, на которой нужно опознать дорожные знаки, либо номера автомобилей. Я правильно понял смысл термина Батч?
256Гб как минимум, 128 в обычных реал-тайм расчётах тяжёлых может уже всё . Обычно берутся серверные платы с поддержкой около 2ТБ ОЗУ и процессоры 28-64 ядерные и ставиться несколько десятков машин таких : каждая из них отвечает за свою часть вычислений . Переменные могут храниться на накопителе Интел Оптейн, аналогах Рам Диска или ОЗУ : в видеопамяти редко - это не майнерская ферма и не на диске - там скорость отзыва важна поэтому почти все данные по максиуму впихивают в быструю память, а с диска дольше .
Большинство серверов на проццах делается - видеокарты как правило исключение для специфической части расчётов, и всё равно к ним в пару ставят топовые камни, чтобы процессор не был узким местом в системе .
Большинство серверов на проццах делается - видеокарты как правило исключение для специфической части расчётов, и всё равно к ним в пару ставят топовые камни, чтобы процессор не был узким местом в системе .
Aibol Jandarov
Ну это Вы предлагаете чуть ли не свой дата-центр держать, к сожалению, не располагаю такими бюджетами + планирую компактный, но производительный ПК собрать. Я понимаю, Вы говорите про суперкомпьютер, но всё же зависит от сложности рассчётов, компания Intel вообще для простых расчётов придумала компьютер размером в флешку, поэтому ИИ в компактном ПК не миф, просто всё зависит от сложности рассчётов.
Ну а что касается процессора, допустим, не ударяемся в крайности, покупая Интел Стики, и собрав решение на microATX, я понимаю, что нейросети - немного другого рода задача, но и хороший 6-ядерник не будет узким горлышком для 2080 Ti, обладающей тензорными ядрами. Даже на пол процента видеокарта останется узким местом. Понимаю, есть Радеон Инстинкты и Нвидии Теслы, но мы ещё и на бюджет смотрим.
Ну а что касается процессора, допустим, не ударяемся в крайности, покупая Интел Стики, и собрав решение на microATX, я понимаю, что нейросети - немного другого рода задача, но и хороший 6-ядерник не будет узким горлышком для 2080 Ti, обладающей тензорными ядрами. Даже на пол процента видеокарта останется узким местом. Понимаю, есть Радеон Инстинкты и Нвидии Теслы, но мы ещё и на бюджет смотрим.
Aibol Jandarov
Я как понимаю, если не собирать ПК для таких запредельных нагрузок и придерживаться какой-то золотой середины, в том числе и досягаемого бюджета, то главный выигрыш от большого объёма ОЗУ - возможность хранить различные файлы на виртуальном диске на оперативной памяти, вместо SSD, до сгружения файлов на носитель перед выключением. Я правильно понял главный бонус от большого объёма ОЗУ?
Тагир Кашимов
Что будет выполнять проект ?
Aibol Jandarov
А когда я про бутылочное горлышко говорил, я имел ввиду не конкретную нейросеть, а средние рассчёты, сделанные на калькуляторе бутылочного горлышка. Понятное дело, в одних задач больше ляжет на проц, в других меньше, многое от ПО зависит, но это усреднёнка.
Тагир Кашимов
Брать ХайперХ на чипах Нанья это маразм - это днище производитель, лучше нормальную от Джи Скилл или Самсунг на крайний случай .
Тагир Кашимов
Покупать АМД процессор под домашний минисервер - это странное решение, с учётом более низкой поддержки инструкций до сих пор .
Тагир Кашимов
Или тредриппер ?
Тагир Кашимов
Такое в сервер ставить так себе - если только 2 планки ОЗУ по 64ГБ покупать .
Тагир Кашимов
Совместимость чтобы была - или бери 4 планки, но тогда не гони : шанс есть что контроллер провалиться .
Тагир Кашимов
Тебе точно нужно 128ГБ ОЗУ? Узнавал уже ?
Тагир Кашимов
Ибо Разены ещё нормально в 64Гб не могут .
Тагир Кашимов
*с долей вероятности - тут как повезёт, может и не завестись .
Тагир Кашимов
Тут как повезёт - от партии процессора, набора логики БИОС и качества чипов ОЗУ зависеть будет удачность запуска .
подожди DDR5, там важен не только объём памяти, но и производительность
Aibol Jandarov
Я боюсь, что новые чипсеты, которые выйдут для DDR5 не будут поддерживать ту операционную систему, которую я хочу. Но в целом, согласен, улучшенная пропускная способность, скорее всего, тоже даст бонусы, помимо хорошей видеокарты и нормального процессора, который не будет узким горлышком
Soarin Wonderbolt
У меня стоит windows 7 с процессором 9700k
Несколько программ стоит лицензионных, которые на 10 не пойдут. Смотрел видео на ютубе как это сделать, помучился и получилось
Несколько программ стоит лицензионных, которые на 10 не пойдут. Смотрел видео на ютубе как это сделать, помучился и получилось
Похожие вопросы
- При увеличении объёма ОЗУ до 3гб (было 2 гб) (разъём DDR 1). Компьютер начинает
- Что значит параметр DDR(DDR-DDR2-DDR3....) в видеокартах..и 64 или 128 бит шина памяти...
- Из 4 ГБ ОЗУ компьютер видит только 3 ГБ
- Из 4 Гб ОЗУ доступно только 3,19 Гб. Как сделать чтоб было доступно все 4 ГБ? Материнская плата-asrock g31m-gs r2.0
- Максимально возможный объём ОЗУ в материнской плате в одном слоте!?
- Как может быть новый ноутбук без жесткого диска? Там есть ssd, но он на 128 гб
- 8 гб озу 1600 mhz или 12 гб озу 2933 mhz? Не знаю что выбрать. Как быстрее будет работать компьютер.
- На подходе DDR5 с планочками по 128 Гб. Зачем так много?
- Визуально поменять объем ОЗУ
- Можно ли с 2Гб ОЗУ ставить 64 битный Windows 7?
Предположим, у меня бюджет ограничен и не могу себе позволить слишком мощную видеокарту, а рассчёты, скажем, уже не может себе нормально позволить та же 2060 Super, ну или другая ситуация, что, неважно, бюджет, либо риск перегрева и из соображений низкого TDP для компактного корпуса, допустим, взял 1060 Super с 6 Гб, вместо 8. Вопрос в следующем, смогу ли я подобного рода оптимизациями, выгружая часть данных в оперативную память, компенсировать недостаток видеопамяти, либо недостаток производительности видеопроцессора, заставив конфигурацию, пусть будет 2060 Super работать, как Tesla?
2) Если можно и если оправдано на Ваш взгляд, я правильно понимаю, что механизм заключается в создании виртуального диска, который будет располагаться на оперативной памяти, созданного с помощью специального софта, который в добавок перед выключением будет переносить на SSD информацию, чтобы она сохранилась? Или предпочтителен другой механизм оптимизации? Если другой, то подскажите, то дайте мне примерное направление, чтобы я его пробил в Интернете.
Я думаю, что коррекция ошибок для обучения нейросетей не важна, к тому же ECC память медленнее, чем обычная. Ну и данные расположены в видеопамяти, а видеокарты потребительского уровня не имеют коррекции ошибок.