Рубрики
Uncategorized

Доктор Алиса и Нативные Клаусы Боб, мои любимые пользователи машинного обучения

Алиса и Боб великолепны, что так же хорошо, потому что я встречаюсь с ними везде, где я … Теги с DevOps, Data Science, AWS, Cloud Computing.

Алиса и Боб великолепны, что так же хорошо, потому что я встречаю их везде, куда бы я ни пошел! Они страстные, трудолюбивые люди, которые изо всех сил стараются создавать отличные решения для машинного обучения. К сожалению, многие вещи стоят на их пути и замедляют их.

Моя работа — слушать и помогать всем алисам и бобам:) В этом посте я постараюсь обобщить проблемы, с которыми они сталкиваются, как они могут начать решать их с помощью услуг AWS в целом, и в частности Amazon SageMaker.

Расскажите мне о своем первом кластере GPU.

Хотите верьте, хотите нет, я обещаю, что все, что вы читаете ниже, на 100% на основе многочисленных взаимодействий с клиентами.

Доктор Алиса

Алиса имеет докторскую степень и работает в крупной общественной исследовательской лаборатории. Она обученный ученый данных, с сильным опытом в области математики и статистики.

Она проводит свое время на крупные научные проекты (жизненные науки, физика и т. Д.), Включая громоздкие наборы данных (несколько терабайт, часто больше). Она может написать код анализа данных на языках высокого уровня, таких как Matlab, R и Python: возможно, это не очень хорошо, но это делает свое дело.

Алиса, как правило, мало что знает об этом и инфраструктуре, и ей, честно говоря, нет все равно за эти темы. Ее внимание уделяется продвижению ее исследований, публикации документов и т. Д.: Все остальное « просто инструмент ».

Для своей ежедневной работы она может полагаться на свою мощную (но дорогую) рабочую станцию настольных компьютеров: высококлассный процессор Intel, 64 ГБ оперативной памяти, 4 ТБ местного хранилища и пара средних графических процессоров Nvidia. Она считает, что ей повезло иметь один (не все ее коллеги), и ей нравится тот факт, что она может работать » самостоятельно «. Тем не менее, она может экспериментировать с частью своего набора данных, если она хочет сохранить разумное время обучения.

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

Она сама пытается сохранить конфигурацию программного обеспечения своей машины, поскольку она мало знает об эзотерических инструментах, которые она использует. Тем не менее, она желает, чтобы кто -то сделал это для нее: драйверы NVIDIA, зависимости TensorFlow и так далее. Когда что -то идет не так, она тратит драгоценные часы, исправляя » Это материал » И это разочаровывает.

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

Чтобы попытаться помочь с планированием рабочей нагрузки, Алиса наняла летнего стажера, чтобы написать простой интранет -портал, где исследователи могут вручную зарезервировать серверы. Это как бы работает, но иногда ее коллеги забывают выпустить серверы … или, может быть, они не хотят освобождать их, потому что они знают, что им придется подождать, чтобы получить еще один. Алиса думает, что должен быть лучший способ, но это не ее работа, чтобы исправить это. Во всяком случае, она пытается обновиться с тем, что она может заполучить. Она не может не думать, что сделает гораздо больший прогресс, если ее эксперименты не были связаны с возможностями.

И последнее, но не менее важное: Алисе была приглашена сотрудничать с лабораторией мирового класса, расположенной на другом континенте. В течение последнего месяца она пыталась выяснить, как делиться с ними данными и инфраструктурой. Подключение сложнее, а передача данных практически невозможна, учитывая размер наборов данных. Опять же, « это материал » стоит на пути ее исследования, и она начинает думать, что должен быть более быстрый и более простой способ сделать все это… Может, эта облачные вычисления может помочь?

Доктор Алиса в земле Sagemaker

После некоторых личных исследований и недель внутренних дискуссий Алиса убедила директора лаборатории позволить ей экспериментировать с AWS, в частности, с той службой Amazon SageMaker, которая выглядит интересной.

Всего за несколько часов она читала онлайн -документацию, быстро создала недорогой Экземпляр ноутбука и начал запускать немного Образец ноутбуков Чтобы познакомиться с сервисом и его типичным рабочим процессом. Несмотря на то, что она мало знает об AWS или Python, она уверена, что SageMaker SDK Это все, что ей нужно, и что она будет скоро ускорить. Она даже нашла образец записной книжки о том, как создать пользовательскую среду для своей любимой R языка !

С небольшой помощью Алиса загружает несколько терабайт реальных данных в Amazon S3 , чтобы повторить ее настольные среды на Amazon SageMaker. После большего чтения она узнает, что несколько строк кода — это все, что нужно, чтобы Тренировать ее модель В управляемых случаях, и что она будет платить только за то, что она на самом деле использует. Она может даже тренировать свои модели на столько же P3.16xlarge Случай, как ей нужно: каждый из них оснащен восемью графическими процессорами NVIDIA V100! Это та же конфигурация, что и те крупные серверы в вычислительном центре. Теперь она может создать их по требованию: больше не спорить с другими командами.

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

Развертывание моделей является простым: у Алисы есть выбор моделей развертывания в конечных точках в реальном времени или запуска партийных прогнозов. Последняя наиболее полезна для нее, так как ей нужно редко предсказать огромные объемы данных. Опять же, все, что нужно,-это пара строк кода: она фактически копировала все из образца ноутбука.

