ゼファーネットのロゴ

Amazon SageMaker Studio で生産性を向上: JupyterLab Spaces と生成 AI ツールの紹介 | アマゾン ウェブ サービス

日付:

Amazon SageMakerスタジオ は、JupyterLab、Code-OSS (Visual Studio Code Open Source) に基づくコード エディター、RStudio など、機械学習 (ML) 開発用のフルマネージド統合開発環境 (IDE) を幅広く提供しています。 データの準備から、ML モデルの構築、トレーニング、デプロイ、管理まで、ML 開発の各ステップで最も包括的なツール セットへのアクセスを提供します。 事前設定された SageMaker Distribution を使用してフルマネージド JuptyerLab を数秒で起動して、ノートブック、コード、データを操作できます。 SageMaker Studio の柔軟で拡張可能なインターフェイスを使用すると、ML ワークフローを簡単に構成および調整でき、AI を活用したインライン コーディング コンパニオンを使用してコードを迅速に作成、デバッグ、説明、テストできます。

この投稿では、ML 開発者の生産性を向上させるために設計された、更新された SageMaker Studio とその JupyterLab IDE について詳しく説明します。 Spaces の概念を紹介し、JupyterLab Spaces がコンピューティング、ストレージ、ランタイム リソースの柔軟なカスタマイズを可能にして ML ワークフローの効率を向上させる方法について説明します。 また、JupyterLab のローカライズされた実行モデルへの移行により、より速く、より安定した、応答性の高いコーディング エクスペリエンスが得られることについても説明します。 さらに、次のような生成 AI ツールのシームレスな統合についても取り上げます。 アマゾン コード ウィスパラー SageMaker Studio JupyterLab Spaces 内の Jupyter AI を使用して、開発者がコーディング支援や革新的な問題解決に AI を使用できるようにする方法を示しています。

SageMaker Studio のスペースの紹介

新しい SageMaker Studio の Web ベースのインターフェイス 好みの IDE を起動してアクセスするためのコマンド センターとして機能します。 アマゾンセージメーカー モデルを構築、トレーニング、調整、デプロイするためのツール。 JupyterLab と RStudio に加えて、SageMaker Studio には Code-OSS (Visual Studio Code Open Source) に基づくフルマネージド コード エディターが含まれるようになりました。 JupyterLab とコード エディターはどちらも、Spaces と呼ばれる柔軟なワークスペースを使用して起動できます。

スペースは、JupyterLab やコード エディターなどの SageMaker IDE の構成表現であり、スペースに関連付けられたアプリケーション (IDE) がアクティブに実行されているかどうかに関係なく持続するように設計されています。 スペースは、コンピューティング インスタンス、ストレージ、その他のランタイム構成の組み合わせを表します。 Spaces を使用すると、IDE のコンピューティングとストレージを作成および拡張しながら拡張したり、ランタイム環境をカスタマイズしたり、いつでもどこからでもコーディングを一時停止したり再開したりできます。 このようなスペースを複数起動し、それぞれのスペースをコンピューティング、ストレージ、ランタイムの異なる組み合わせで構成できます。

スペースが作成されると、 Amazon Elastic Blockストア (Amazon EBS) ボリューム、ユーザーのファイル、データ、キャッシュ、その他の成果物を保存するために使用されます。 スペースが実行されるたびに、ML コンピューティング インスタンスにアタッチされます。 EBS ボリュームは、スペースが再起動されるたびに、ユーザー ファイル、データ、キャッシュ、およびセッション状態が一貫して復元されることを保証します。 重要なのは、スペースが実行状態であっても停止状態であっても、この EBS ボリュームは永続的なままであるということです。 スペースが削除されるまで存続します。

さらに、異なるスペース、ユーザー、さらにはドメイン間で環境や成果物を共有したいユーザーのために、ファイル システムの持ち込み機能を導入しました。 これにより、オプションでスペースに独自のものを装備できるようになります。 AmazonElasticファイルシステム (Amazon EFS) マウントにより、さまざまなワークスペース間でのリソースの共有が容易になります。

