Разместите сервер кода на платформе Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Хост-код-сервер на Amazon SageMaker

Команды машинного обучения (ML) нуждаются в гибкости при выборе интегрированной среды разработки (IDE) при работе над проектом. Это позволяет вам продуктивно работать с разработчиками и быстро внедрять инновации. Вы даже можете использовать несколько IDE в рамках проекта. Создатель мудреца Амазонки позволяет командам машинного обучения работать в полностью управляемых облачных средах внутри Студия Amazon SageMaker, Экземпляры ноутбуков SageMaker, или с вашего локального компьютера с помощью локальный режим.

SageMaker предоставляет Jupyter и RStudio возможность одним щелчком мыши создавать, обучать, отлаживать, развертывать и отслеживать модели машинного обучения. В этом посте мы также поделимся Решение для хостинга код-сервер на Sage Maker.

С кодовым сервером пользователи могут запускать Код VS на удаленных машинах и получить доступ к нему в веб-браузере. Для групп машинного обучения размещение кода-сервера в SageMaker обеспечивает минимальные изменения в локальном опыте разработки и позволяет писать код из любого места на масштабируемых облачных вычислениях. С VS Code вы также можете использовать встроенные среды Conda с оптимизированными для AWS TensorFlow и PyTorch, управляемыми репозиториями Git, локальным режимом и другими функциями, предоставляемыми SageMaker для ускорения доставки. Для ИТ-администраторов это позволяет стандартизировать и ускорить предоставление управляемых безопасных IDE в облаке, чтобы быстро подключить и задействовать команды машинного обучения в своих проектах.

Обзор решения

В этом посте мы рассмотрим установку как для сред Studio (вариант A), так и для экземпляров ноутбука (вариант B). Для каждого варианта мы проходим процесс установки вручную, который команды машинного обучения могут запускать в своей среде, и автоматическую установку, которую ИТ-администраторы могут настроить для них через Интерфейс командной строки AWS (Интерфейс командной строки AWS).

На следующей диаграмме показан обзор архитектуры для размещения сервера кода в SageMaker.

Наше решение ускоряет установку и настройку code-server в вашей среде. Он работает как для JupyterLab 3 (рекомендуется), так и для JupyterLab 1, которые работают в экземплярах блокнота Studio и SageMaker. Он состоит из сценариев оболочки, которые выполняют следующие действия в зависимости от параметра.

Для Studio (вариант A) сценарий оболочки делает следующее:

Для экземпляров блокнота SageMaker (вариант B) сценарий оболочки выполняет следующие действия:

  • Устанавливает код-сервер.
  • Добавляет ярлык сервера кода в меню файла блокнота Jupyter и средство запуска JupyterLab для быстрого доступа к IDE.
  • Создает выделенную среду Conda для управления зависимостями.
  • Устанавливает Питон и Docker расширения в IDE.

В следующих разделах мы рассмотрим процесс установки решения для вариантов A и B. Убедитесь, что у вас есть доступ к Studio или экземпляру Notebook.

Вариант A: Хост-сервер кода в Studio

Чтобы разместить код-сервер в Studio, выполните следующие действия:

  1. Выберите Системный терминал в панели запуска Studio.
    мл-10244-студия-терминал-щелчок
  2. Чтобы установить решение code-server, выполните следующие команды в системном терминале:
    curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
    tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz
    
    cd amazon-sagemaker-codeserver/install-scripts/studio
     
    chmod +x install-codeserver.sh
    ./install-codeserver.sh
    
    # Note: when installing on JL1, please prepend the nohup command to the install command above and run as follows: 
    # nohup ./install-codeserver.sh

    Выполнение команд должно занять несколько секунд.

  3. Перезагрузите страницу браузера, где вы можете увидеть Кодовый сервер кнопку в панели запуска Studio.
    мл-10244-код-сервер-кнопка
  4. Выберите Кодовый сервер чтобы открыть новую вкладку браузера, позволяющую получить доступ к серверу кодов из вашего браузера.
    Расширение Python уже установлено, и вы можете приступить к работе над своим проектом машинного обучения.мл-10244-vscode

Вы можете открыть папку своего проекта в VS Code и выбрать предварительно созданную среду Conda для запуска сценариев Python.

мл-10244-vscode-конда

Автоматизируйте установку кодового сервера для пользователей в домене Studio.

Как ИТ-администратор, вы можете автоматизировать установку для пользователей Studio с помощью конфигурация жизненного цикла. Это можно сделать для всех профилей пользователей в домене Studio или для определенных. Видеть Настройте Amazon SageMaker Studio с помощью конфигураций жизненного цикла Больше подробностей.

Для этого поста мы создаем конфигурацию жизненного цикла из установка-codeserver script и прикрепите его к существующему домену Studio. Установка выполняется для всех профилей пользователей в домене.

В терминале с настроенным интерфейсом командной строки AWS и соответствующими разрешениями выполните следующие команды:

curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz

cd amazon-sagemaker-codeserver/install-scripts/studio

LCC_CONTENT=`openssl base64 -A -in install-codeserver.sh`

aws sagemaker create-studio-lifecycle-config 
    --studio-lifecycle-config-name install-codeserver-on-jupyterserver 
    --studio-lifecycle-config-content $LCC_CONTENT 
    --studio-lifecycle-config-app-type JupyterServer 
    --query 'StudioLifecycleConfigArn'

