Amazon SageMaker PlatoBlockchain Data Intelligence でコードサーバーをホストします。 垂直検索。 あい。

Amazon SageMaker でコードサーバーをホストする

機械学習 (ML) チームは、プロジェクトに取り組む際に統合開発環境 (IDE) を柔軟に選択できる必要があります。 これにより、生産的な開発者エクスペリエンスを実現し、迅速に革新することができます。 プロジェクト内で複数の IDE を使用することもできます。 アマゾンセージメーカー ML チームは、完全に管理されたクラウドベースの環境で作業することを選択できます。 Amazon SageMakerスタジオ, SageMaker ノートブック インスタンスを使用するか、ローカル マシンから ローカルモード.

SageMaker は、Jupyter と RStudio にワンクリック エクスペリエンスを提供し、ML モデルの構築、トレーニング、デバッグ、デプロイ、および監視を行います。 この投稿では、 溶液 ホスティング用 コードサーバー SageMaker で。

コードサーバーを使用すると、ユーザーは実行できます VSコード をリモート マシンに配置し、Web ブラウザでアクセスします。 ML チームの場合、SageMaker でコードサーバーをホストすることで、ローカル開発エクスペリエンスへの変更を最小限に抑え、スケーラブルなクラウド コンピューティングでどこからでもコーディングできます。 VS Code を使用すると、AWS に最適化された TensorFlow と PyTorch、管理された Git リポジトリ、ローカル モード、および SageMaker が提供するその他の機能を備えた組み込みの Conda 環境を使用して配信を高速化することもできます。 IT 管理者にとっては、クラウド内の管理された安全な IDE のプロビジョニングを標準化して促進し、プロジェクトで ML チームを迅速にオンボーディングして有効にすることができます。

ソリューションの概要

この投稿では、Studio 環境 (オプション A) とノートブック インスタンス (オプション B) の両方のインストールについて説明します。 各オプションについて、ML チームが環境で実行できる手動インストール プロセスと、IT 管理者が AWSコマンドラインインターフェイス (AWS CLI)。

次の図は、SageMaker でコードサーバーをホストするためのアーキテクチャの概要を示しています。

私たちのソリューションは、環境への code-server のインストールとセットアップを高速化します。 これは、Studio および SageMaker ノートブック インスタンス内で実行される JupyterLab 3 (推奨) と JupyterLab 1 の両方で機能します。 オプションに応じて以下を行うシェルスクリプトで構成されています。

Studio (オプション A) の場合、シェル スクリプトは次のことを行います。

SageMaker ノートブック インスタンス (オプション B) の場合、シェル スクリプトは次のことを行います。

  • コードサーバーをインストールします。
  • Jupyter ノートブックのファイル メニューと JupyterLab ランチャーにコード サーバー ショートカットを追加して、IDE にすばやくアクセスできるようにします。
  • 依存関係を管理するための専用の Conda 環境を作成します。
  • をインストールします Python および デッカー IDE の拡張機能。

次のセクションでは、オプション A とオプション B のソリューション インストール プロセスについて説明します。Studio またはノートブック インスタンスにアクセスできることを確認してください。

オプション A: Studio でコード サーバーをホストする

Studio で code-server をホストするには、次の手順を実行します。

  1. 選択する システム端末 Studio ランチャーで。
    ml-10244-スタジオ-ターミナル-クリック
  2. コード サーバー ソリューションをインストールするには、システム ターミナルで次のコマンドを実行します。
    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. ブラウザ ページをリロードします。 コードサーバー ボタンをクリックします。
    ml-10244-コードサーバーボタン
  4. 選択する コードサーバー 新しいブラウザー タブを開き、ブラウザーから code-server にアクセスできるようにします。
    Python 拡張機能は既にインストールされており、ML プロジェクトで作業を開始できます。ml-10244-vscode

VS Code でプロジェクト フォルダーを開き、ビルド済みの Conda 環境を選択して Python スクリプトを実行できます。

ml-10244-vscode-conda

Studio ドメイン内のユーザーのコード サーバー インストールを自動化する

IT 管理者は、Studio ユーザーのインストールを自動化できます。 ライフサイクル構成. これは、Studio ドメインの下のすべてのユーザーのプロファイルに対して、または特定のプロファイルに対して行うことができます。 見る ライフサイクル設定を使用してAmazonSageMakerStudioをカスタマイズする のガイドをご参照ください。

この投稿では、からライフサイクル構成を作成します。 インストールコードサーバー スクリプトを作成し、既存の Studio ドメインにアタッチします。 インストールは、ドメイン内のすべてのユーザー プロファイルに対して行われます。

AWS CLI と適切なアクセス許可で設定されたターミナルから、次のコマンドを実行します。

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 サーバーの再起動後、 コードサーバー ボタンが Studio ランチャーに表示されます。