スペースの作成

新しいスペースの作成と起動が迅速かつ簡単になりました。 高速起動インスタンスを使用して新しいスペースをセットアップするのにかかる時間はわずか数秒で、スペースの実行には 60 秒もかかりません。 スペースには、管理者によって管理されるコンピューティングとストレージの事前定義された設定が備わっています。 SageMaker Studio 管理者は、コンピューティング、ストレージ、およびランタイム構成のドメインレベルのプリセットを確立できます。 この設定により、数回クリックするだけで、最小限の労力で新しいスペースを迅速に起動できます。 さらにカスタマイズするために、スペースのコンピューティング、ストレージ、またはランタイム構成を変更するオプションもあります。

スペースを作成するには、次の例のようなポリシーを使用して SageMaker ドメイン実行ロールを更新する必要があることに注意することが重要です。 プライベート スペースに対するアクセス許可と、これらのプライベート スペースにアクセスするために必要なユーザー プロファイルをユーザーに付与する必要があります。 詳しい手順については、以下を参照してください。 ユーザーにプライベートスペースへのアクセスを許可する.

{
  "Version": "2012-10-17",
  "Statement": [
    {

      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:app/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl"
      ],
      "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
    },
    {
      "Sid": "SMStudioAppPermissionsListAndDescribe",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListApps",
        "sagemaker:ListDomains",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListSpaces",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeSpace"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SMStudioAppPermissionsTagOnCreate",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:*/*",
      "Condition": {
        "Null": {
          "sagemaker:TaggingAction": "false"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSharedSpacesWithoutOwners",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:space/${sagemaker:DomainId}/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSpacesToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:space/${sagemaker:DomainId}/*",
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:$AWS Region:$111122223333:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private",
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:app/${sagemaker:DomainId}/*",
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:${aws:Region}:${aws:PrincipalAccount}:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    },
  ]
}

スペースを作成するには、次の手順を実行します。

  1. SageMaker Studio で、選択します ジュピターラボ アプリケーション メニュー。
  2. 選択する JupyterLab スペースを作成する.
  3. 名前 、スペースの名前を入力します。
  4. 選択する スペースを作成する.
  5. 選択する ランスペース デフォルトのプリセットで新しいスペースを起動するか、要件に基づいて構成を更新します。

スペースの再構成

スペースは、ユーザーが必要に応じて異なるコンピューティング タイプ間をシームレスに移行できるように設計されています。 まず、主にコンピューティングとストレージで構成される特定の構成で新しいスペースを作成します。 ワークフローの任意の時点で、vCPU 数の多いまたは少ない、メモリの多いまたは少ない別のコンピューティング タイプ、または GPU ベースのインスタンスに切り替える必要がある場合は、簡単に切り替えることができます。 スペースを停止した後、UI または API 更新された SageMaker Studio インターフェイス経由でスペースを再起動します。 SageMaker Studio は、既存のスペースの新しい構成へのプロビジョニングを自動的に処理するため、ユーザー側での追加の労力は必要ありません。

既存のスペースを編集するには、次の手順を実行します。

  1. スペースの詳細ページで、 ストップスペース.
  2. コンピューティング、ストレージ、またはランタイムを再構成します。
  3. 選択する ランスペース スペースを再起動します。

ワークスペースは、リクエストした新しいストレージとコンピューティング インスタンス タイプで更新されます。

新しい SageMaker Studio JupyterLab アーキテクチャ

SageMaker Studio チームは、新しいフルマネージド SageMaker Studio JupyterLab エクスペリエンスのリリースにより、開発者エクスペリエンスの発明と簡素化を続けています。 新しい SageMaker Studio JupyterLab エクスペリエンスは、拡張性と柔軟性という両方の長所を組み合わせています。 SageMaker スタジオ クラシック (この投稿の最後にある付録を参照) オープン ソースの JupyterLab の安定性と親しみやすさを備えています。 この新しい JupyterLab エクスペリエンスの設計を理解するために、次のアーキテクチャ図を詳しく見てみましょう。 これは、この新しい JupyterLab Spaces プラットフォームの統合と機能をより深く理解するのに役立ちます。

要約すると、私たちはローカライズされたアーキテクチャに移行しました。 この新しいセットアップでは、Jupyter サーバーとカーネル プロセスが、同じ ML コンピューティング インスタンス上でホストされる単一の Docker コンテナ内で並行して動作します。 これらの ML インスタンスは、スペースの実行時にプロビジョニングされ、スペースが最初に作成されたときに作成された EBS ボリュームにリンクされます。

この新しいアーキテクチャはいくつかの利点をもたらします。 これらのいくつかについては、次のセクションで説明します。

レイテンシの短縮と安定性の向上

SageMaker Studio はローカル実行モデルに移行し、コードが EFS マウントに保存され、リモート カーネル ゲートウェイ経由で ML インスタンス上でリモート実行される以前の分割モデルから移行しました。 以前のセットアップでは、ヘッドレス Web サーバーであるカーネル ゲートウェイにより、HTTPS/WSS を介した Jupyter カーネルとのリモート通信を介したカーネル操作が可能になりました。 コードの実行、ノートブックの管理、ターミナル コマンドの実行などのユーザー アクションは、リモート ML インスタンス上のカーネル ゲートウェイ アプリによって処理され、カーネル ゲートウェイにより、Docker コンテナ内の ZeroMQ (ZMQ) を介したこれらの操作が容易になります。 次の図は、このアーキテクチャを示しています。

更新された JupyterLab アーキテクチャでは、すべてのカーネル操作がローカル インスタンス上で直接実行されます。 このローカル Jupyter Server アプローチは通常、パフォーマンスの向上と単純なアーキテクチャを提供します。 これにより、遅延とネットワークの複雑さが最小限に抑えられ、アーキテクチャが簡素化されてデバッグとメンテナンスが容易になり、リソースの使用率が向上し、さまざまな複雑なワークロードに対するより柔軟なメッセージング パターンに対応できます。

基本的に、このアップグレードにより、実行中のノートブックとコードがカーネルに大幅に近づき、レイテンシが大幅に短縮され、安定性が向上します。

プロビジョニングされたストレージの制御の向上

SageMaker Studio Classic は当初、SageMaker Studio 環境内のユーザーのホームディレクトリに永続的な共有ファイルストレージを提供するために Amazon EFS を使用していました。 この設定により、ノートブック、スクリプト、その他のプロジェクト ファイルを一元的に保存し、すべての SageMaker Studio セッションおよびインスタンス間でアクセスできるようになります。

SageMaker Studio の最新アップデートにより、Amazon EFS ベースのストレージから Amazon EBS ベースのソリューションへの移行が行われています。 SageMaker Studio Spaces でプロビジョニングされた EBS ボリュームは、 GP3 ボリューム ボリューム サイズに関係なく、3,000 IOPS の一貫したベースライン パフォーマンスを提供するように設計されています。 この新しい Amazon EBS ストレージは、モデルのトレーニング、データ処理、ハイパフォーマンス コンピューティング、データの視覚化などの I/O 集約型のタスクに対して、より高いパフォーマンスを提供します。 この移行により、SageMaker Studio 管理者は、ドメイン内または SageMaker 全体でのユーザー プロファイルによるストレージ使用状況をより詳細に把握し、制御できるようになります。 デフォルトを設定できるようになりました (DefaultEbsVolumeSizeInGb) および最大値 (MaximumEbsVolumeSizeInGb) 各ユーザー プロファイル内の JupyterLab スペースのストレージ サイズ。

パフォーマンスの向上に加えて、管理アクションを必要とせずに、SageMaker Studio インターフェイスから UI または API アクションを使用してスペース設定を編集することで、スペースの ML コンピューティング インスタンスに接続されているストレージ ボリュームのサイズを柔軟に変更できます。 ただし、EBS ボリューム サイズは一方向にしか編集できないことに注意してください。スペースの EBS ボリューム サイズを増やした後は、元に戻すことはできません。

SageMaker Studio は、管理者向けにプロビジョニングされたストレージの高度な制御を提供するようになりました。

  • SageMaker Studio 管理者は、ユーザー プロファイルの EBS ボリューム サイズを管理できます。 これらの JupyterLab EBS ボリュームは、最小 5 GB から最大 16 TB まで変化します。 次のコード スニペットは、デフォルトおよび最大スペース設定を使用してユーザー プロファイルを作成または更新する方法を示しています。
    aws --region $REGION sagemaker create-user-profile 
    --domain-id $DOMAIN_ID 
    --user-profile-name $USER_PROFILE_NAME 
    --user-settings '{
        "SpaceStorageSettings": {
            "DefaultEbsStorageSettings":{
                "DefaultEbsVolumeSizeInGb":5,
                "MaximumEbsVolumeSizeInGb":100
            }
        }
    }'
    
    
    # alternatively to update an existing user profile
    aws --region $REGION sagemaker update-user-profile 
    --domain-id $DOMAIN_ID 
    --user-profile-name $USER_PROFILE_NAME 
    --user-settings '{
        "SpaceStorageSettings": {
            "DefaultEbsStorageSettings":{
                "DefaultEbsVolumeSizeInGb":25,
                "MaximumEbsVolumeSizeInGb":100 
            }
        }
    }'

  • SageMaker Studio は、Amazon EBS リソースの強化された自動タグ付け機能を提供し、ユーザーが作成したボリュームにドメイン、ユーザー、およびスペースの情報を自動的にラベル付けします。 この進歩により、ストレージ リソースのコスト割り当て分析が簡素化され、管理者がコストをより効果的に管理および帰属させることが可能になります。 これらの EBS ボリュームはサービス アカウント内でホストされているため、直接表示できないことに注意することも重要です。 それにもかかわらず、ストレージの使用量と関連コストはドメイン ARN、ユーザー プロファイル ARN、およびスペース ARN に直接リンクされているため、コストの割り当てが簡単になります。
  • 管理者は、カスタマー管理キー (CMK) を使用して、保存時のスペースの EBS ボリュームの暗号化を制御することもできます。

独自の EFS ファイル システムを使用した共有テナンシー

ML ワークフローは通常、共同作業であり、チーム メンバー間でデータとコードを効率的に共有する必要があります。 新しい SageMaker Studio は、共有ツールを介してデータ、コード、その他の成果物を共有できるようにすることで、この共同作業の側面を強化します。 EFS ファイル システムの持ち込み。 この EFS ドライブは、SageMaker とは独立してセットアップすることも、既存の Amazon EFS リソースにすることもできます。 プロビジョニング後は、SageMaker Studio ユーザー プロファイルにシームレスにマウントできます。 この機能は、単一ドメイン内のユーザー プロファイルに限定されません。同じリージョン内にある限り、複数のドメインに拡張できます。

次のコード例は、ドメインを作成し、その関連付けられた EFS ボリュームを使用して既存の EFS ボリュームをそれにアタッチする方法を示しています。 fs-id。 次のコマンドが示すように、EFS ボリュームはルート レベルまたはプレフィックス レベルでドメインに接続できます。

# create a domain with and attach an existing EFS volume at root level
aws sagemaker create-domain --domain-name "myDomain" 
 --vpc-id {VPC_ID} --subnet-ids {SUNBET_IDS} --auth-mode IAM 
 --default-user-settings 
 "CustomFileSystemConfigs=[{EFSFileSystemConfig={FileSystemId="fs-12345678"}}]"
 
# create a domain with and attach an existing EFS volume at file system prefix leve
aws sagemaker create-domain --domain-name "myDomain" 
 --vpc-id {VPC_ID} --subnet-ids {SUNBET_IDS} --auth-mode IAM 
 --default-user-settings 
 "CustomFileSystemConfigs=[{EFSFileSystemConfig={FileSystemId="fs-12345678", FileSystemPath="/my/custom/path"}}]"

# update an existing domain with your own EFS
aws sagemaker update-domain --region us-west-2 --domain-id d-xxxxx 
    --default-user-settings 
    "CustomFileSystemConfigs=[{EFSFileSystemConfig={FileSystemId="fs-12345678"}}]"

EFS マウントがドメインおよびその関連ユーザー プロファイルで使用可能になると、それを新しいスペースにアタッチすることを選択できます。 これは、次の例に示すように、SageMaker Studio UI または API アクションを使用して実行できます。 ドメイン レベルでプロビジョニングされた EFS ファイル システムを使用してスペースが作成されると、スペースはそのプロパティを継承することに注意することが重要です。 つまり、ファイル システムがドメイン内のルート レベルまたはプレフィックス レベルでプロビジョニングされている場合、これらの設定はドメイン ユーザーが作成したスペースに自動的に適用されます。

# attach an a preconfigured EFS to a space
aws sagemaker create-space 
--space-name byofs-space --domain-id "myDomain" 
--ownership-settings "OwnerUserProfileName={USER_PROFILE_NAME}" 
--space-sharing-settings "SharingType=Private" 
--space-settings 
"AppType=JupyterLab,CustomFileSystems=[{EFSFileSystem={FileSystemId="fs-12345678"}}]")

スペースにマウントすると、管理者がプロビジョニングしたマウント ポイントの上にあるすべてのファイルを見つけることができます。 これらのファイルはディレクトリ パスにあります。 /mnt/custom-file-system/efs/fs-12345678.

EFS マウントを使用すると、ユーザーのスペース間、複数のユーザー間、またはドメイン間でアーティファクトを簡単に共有できるため、共同ワークロードに最適です。 この機能を使用すると、次のことが可能になります。

  • データを共有する – EFS マウントは、データ サイエンスの実験に不可欠な大規模なデータセットを保存するのに最適です。 データセット所有者は、これらのマウントにトレーニング、検証、テスト データセットをロードして、ドメイン内または複数のドメインにわたるユーザー プロファイルからアクセスできるようにすることができます。 SageMaker Studio 管理者は、組織のセキュリティ ポリシーへの準拠を維持しながら、既存のアプリケーションの EFS マウントを統合することもできます。 これは、柔軟なプレフィックスレベルのマウントを通じて行われます。 たとえば、運用データとテスト データが同じ EFS マウントに保存されている場合 (例: fs-12345678:/data/prod and fs-12345678:/data/test)、 取り付け /data/test SageMaker ドメインのユーザー プロファイルに追加すると、ユーザーはテスト データセットへのアクセスのみを許可されます。 この設定により、運用データを安全にアクセスできない状態に保ちながら、分析やモデルのトレーニングが可能になります。
  • コードを共有する – EFS マウントにより、ユーザー プロファイル間でのコード アーティファクトの迅速な共有が容易になります。 ユーザーがコード サンプルを迅速に共有したり、頻繁に git プッシュ/プル コマンドを使用する複雑さを回避して共通のコード ベースで共同作業したりする必要があるシナリオでは、共有 EFS マウントは非常に有益です。 これらは、SageMaker Studio のチーム内または異なるチーム間で進行中のコード成果物を共有する便利な方法を提供します。
  • 開発環境を共有する – 共有 EFS マウントは、ユーザーやチーム間でサンドボックス環境を迅速に普及する手段としても機能します。 EFS マウントは、conda や virtualenv などの Python 環境を複数のワークスペース間で共有するための確実な代替手段を提供します。 このアプローチにより、配布の必要性が回避されます。 requirements.txt or environment.yml これにより、多くの場合、さまざまなユーザー プロファイル間で環境を作成または再作成するという繰り返し作業が発生する可能性があります。

これらの機能により、SageMaker Studio 内の共同作業機能が大幅に強化され、チームが複雑な ML プロジェクトで効率的に共同作業することが容易になります。 さらに、Code-OSS (Visual Studio Code Open Source) に基づくコード エディターは、前述の JupyterLab エクスペリエンスと同じアーキテクチャ原則を共有します。この調整により、遅延の短縮、安定性の向上、管理制御の向上などのいくつかの利点がもたらされ、ユーザーは次の機能にアクセスできるようになります。 JupyterLab Spaces で提供されるものと同様の共有ワークスペース。

JupyterLab Spaces 上の AI を活用した生成ツール

人工知能の急速に進化する分野である生成 AI は、アルゴリズムを使用して、広範な既存データからテキスト、画像、コードなどの新しいコンテンツを作成します。 このテクノロジーは、日常的なタスクを自動化し、複雑なコード構造を生成し、インテリジェントな提案を提供することでコーディングに革命をもたらし、それによって開発を合理化し、プログラミングにおける創造性と問題解決を促進します。 開発者にとって不可欠なツールとして、生成 AI は生産性を向上させ、テクノロジー業界のイノベーションを推進します。 SageMaker Studio は、Amazon CodeWhisperer や Jupyter AI などのプリインストールされたツールでこの開発者エクスペリエンスを強化し、生成 AI を使用して開発ライフサイクルを加速します。

アマゾン コード ウィスパラー

Amazon CodeWhisperer は、リアルタイムのコード推奨とソリューションを通じて開発者の生産性を向上させるプログラミングアシスタントです。 AWS マネージド AI サービスとして、SageMaker Studio JupyterLab IDE にシームレスに統合されています。 この統合により、Amazon CodeWhisperer は開発者のワークフローに流動的で価値のある追加機能になります。

Amazon CodeWhisperer は、一般的なコーディングタスクを自動化し、より効果的なコーディングパターンを提案し、デバッグ時間を短縮することにより、開発者の効率を向上させることに優れています。 これは、初心者と熟練のプログラマーの両方にとって不可欠なツールとして機能し、ベスト プラクティスに関する洞察を提供し、開発プロセスを加速し、コードの全体的な品質を向上させます。 Amazon CodeWhisperer の使用を開始するには、次のことを確認してください。 自動提案を再開する 機能が有効になります。 コード提案を手動で呼び出すには、次を使用します。 キーボードショートカット.

あるいは、意図したコードの機能を説明するコメントを書いてコーディングを開始します。 Amazon CodeWhisperer は提案の提供を開始します。

Amazon CodeWhisperer はプリインストールされていますが、 codewhisperer:GenerateRecommendations コードの推奨事項を受け取るための実行ロールの一部としてのアクセス許可。 詳細については、以下を参照してください。 Amazon SageMaker Studio での CodeWhisperer の使用。 お客様が Amazon CodeWhisperer を使用する場合、AWS はサービス向上の目的で、お客様の使用状況とコンテンツに関するデータを保存する場合があります。 Amazon CodeWhisperer をオプトアウトするには データ共有ポリシーに移動できます。 設定 上部のメニューからオプションを選択し、次の場所に移動します 設定エディター 無効にする Amazon CodeWhisperer と使用状況データを共有する Amazon CodeWhisperer 設定メニューから。

ジュピター AI

ジュピター AI は、生成 AI を Jupyter ノートブックに導入するオープンソース ツールで、生成 AI モデルを探索するための堅牢でユーザー フレンドリーなプラットフォームを提供します。 ノートブック内に生成的な AI プレイグラウンドを作成するための %%ai マジック、会話アシスタントとして AI と対話するための JupyterLab のネイティブ チャット UI、および幅広い大規模言語のサポートなどの機能を提供することにより、JupyterLab および Jupyter Notebooks の生産性が向上します。 AI21、Anthropic、Cohere、Hugging Face などのモデル (LLM) プロバイダー、または次のようなマネージド サービス アマゾンの岩盤 SageMaker エンドポイント。 この統合により、データ分析、ML、コーディング タスクのためのより効率的かつ革新的な方法が提供されます。 たとえば、Jupyternaut チャット インターフェイスを使用してドメイン対応 LLM と対話して、プロセスやワークフローに関するヘルプを取得したり、SageMaker エンドポイントでホストされている CodeLlama を通じてサンプル コードを生成したりできます。 このため、開発者やデータ サイエンティストにとって貴重なツールとなります。

Jupyter AI が提供するのは、 豊富な品揃え 箱から出してすぐに使用できる言語モデルが含まれています。 さらに、カスタム モデルも SageMaker エンドポイント経由でサポートされており、ユーザーに柔軟性と幅広いオプションを提供します。 また、埋め込みモデルのサポートも提供するため、インライン比較とテストを実行したり、アドホックな検索拡張生成 (RAG) アプリを構築またはテストしたりすることもできます。

Jupyter AI はチャット アシスタントとして機能し、コード サンプルを提供したり、質問への回答を提供したりすることができます。

Jupyter AI を使用できます %%ai 次のスクリーンショットに示すように、マジックを使用してノートブック内にサンプル コードを生成します。

ジュピターラボ 4.0

JupyterLab チームは、パフォーマンス、機能、ユーザー エクスペリエンスが大幅に向上したバージョン 4.0 をリリースしました。 このリリースに関する詳細情報は、公式で入手できます。 JupyterLab ドキュメント.

SageMaker Studio JupyterLab の標準となったこのバージョンでは、CSS ルールの最適化や CodeMirror 6 および MathJax 3 の採用などの改善により、大規模なノートブックを処理するための最適化されたパフォーマンスとより高速な操作が導入されています。主な機能強化には、アクセシビリティとカスタマイズ性が向上したアップグレードされたテキスト エディターが含まれます。 、Python 拡張機能を簡単にインストールできる新しい拡張機能マネージャー、および高度な機能を備えたドキュメント検索機能が向上しました。 さらに、バージョン 4.0 では UI の改善、アクセシビリティの強化、開発ツールの更新が行われ、特定の機能が JupyterLab 3.6 にバックポートされました。

まとめ

SageMaker Studio の進歩、特に新しい JupyterLab エクスペリエンスは、ML 開発における大きな進歩を示しています。 更新された SageMaker Studio UI は、JupyterLab、Code Editor、RStudio を統合し、ML 開発者に比類のない合理化された環境を提供します。 JupyterLab Spaces の導入により、コンピューティング リソースとストレージ リソースのカスタマイズが柔軟かつ容易になり、ML ワークフローの全体的な効率が向上します。 JupyterLab のリモート カーネル アーキテクチャからローカライズされたモデルへの移行により、起動レイテンシが短縮されながら安定性が大幅に向上しました。 これにより、より速く、より安定した、応答性の高いコーディング エクスペリエンスが実現します。 さらに、Amazon CodeWhisperer や Jupyter AI などの生成 AI ツールを JupyterLab に統合することで、開発者はさらに力を発揮し、コーディング支援や革新的な問題解決に AI を使用できるようになります。 プロビジョニングされたストレージの制御が強化され、自己管理型 EFS マウントを通じてコードとデータを簡単に共有できる機能により、共同プロジェクトが大幅に促進されます。 最後に、SageMaker Studio 内の JupyterLab 4.0 のリリースはこれらの改善を強調し、最適化されたパフォーマンス、優れたアクセシビリティ、よりユーザーフレンドリーなインターフェイスを提供し、それによって現代のテクノロジー環境における効率的かつ効果的な ML 開発の基礎としての JupyterLab の役割を確固たるものとします。

SageMaker Studio JupyterLab Spaces を試してみてください。 クイックオンボード機能、これにより、数分以内に単一ユーザー用の新しいドメインをスピンアップできます。 コメントセクションであなたの考えを共有してください!

付録: SageMaker Studio Classic のカーネルゲートウェイアーキテクチャ

A SageMaker クラシック ドメインは、EFS ボリューム、ドメインへのアクセスを許可されたユーザーのリスト、セキュリティ、アプリケーション、ネットワーキングなどに関連する構成の論理的な集合体です。 SageMaker の SageMaker Studio Classic アーキテクチャでは、SageMaker ドメイン内の各ユーザーは個別のユーザー プロファイルを持ちます。 このプロファイルには、EFS ボリューム内のユーザーのロールや Posix ユーザー ID などの固有のデータのような特定の詳細が含まれます。 ユーザーは、Web ブラウザーで HTTPS/WSS 経由で接続された専用の Jupyter Server アプリを通じて、個々のユーザー プロファイルにアクセスします。 SageMaker Studio Classic は、Jupyter Server と Kernel Gateway アプリ タイプを組み合わせたリモート カーネル アーキテクチャを使用し、ノートブック サーバーがリモート ホスト上のカーネルと対話できるようにします。 これは、Jupyter カーネルがノートブック サーバーのホスト上ではなく、別のホスト上の Docker コンテナ内で動作することを意味します。 基本的に、ノートブックは EFS ホーム ディレクトリに保存され、別のディレクトリでコードをリモートで実行します。 アマゾン エラスティック コンピューティング クラウド (Amazon EC2) インスタンスには、PyTorch、TensorFlow、Scikit-Learn などの ML ライブラリを備えた事前構築済みの Docker コンテナが格納されています。

SageMaker Studio のリモート カーネル アーキテクチャは、スケーラビリティと柔軟性の点で顕著な利点を提供します。 ただし、インスタンス タイプごとに最大 2 つのアプリや、一般的な ECXNUMX インスタンス タイプへの多数の HTTPS/WSS 接続による潜在的なボトルネックなどの制限があります。 これらの制限は、ユーザー エクスペリエンスに悪影響を与える可能性があります。

次のアーキテクチャ図は、SageMaker Studio Classic アーキテクチャを示しています。 これは、ユーザーが好みの Web ブラウザーを使用して、Jupyter Server アプリ経由でカーネル ゲートウェイ アプリに接続するプロセスを示しています。


著者について

プラナフ・ムルティ AWS の AI/ML スペシャリスト ソリューション アーキテクトです。 彼は、顧客が機械学習 (ML) ワークロードを構築、トレーニング、デプロイし、SageMaker に移行できるよう支援することに重点を置いています。 以前は半導体業界で、最先端の ML 技術を使用して半導体プロセスを改善するための大規模コンピューター ビジョン (CV) および自然言語処理 (NLP) モデルの開発に従事していました。 自由時間には、チェスをしたり、旅行を楽しんでいます。 プラナフは次のサイトで見つけることができます LinkedIn.

クナルジャ AWS のシニアプロダクトマネージャーです。 彼は、エンドツーエンドの ML 開発のためのクラス最高の選択肢として Amazon SageMaker Studio の構築に重点を置いています。 余暇には、クナルはスキーや太平洋岸北西部の探索を楽しんでいます。 あなたは彼を見つけることができます LinkedIn.

マジシャ ナマス パランバス Amazon SageMaker のシニア ソフトウェア エンジニアです。 彼女は Amazon に 8 年以上勤務しており、現在 Amazon SageMaker Studio のエンドツーエンド エクスペリエンスの向上に取り組んでいます。

バーラト ナンダムリ Amazon SageMaker Studio に取り組むシニア ソフトウェア エンジニアです。 彼は、ML システムのエンジニアリングに重点を置いた大規模なバックエンド サービスの構築に情熱を注いでいます。 仕事以外では、チェス、ハイキング、映画鑑賞を楽しんでいます。

デレク・ラウス AWS のソフトウェア エンジニアです。 彼は、Amazon SageMaker Studio と Notebook Instances を通じて顧客に価値を提供することに尽力しています。 余暇には、デレクは家族や友人と時間を過ごしたり、ハイキングを楽しんでいます。 デレクは次の場所で見つけることができます LinkedIn.

スポット画像

最新のインテリジェンス

スポット画像