aws sagemaker update-domain 
    --region  
    --domain-id  
    --default-user-settings 
    '{
    "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
    "LifecycleConfigArn": "arn:aws:sagemaker:::studio-lifecycle-config/install-codeserver-on-jupyterserver",
    "InstanceType": "system"
    },
    "LifecycleConfigArns": [
    "arn:aws:sagemaker:::studio-lifecycle-config/install-codeserver-on-jupyterserver"
    ]
    }}'

# Make sure to replace ,  and  in the previous commands with
# the Studio domain ID, the AWS region and AWS Account ID you are using respectively.

После перезапуска Jupyter Server Кодовый сервер появится в панели запуска Studio.

Вариант Б. Разместите код-сервер на экземпляре ноутбука SageMaker.

Чтобы разместить код-сервер на экземпляре ноутбука SageMaker, выполните следующие действия:

  1. Запустите терминал через Jupyter или JupyterLab для своего экземпляра ноутбука.
    Если вы используете Jupyter, выберите Терминал на Новые .
    Разместите сервер кода на платформе Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  2.  Чтобы установить решение code-server, выполните в терминале следующие команды:
    curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
    tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz
    
    cd amazon-sagemaker-codeserver/install-scripts/notebook-instances
     
    chmod +x install-codeserver.sh
    chmod +x setup-codeserver.sh
    sudo ./install-codeserver.sh
    sudo ./setup-codeserver.sh

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

    sudo ./setup-codeserver.sh

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

    мл-10244-терминал-выход

  3. Теперь перезагрузите страницу Jupyter и проверьте Новые снова меню.
    Ассоциация Кодовый сервер Теперь опция должна быть доступна.
    Разместите сервер кода на платформе Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

мл-10244-jupyterlab-код-сервер-кнопка

Выбор Кодовый сервер откроет новую вкладку браузера, что позволит вам получить доступ к код-серверу из вашего браузера. Расширения Python и Docker уже установлены, и вы можете приступить к работе в своем проекте машинного обучения.

мл-10244-ноутбук-vscode

Автоматизируйте установку сервера кодов на экземпляре ноутбука.

Как ИТ-администратор, вы можете автоматизировать установку сервера кодов с помощью конфигурация жизненного цикла запускаемый при создании экземпляра, и автоматизируйте настройку, запустив один при запуске экземпляра.

Здесь мы создаем пример экземпляра ноутбука и конфигурации жизненного цикла, используя Интерфейс командной строки AWS, on-create конфиг работает установка-codeserverи on-start работает установка-codeserver.

В терминале с настроенным интерфейсом командной строки AWS и соответствующими разрешениями выполните следующие команды:

curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz

cd amazon-sagemaker-codeserver/install-scripts/notebook-instances

aws sagemaker create-notebook-instance-lifecycle-config 
    --notebook-instance-lifecycle-config-name install-codeserver 
    --on-start Content=$((cat setup-codeserver.sh || echo "")| base64) 
    --on-create Content=$((cat install-codeserver.sh || echo "")| base64)

aws sagemaker create-notebook-instance 
    --notebook-instance-name  
    --instance-type  
    --role-arn  
    --lifecycle-config-name install-codeserver

# Make sure to replace , ,
# and  in the previous commands with the appropriate values.

Установка сервера кода теперь автоматизирована для экземпляра ноутбука.

Заключение

Доступно код-сервер размещенные в SageMaker, команды машинного обучения могут запускать VS Code на масштабируемых облачных вычислениях, кодировать из любого места и ускорять реализацию своих проектов машинного обучения. ИТ-администраторам это позволяет стандартизировать и ускорить предоставление управляемых безопасных IDE в облаке, чтобы быстро подключить и задействовать команды машинного обучения в своих проектах.

В этом посте мы поделились решением, которое вы можете использовать для быстрой установки сервера кодов как на экземплярах Studio, так и на экземплярах Notebook. Мы поделились процессом ручной установки, который команды машинного обучения могут запустить самостоятельно, и автоматической установкой, которую могут настроить для них ИТ-администраторы.

Чтобы продолжить обучение, посетите AWSome SageMaker на GitHub, чтобы найти все актуальные и актуальные ресурсы, необходимые для работы с SageMaker.


Об авторах

Разместите сервер кода на платформе Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Джузеппе Анджело Порчелли является главным специалистом по машинному обучению, архитектором решений для Amazon Web Services. Имея опыт разработки программного обеспечения в области машинного обучения в течение нескольких лет, он работает с клиентами любого размера, чтобы глубоко понять их бизнес и технические потребности и разработать решения для искусственного интеллекта и машинного обучения, которые наилучшим образом используют облако AWS и стек машинного обучения Amazon. Он работал над проектами в различных областях, включая MLOps, Computer Vision, NLP, а также с широким набором сервисов AWS. В свободное время Джузеппе любит играть в футбол.

Разместите сервер кода на платформе Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Софиан Хамити является специалистом по архитектуре решений AI / ML в AWS. Он помогает клиентам из разных отраслей ускорить переход на ИИ / МО, помогая им создавать и вводить в действие комплексные решения машинного обучения.

Разместите сервер кода на платформе Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Эрик Пенья является старшим техническим менеджером по продуктам в группе платформ искусственного интеллекта AWS, работает над интерактивным машинным обучением Amazon SageMaker. В настоящее время он занимается интеграцией IDE в SageMaker Studio. Он получил степень магистра делового администрирования в Массачусетском технологическом институте Слоана и помимо работы любит играть в баскетбол и футбол.

Отметка времени:

Больше от Машинное обучение AWS