И последнее, но не менее важное, отслеживать ее расходы легко: консоль AWS сообщает ей, сколько она потратила, и Алиса также может установить бюджетные оповещения.

Говоря с ней, коллеги, Алиса понимает, что в AWS гораздо больше. Похоже, лаборатория могла бы использовать сервис под названием AWS Snowball Чтобы легко загрузить сотни терабайтов в Amazon S3! И не очень сложно поделиться этими данными с другими лабораториями и университетами, которые уже являются клиентами AWS. Алиса с нетерпением ждет увеличения темпа сотрудничества и инноваций!

Всего за неделю или около того, весь ее взгляд на него изменился. » Этот облачный материал на самом деле очень крутой «, она сказала. « Это стояло на пути, но теперь AWS действительно помогает мне доставить лучшие результаты, быстрее и дешевле, чем раньше ».

Облачный родной Боб

Боб работает в крупной компании. Он является бэкэнд -инженером программного обеспечения, и он работал с данными столько, сколько может помнить: SQL, NOSQL, Hadoop, Spark и теперь машинное обучение. Используя библиотеки с полками (в основном Scikit-Learn и немного тензора), Боб и его товарищи по команде хрустают предприятия для обучения сотен моделей ML: линейная регрессия, классификация, сегментация и т. Д. Тяжелая работа (ETL, очистка, инженерная инженерия) — это большой кластер Spark.

Компания Боба использует AWS более пяти лет. Вся разработка, QA и производственная инфраструктура проводятся там, и они большие поклонники DevOps и Cloud Native Technology. Первоначально они построили все на Amazon EC2 , потому что они чувствовали, что наличие полного контроля было важным. Два года назад они перенесли свой кластер Spark в Amazon EMR , а также решил стандартизировать производство с контейнерами Docker: 100% их рабочих нагрузок теперь развернуты в большом Amazon EKS кластер, потому что Kubernetes « так круто », а также из -за бесшовного опыта развития от ноутбука до производства. Они установили все свои инструменты CI/CD в соответствии с и автоматизировали все с помощью Terraform. Стоимость оптимизирована с Автоматическое масштабирование и Точечные экземпляры Анкет Эти ребята действительно знают свои вещи, и их попросили представить свою архитектуру на следующем саммите AWS. Черт да.

Конечно, их рабочие нагрузки ML также работают на кластерах EKS (в основном на экземплярах процессора, с некоторым графическим процессором). Боб поддерживает на заказ контейнеры для обучения и прогнозирования: библиотеки, зависимости и т. Д. Это занимает немного времени, но ему нравится это делать. Он просто надеется, что никто не попросит его сделать Pytorch и Apache Mxnet. Боб слышал о Глубокое обучение ами и Контейнеры глубокого обучения Анкет Проверка этого материала находится в его списке дел, но у него сейчас нет времени.

Первоначально Боб хотел, чтобы каждому ученому по данным создал свой собственный кластер по требованию с шаблоном Terraform, но он стал обеспокоен тем, что затраты будут трудно управлять. Более того, создание кластера займет 15–20 минут, на что команда определенно жаловалась бы. Вместо этого Боб настроил большой общий учебный кластер: пользователи могут начать свои распределенные задания за секунды, и для Боба просто проще управлять одним кластером. Автоматическое масштабирование настроено, но планирование пропускной способности все еще необходимо, чтобы найти правильное сочетание зарезервированного, точечного и по требований.

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

Как только модели были обучены и проверены, Боб подталкивает их к CI/CD, и они автоматически развернуты в производственном кластере. Зеленый/синий развертывание, обнаружение услуг, автоматическое масштабирование , бревна выдвинуты к Elasticsearch кластер и т. д.: целые девять ярдов. Боб очень гордится уровнем автоматизации, которую он встроен в систему, и справедливо так.

Cloud Native Bob in Sagemaker Land

Боб смотрел AWS Video на сагимере. Ему нравится тот факт, что обучение и прогноз основаны на Docker, и что контейнеры для встроенных рамок-это Открытый исходный код : Тогда нет необходимости поддерживать свои собственные контейнеры.

Мигрирование тренировочных рабочих нагрузок в SageMaker выглядит достаточно легко: Боб может избавиться от учебного кластера EKS, и позволить каждому ученому ученым полностью тренироваться по требованию. С точечными экземплярами Скоро Боб, безусловно, мог бы оптимизировать расходы на обучение еще больше.

Что касается прогноза, Боб рассмотрит вопрос о перемещении партийных рабочих мест в SageMaker, но не API в реальном времени: они должны быть развернуты в EKS, согласно политике компании. Это не проблема, так как он может повторно использовать те же контейнеры.

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

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

Есть только одна проблема: теперь Боб должен обновить свои слайды Summit AWS, чтобы учесть вариант использования SageMaker. Может быть, местный евангелист может помочь ему в этом? 😉

Как всегда, спасибо за чтение. Рад ответить на вопросы здесь или на Twitter (DMS открыт). Не стесняйтесь делиться своими собственными анекдотами!

Я поднимаю свой рог к Алисам и Бобам мира. Продолжайте строить, мои братья и сестры и сестры:)

Оригинал: «https://dev.to/aws/doctor-alice-and-cloud-native-bob-my-favorite-machine-learning-users-2h6m»