オプション B: SageMaker ノートブックインスタンスでコードサーバーをホストする

SageMaker ノートブック インスタンスで code-server をホストするには、次の手順を実行します。

  1. ノートブック インスタンスの Jupyter または JupyterLab を介してターミナルを起動します。
    Jupyter を使用する場合は、 ターミナル 新作 メニュー。
    Amazon SageMaker PlatoBlockchain Data Intelligence でコードサーバーをホストします。 垂直検索。 あい。
  2.  コード サーバー ソリューションをインストールするには、ターミナルで次のコマンドを実行します。
    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

    code-server と拡張機能のインストールは、ノートブック インスタンスで永続的です。 ただし、インスタンスを停止または再起動する場合は、次のコマンドを実行して code-server を再構成する必要があります。

    sudo ./setup-codeserver.sh

    コマンドの実行には数秒かかります。 次のように表示されたら、ターミナル タブを閉じることができます。

    ml-10244-ターミナル出力

  3. Jupyter ページをリロードして、 新作 再びメニュー。
      コードサーバー オプションが利用可能になります。
    Amazon SageMaker PlatoBlockchain Data Intelligence でコードサーバーをホストします。 垂直検索。 あい。

次のスクリーンショットに示すように、専用のランチャー ボタンを使用して、JupyterLab からコード サーバーを起動することもできます。

ml-10244-jupyterlab-コード-サーバー-ボタン

選択 コードサーバー 新しいブラウザー タブが開き、ブラウザーから code-server にアクセスできるようになります。 Python および Docker 拡張機能は既にインストールされており、ML プロジェクトで作業を開始できます。

ml-10244-ノート-vscode

ノートブック インスタンスへのコード サーバーのインストールを自動化する

IT 管理者は、コード サーバーのインストールを自動化できます。 ライフサイクル構成 インスタンスの作成時に実行し、インスタンスの開始時に実行するセットアップを自動化します。

ここでは、ノートブック インスタンスとライフサイクル構成の例を作成します。 AWSCLIを選択します。 on-create 構成が実行されます インストールコードサーバー, on-start 実行 セットアップコードサーバー.

AWS CLI と適切なアクセス許可で設定されたターミナルから、次のコマンドを実行します。

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.

code-server のインストールは、ノートブック インスタンスに対して自動化されました。

まとめ

コードサーバー SageMaker でホストされているため、ML チームはスケーラブルなクラウド コンピューティングで VS Code を実行し、どこからでもコーディングして、ML プロジェクトの配信を高速化できます。 IT 管理者は、クラウド内の管理された安全な IDE のプロビジョニングを標準化して促進し、プロジェクトで ML チームを迅速にオンボーディングして有効にすることができます。

この投稿では、Studio とノートブックの両方のインスタンスに code-server をすばやくインストールするために使用できるソリューションを共有しました。 ML チームが独自に実行できる手動インストール プロセスと、IT 管理者が設定できる自動インストールを共有しました。

学習をさらに進めるには、次のサイトにアクセスしてください。 ASageMaker の一部 GitHub で、SageMaker を使用するために必要なすべての関連する最新のリソースを見つけてください。


著者について

Amazon SageMaker PlatoBlockchain Data Intelligence でコードサーバーをホストします。 垂直検索。 あい。ジュゼッペアンジェロポルチェッリ アマゾンウェブサービスのプリンシパル機械学習スペシャリストソリューションアーキテクトです。 MLのバックグラウンドをソフトウェアエンジニアリングする数年の経験を持つ彼は、あらゆる規模の顧客と協力して、ビジネスと技術のニーズを深く理解し、AWSクラウドとAmazonMachineLearningスタックを最大限に活用するAIと機械学習ソリューションを設計しています。 彼は、MLOps、Computer Vision、NLPなどのさまざまなドメインでプロジェクトに取り組み、幅広いAWSサービスを使用してきました。 自由時間には、ジュゼッペはサッカーを楽しんでいます。

Amazon SageMaker PlatoBlockchain Data Intelligence でコードサーバーをホストします。 垂直検索。 あい。ソフィアンハミティ AWSのAI / MLスペシャリストソリューションアーキテクトです。 彼は、エンドツーエンドの機械学習ソリューションの構築と運用を支援することで、業界全体の顧客がAI / MLの旅を加速するのを支援しています。

Amazon SageMaker PlatoBlockchain Data Intelligence でコードサーバーをホストします。 垂直検索。 あい。エリック・ペナ AWS 人工知能プラットフォーム チームのシニア テクニカル プロダクト マネージャーであり、Amazon SageMaker インタラクティブ機械学習に取り組んでいます。 彼は現在、SageMaker Studio での IDE 統合に焦点を当てています。 彼は MIT Sloan で MBA の学位を取得しており、仕事以外ではバスケットボールとサッカーを楽しんでいます。

タイムスタンプ:

より多くの AWS機械学習