Узнайте, как легко и весело изучать машинное обучение с помощью SageMaker Studio Lab, GitHub и набора данных Kaggle.

Машинное обучение широко распространено. Выберите любую статью или промышленное приложение сегодня, и вы будете читать или использовать ML. Самый простой способ изучить машинное обучение и поэкспериментировать с ним — использовать блокнот Jupyter. Мы используем блокнот для написания кода на выбранном нами языке программирования, комментирования текста и работы с данными. Всякий раз, когда я изучаю новую тему, я делаю черновые заметки в Evernote, Quip или Notes. Затем я переключаюсь на документ Word или PDF, чтобы набросать окончательную версию. Баланс с ML не должен быть исключением. Вы хотите быстро начать и поэкспериментировать с машинным обучением.

Что такое лаборатория Amazon SageMaker Studio?

Amazon SageMaker Studio Lab — это бесплатная среда для ноутбуков, не требующая настройки, предназначенная для обучения и экспериментов с машинным обучением. Если вы знакомы с ноутбуками Jupyter, вы будете чувствовать себя как дома, используя SageMaker Studio Lab. Самое приятное то, что вам не нужно настраивать учетную запись AWS или использовать кредитную карту. Для начала просто зарегистрируйте учетную запись, используя свой адрес электронной почты.

Я использую Amazon SageMaker Studio Lab, чтобы быстро и легко экспериментировать с машинным обучением. Независимо от того, являетесь ли вы студентом, изучающим курсы машинного обучения, или опытным специалистом по данным, использующим множество моделей TensorFlow, вам нужен инструмент для экспериментов с машинным обучением.

(Примечание. Я менеджер по продукту в команде Amazon SageMaker, а не специалист по данным или инженер по машинному обучению. Я учусь, дышу и создаю все, что связано с машинным обучением, так же, как и вы, каждый день. , Однако вы должны воспринимать мое мнение с долей скептицизма 😊)

Почему я должен использовать его?

Это простота и спокойствие. SageMaker Studio Lab позволяет вам тратить больше времени на изучение машинного обучения, а не на настройку инфраструктуры для обработки данных. Если вам интересно, чем это отличается от настройки собственного ноутбука Jupyter на вашем ноутбуке или использования других бесплатных решений для ноутбуков, читайте дальше.

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

Давайте попробуем

Во-первых, вам необходимо запросить новую учетную запись на веб-сайте SageMaker Studio Lab. Вы добавлены в список ожидания, и как только ваша учетная запись будет одобрена, вы сможете войти в систему.

После входа в систему вы увидите интерфейс проекта с параметрами для запуска среды выполнения, открытия проекта и запуска образцов. Выберите Открыть проект. Вы попадете в свой проект, где сможете создавать блокноты, терминалы, исходный код, файлы Markdown и многое другое.

Давайте откроем Терминал (Файл › Новый › Терминал или нажмите кнопку Терминал), чтобы проверить конфигурацию.

Давайте проверим информацию о процессоре. Если вы выбрали тип вычислений в качестве ЦП для среды выполнения, выполните следующую команду.

На целевой странице проекта вы можете переключиться с ЦП на ГП (или наоборот), переключив тип вычислений, и среда выполнения перезапустится с новым оборудованием. После того, как вы выберете тип вычислений как GPU, вернитесь в окно терминала и выполните следующую команду.

Далее, давайте проверим информацию о памяти.

Вы также можете проверить версию JupyterLab с помощью следующей команды.

Мы используем JupyterLab 3.2.4, которая на момент написания этой статьи является последней версией пакета JupyterLab с открытым исходным кодом. Теперь, когда мы рассмотрели базовую аппаратную и программную конфигурацию, пришло время создать и запустить модель машинного обучения.

Привет SageMaker Studio Lab

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

1. Откройте записную книжку с GitHub.

2. Подключитесь к набору данных Kaggle

3. Обучите модель классификации изображений с помощью PyTorch.

1. Откройте блокнот в GitHub

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

Если вы вошли в лабораторию SageMaker Studio Lab, откройте указанный выше URL-адрес. Выберите Копировать в проект, и образец загрузится во время выполнения. Убедитесь, что ваша среда выполнения работает с типом вычислений в качестве ЦП.

2. Подключитесь к Kaggle из SageMaker Studio Lab.

Мы будем использовать набор данных естественные изображения из Kaggle с изображениями 6,8K в восьми разных классах. Чтобы загрузить и использовать набор данных, вам понадобится учетная запись Kaggle.

На странице своей учетной записи в Kaggle создайте новый токен API, как показано ниже. Ваш браузер загрузит файл kaggle.json, содержащий учетные данные для подключения к Kaggle через командную строку.

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

Перейдите на страницу набора данных Natural Images и скопируйте команду API для загрузки изображений.

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

3. Нормализуйте данные и обучите модель

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

При нормализации набора данных используйте следующие классы набора данных

dataset_classes = ['airplane', 'car', 'cat', 'dog', 'flower', 'fruit', 'motorbike', 'person']

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

Посмотреть результаты

После завершения обучения модели вы можете визуализировать результаты классификации для подмножества изображений.

Вы также можете просмотреть матрицу путаницы для модели. Не забудьте обновить количество классов до восьми для этого примера.

Теперь вы можете опубликовать свой блокнот на GitHub, чтобы другие могли использовать его в SageMaker Studio Lab. Вы также можете добавить кнопку запуска одним нажатием, чтобы загрузить свой блокнот, добавив фрагмент кода в Markdown или HTML.

Замените приведенный выше URL-адрес записной книжки ссылкой на свою записную книжку на GitHub.

Заключение

Мы рассмотрели возможности SageMaker Studio Lab, доступные сегодня в предварительной версии. В частности, мы рассмотрели, как вы открываете блокноты в GitHub и подключаетесь к наборам данных Kaggle. Если вы хотите погрузиться в глубокое обучение, вы можете использовать несколько примеров блокнотов Jupyter здесь. Если у вас есть вопросы по SageMaker Studio Lab или отзывы об эксперименте, описанном выше, не стесняйтесь оставить комментарий или связаться с #amazon-sagemaker в Stack Overflow.

Ссылки на другие ресурсы

[1] Эндрю Нг, Стэнфордский курс машинного обучения, Coursera

[2] Эндрю Нг, Специализация глубокого обучения, DeepLearning.AI

[3] Чжан, Астон и Липтон, Закари С. и Ли, Му и Смола, Александр Дж., Погружение в глубокое обучение (2021)

[4] АРМ Университет машинного обучения (2021 г.)

[5] Дэниел Бурк, Я хочу изучать искусственный интеллект и машинное обучение. С чего мне начать? (2018), Наука о данных

Спасибо за прочтение!