Хочу заниматься машинным обучением. Какую инфраструктуру выбрать?

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Для полноценного развития искусственного интеллекта нужен значительный опыт, причём как машинный, так и человеческий. На создание действительно работающих моделей deep learning может уйти много времени и денег. Большое число итераций, необходимое как для проверки теории на практике, так и самого машинного обучения, требует немалых мощностей, загруженных 24/7.

Как не бояться экспериментировать с разрабатываемыми моделями и при этом сберечь свои время и деньги? Это и обсудим в статье.

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

Но сперва кратко обозначим «горизонты».

Deep Learning VS Machine Learning

Глубокое обучение

Неразрывно связано с использованием нейронных сетей и стремится именно к воспроизводству или даже опережению способностей, свойственных мозгу человека: распознаванию визуальных объектов и звуков (например, речи), умению делать выводы (умозаключать), то есть полноценно «переваривать» информацию, в том числе абстрактную.

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

Машинное обучение

Более широкое понятие. Machine Learning не стремится к воспроизведению биологических моделей. Его алгоритмы вовсе не должны быть сопряжены с использованием нейронных сетей.

Ключевое слово здесь — данные. Чем их больше, тем более эффективным будет становиться алгоритм.

При разработке и тестировании моделей машинного обучения требуются:

  • Загрузка и постоянное считывание больших объёмов данных.
  • Стабильная и, в идеале, масштабируемая инфраструктура для тестирования нон-стоп.

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

Какие варианты есть?

ПК

Конечно, на начальном этапе можно обойтись и персональным компьютером. Но при разработке реальных моделей их разработчик неизбежно столкнется с необходимостью наращивать мощности, чтобы «обкатывать» свои наработки за приемлемое время. Здесь возникает «вилка»: приобретать собственное оборудование или арендовать вычислительные ресурсы и хранилища данных. Какой из вариантов эффективнее?

Своя инфраструктура

Ответьте себе на два вопроса:

  1. Насколько регулярно и сильно будут загружаться мощности?
  2. Как быстро нужно получать результаты тестирования?

Если надо постоянно, по полной и максимально быстро, то собственная инфраструктура — хорошее, хотя и дорогостоящее решение.

Если же вы понимаете, что инфраструктура вам понадобится на ограниченный срок или нагружать её вы будете эпизодически, вам поможет аренда.

Аренда мощностей

Аренда мощностей позволит быстрее выполнять итерации, необходимые для «обкатки» создаваемых вами алгоритмов:

  • вы можете использовать практически неограниченные ресурсы CPU и оперативной памяти для вычислений;
  • доступ к быстрым хранилищам и сетевым каналам для оперативной загрузки и обработки исходных данных.

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

Ряд IaaS/PaaS-провайдеров сегодня предлагает быстрое создание и недорогое хранение снапшотов и шаблонов серверов. С помощью таких опций вы можете «зафиксировать» текущую конфигурацию вашей системы и позднее оперативно развернуть её на другой машине или вернуться назад во времени без привязки к конкретным машинам.

Видеомощности

Если у вас нет желания или возможности инвестировать в приобретение GPU, то необходимые мощности можно арендовать на короткий или длительный срок у таких компаний, как, например, Amazon или NVIDIA. Это будет недёшево, но такие решения могут быть выгодными, когда необходимо в короткий срок протестировать непростую модель нейронной сети.

В то же время для тестирования моделей машинного обучения без использования нейронных сетей нагрузка на вычислительные ресурсы невелика. Гораздо актуальнее оперативная загрузка и быстрое считывание больших массивов данных. А значит вам понадобятся высокая пропускная способность каналов и надёжные быстрые дисковые накопители. Соответственно, без SSD, RAID и просторного канала для загрузки данных обойтись будет очень непросто.

Также стоит понимать, что в процессе развития проекта и увеличения объёма обрабатываемых данных перед вами обязательно встанет вопрос масштабирования ресурсов. Необходимо либо изначально предоставить своей системе избыточные мощности (что совсем не выгодно, да и объёмы увеличения предсказать на старте проекта зачастую просто невозможно), либо докупать их в процессе развития проекта.

Как арендовать виртуальную инфраструктуру

Расскажем на примере 1cloud — это полностью автоматизированный сервис аренды инфраструктуры в облаке. Пользователям даётся много вариантов размещения виртуальных серверов — практически любые конфигурации, разные ЦОДы и производительность оборудования.

Для проектов по машинному обучению идеально подойдет недавно введённый в эксплуатацию пул ресурсов SND-2. Он построен на базе новеньких Cisco M5, с 3Ghz ядрами и дешевыми SSD, упакованными в дисковые массивы от NetApp.

Создав небольшой сервачок на старте, вы в любой момент сможете увеличить RAM, CPU и размер дисков. Потребуется пара кликов и несколько минут времени. Также можно оперативно менять интернет-канал и многое другое.

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

Ещё один приятный нюанс заключается в том, что при выключенном сервере списания за RAM и CPU не происходят (только за дисковое пространство). Это очень существенно снижает затраты, если вы не планируете грузить сервак круглыми сутками.

Для подписчиков Tproger до конца сентября действуют особые условия на первое пополнение счёта в сервисе. Активируйте промокод tproger перед первым пополнением счёта, чтобы получить дополнительно 20% от суммы. Скидка суммируется с основной программой лояльности.

Успешных вам проектов по машинному обучению и не только.


Источник: m.vk.com

Комментарии: