Який розмір нейронних мереж можна навчити на поточних графічних процесорах споживача? (1060,1070,1080)


9

чи можна дати оцінку великим правилам щодо розміру нейронних мереж, які можна відстежувати на загальних споживчих графічних процесорах ? Наприклад:

Папір « Поява локомоції» (посилення) тренує мережу за допомогою активації нейронів. Вони мають 3 шари NN з 300,200,100 одиниць для більш Planar Walker . Але вони не повідомляють про обладнання та час ...

Але чи можна було б розробити правило? Також просто на основі поточних емпіричних результатів, наприклад:

X Одиниці, що використовують активацію сигмоїдів, можуть запускати Y ітерації навчання за годину на 1060.

Або використання функції активації a замість b призводить до зниження продуктивності в рази.

Якщо студент / дослідник / цікавий розум збирається придбати GPU для гри з цими мережами, як ви вирішите, що ви отримаєте? 1060 - це, мабуть, варіант бюджету початкового рівня, але як ви можете оцінити, чи не розумніше просто отримати шалений нетбук замість побудови робочого столу з високою потужністю та витратити заощаджені долари на хмарну інфраструктуру на вимогу.

Мотивація запитання: Я щойно придбав 1060 і (розумний, щоб потім поставити запитання, так), задаюся питанням, чи варто було б я просто зберегти $ і створити обліковий запис Google Cloud. І якщо я можу запустити симуляцію магістерської роботи в GPU.

Відповіді:


5

Зазвичай проблема полягає в тому, щоб вписати модель у відео ОЗУ. Якщо цього не відбувається, ви не можете навчити свою модель без великих зусиль (як, наприклад, тренування частин моделі окремо). Якщо це так, час - ваша єдина проблема. Але різниця у часі навчання між споживчими графічними процесорами, такими як Nvidia 1080, та набагато дорожчими прискорювачами GPU, як Nvidia K80, не дуже велика. Насправді кращі споживчі картки швидші, ніж прискорювачі графічних процесорів, але не мають інших властивостей, таких як VRAM. Випадкові порівняння та орієнтири: http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/ , https://medium.com/@alexbaldo/a-comppare-between-nvidias-geforce -gtx-1080-і-tesla-p100-для глибокого навчання-81a918d5b2c7

Щоб підрахувати, чи підходить ваша модель до VRAM, ви просто визначите, скільки даних та гіперпараметрів у вас є (входи, виходи, ваги, шари, розмір партії, який тип даних тощо).


1
Хороша відповідь, але яка модель не вписується в пам'ять 6/8 Гб? Скажімо, кожна партія навчальних даних + модель. Я не маю уявлення, як обчислити розмір моделі, але я не уявляю, як кілька тисяч нейронів і їх ваги можуть заповнити гігабайти пам'яті. Модель розпізнавання зображень, що шукаються, від Google - це кілька сотень мегів tensorflow.org/tutorials/image_recognition, яка може розпізнати більше, ніж більшість інших. Apple обробляє його на мікросхемі в iPhone, тому сама модель повинна бути набагато меншою, ніж дані T. І це не потрібно, щоб все було в оперативній пам'яті?
pascalwhoop

Я часто працюю з моделями NLP, здебільшого багатошаровими RNN, і якщо розмір словникового запасу великий, навіть 8 ГБ може бути недостатньо. Пам'ятайте, що для тренувань зазвичай потрібно більше місця, ніж прогнозування (також градієнти займають місце).
C. Yduqoli

3

Як застереження, я б запропонував, що якщо ви не дотримуєтесь принципових технологічних обмежень, швидкість обчислень та ресурси повинні бути вторинними для обґрунтування проектування при розробці архітектури нейронної мережі.

З цього приводу, на початку цього року я закінчив дисертацію з МС, яка стосувалась аналітики з питань біоінформатики з даними про цілі послідовності геномів, - на цей проект було потрібно 100 000 годин обчислювального часу, щоб розробити, згідно з нашим менеджером по роботі з кластерами. Коли ви у встановлений термін, ресурси можуть бути справжнім обмеженням, а швидкість може бути критичною.

Отже, щоб відповісти на ваші запитання, як я їх розумію:

Чи було б мені краще використати гроші, щоб купити час у хмарі?

Мабуть. Кілька сотень доларів, які ви витратили на 1060, принесуть вам багато тренувань своїх моделей у хмарі. Крім того, наскільки я можу сказати, ви не вимагаєте, щоб графічний процесор маніпулював 100% часу (ви б, якби, скажімо, видобували криптовалюти). Нарешті, за допомогою хмарних екземплярів ви зможете масштабувати, навчаючи декілька моделей одночасно, що може пришвидшити розвідку та перевірку будь-якої архітектури, на якій ви знаходитесь.

Чи є спосіб оцінити час обчислення нейронної мережі для даного GPU

Ну, Big O - це один оцінка, але це здається, що ви хочете більш точного методу. Я впевнений, що вони існують, але я протидію, що ви можете зробити свою оцінку простими зворотними сторонами обчислень конверта, які враховують потоки, пам'ять, ітерації коду тощо. Чи дійсно ви хочете копатися в конвеєрі обробки GPU на 1060? Можливо, ви зможете придумати дуже хорошу оцінку, зрозумівши все, що відбувається між вашим кодом та металом, але в кінцевому підсумку це, мабуть, не варте часу та зусиль; це, ймовірно, підтвердить, що позначення Big O (проста модель, якщо ви хочете) фіксує більшу частину варіацій часу обчислення. Одне, що ви можете зробити, якщо помітили вузькі місця, - це профілювання продуктивності.


2

Це залежить від того, що вам потрібно. Ви можете тренувати будь-який розмір мережі на будь-якому ресурсі. Проблема - час тренувань. Якщо ви хочете навчити Inception на середньому процесорі, на конвертацію знадобиться кілька місяців. Отже, все залежить від того, як довго ви можете чекати, щоб побачити результати на основі вашої мережі. Оскільки в нейронних мережах у нас немає лише однієї операції, але багато (наприклад, об'єднання, максимум об'єднань, набивання тощо), неможливо зробити оцінку під час пошуку. Просто почніть тренувати деякі сумнозвісні мережі та вимірюйте час. Потім ви можете інтерполювати, скільки часу буде потрібно для підготовки мереж, які ви шукаєте.


Чи знаєте ви про ресурс, який збирає інформацію для різних робочих місць у мережі Інтернет? Отже, перелік: тип NN, кількість одиниць, гіперпараметри, розмір набору даних, використовуване обладнання, час, який потрібно? Це допомогло б виробити правило інтуїції великого пальця
pascalwhoop
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.