Машинное обучение (НЛП) на AWS. Облако 9? SageMaker? EC2-AMI? - PullRequest
0 голосов
/ 13 сентября 2018

Я наконец-то прибыл в облако, чтобы вывести свою работу по НЛП на новый уровень, но я немного ошеломлен всеми возможностями, которые у меня есть.Итак, я иду к вам за советом.

В настоящее время я вижу три возможности:

  • SageMaker
    • Ноутбуки Jupyter великолепны
    • Это быстро и просто
    • экономит много времени, затрачиваемого на управление всем, вы можете очень легко запустить модель в производство
    • стоит дороже
    • без контроля версий
  • Облако9
  • EC2 (-AMI)

Ну, вот где ятеперь.Мне очень нравится SageMaker, хотя мне не нравится отсутствие контроля версий (по крайней мере, я пока ничего не нашел).

Cloud9, похоже, просто IDE для экземпляра EC2 ... У меня нетНе нашел никаких сравнений Cloud9 и SageMaker для машинного обучения.Возможно, потому что Cloud9 не рекламируется как решение ML.Но, похоже, это вариант.

Как вы относитесь к этому вопросу?Что я пропустил?Что бы вы посоветовали мне пойти?Каков ваш рабочий процесс и почему?

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Прежде всего я хотел бы отметить, что ноутбук SageMaker - не единственная среда IDE, в которой вы можете взаимодействовать с другими компонентами SageMaker, такими как обучение и хостинг. Фактически вы можете совершать вызовы API для обучения / хостинга SageMaker через Cloud9 или любые IDE, которые вы установили на EC2 или даже на своем ноутбуке, если у вас установлен AWS SDK или SageMaker Python SDK.

Что касается выбора среды IDE, она действительно соответствует вашим конкретным потребностям. Ноутбук SageMaker основан на Jupyter (теперь также поддерживает бета-версию JupyterLab), ориентирован на ML и полностью управляется. Сотни пакетов Python, которые обычно используются в ML, а также Tensorflow, Keras, MxNet, SageMaker Python SDK и т. Д., Предварительно установлены и автоматически поддерживаются для вас. Он также более тесно интегрируется с другими компонентами SageMaker, как можно себе представить.

Cloud9 также является управляемой IDE, но она предназначена для общего использования, а не для ML. Если вы хотите использовать Jupyter в облаке9, это потребует дополнительной работы с вашей стороны. Он не устанавливает и не поддерживает версию общих пакетов, относящихся к ML / DL, как это делает ноутбук SageMaker.

0 голосов
/ 14 сентября 2018

Я ищу легкую рабочую среду, где я могу быстро протестировать свои модели.И над этим будет работать не только я, это командная работа.

Поскольку вы работаете в команде, я бы рекомендовал использовать sagemaker с пользовательскими образами докеров.Таким образом, вы получаете полную свободу над своим алгоритмом.Изображения докера хранятся в ecr.Здесь вы можете загрузить много версий одного и того же изображения и пометить их, чтобы сохранить контроль над различными версиями (которые вы создаете из git-репо).

Sagemaker также предоставляет роль исполнения внутри образа докера.Таким образом, у вас все еще есть полный доступ к другим ресурсам aws (если роль выполнения имеет необходимые разрешения)

https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/scikit_bring_your_own/scikit_bring_your_own.ipynb По моему мнению, это хороший пример для начала, поскольку он показывает, как взаимодействует sagemaker сваше изображение.

Некоторые примечания по другим решениям:

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

Некоторые другие примечания

  • Ноутбуки Jupyter вообще не предназначены для совместного программирования.Я думаю, что они хотят изменить это с лабораторией Jupyter, но это все еще находится в разработке, и Sagemaker в настоящее время использует только ноутбук.

  • EC2 дешевле, чем Sagemaker, но вам нужно сделать больше работы,Особенно, если вы хотите запустить вашу модель как образ докера.Также с помощью sagemaker вы можете легко создать конечную точку для вывода модели, которую было бы еще сложнее реализовать с помощью ec2.

  • Cloud 9 Я никогда не пользовался этим сервисом, но на первый взгляд он кажется хорошимразвиваться, но остается вопрос, хотите ли вы сделать это на компьютере с графическим процессором.Поскольку вы используете ec2 в качестве примера, у вас есть такое же преимущество / недостаток.

...