Amazon SageMaker Python SDK 機械学習 (ML) モデルをトレーニングおよびデプロイするためのオープンソース ライブラリです。 アマゾンセージメーカー。 医療や金融などの厳しく管理された業界の企業顧客は、データが暗号化され、トラフィックがインターネットを通過しないようにセキュリティ ガードレールを設定しています。 SageMaker のトレーニングと ML モデルのデプロイがこれらのガードレールに従っていることを確認するには、アカウントまたはアカウントで制限を設定するのが一般的です。 AWS組織 サービス制御ポリシーによるレベルの向上と AWS IDおよびアクセス管理 特定の IAM ロールの使用を強制する (IAM) ポリシー、 アマゾン バーチャル プライベート クラウド (Amazon VPC) 構成、および AWSキー管理サービス (AWS KMS) キー。 このような場合、データ サイエンティストは、サブネット、セキュリティ グループ、KMS キーを書き留めて、これらのパラメーターを ML モデルのトレーニングおよびデプロイメント コードに手動で提供する必要があります。 これにより、データ サイエンティストには、これらの構成を忘れずに指定し、ジョブを正常に実行し、アクセス拒否エラーの発生を回避する責任が生じます。
SageMaker Python SDK バージョン 2.148.0 以降では、IAM ロール、VPC、KMS キーなどのパラメーターのデフォルト値を設定できるようになりました。 管理者とエンドユーザーは、YAML 形式の設定ファイルで指定されたデフォルトを使用して AWS インフラストラクチャのプリミティブを初期化できます。 構成が完了すると、Python SDK はこれらの値を自動的に継承し、以下のような基盤となる SageMaker API 呼び出しに伝播します。 CreateProcessingJob()
, CreateTrainingJob()
, CreateEndpointConfig()
追加のアクションは必要ありません。 SDK は複数の構成ファイルもサポートしているため、管理者はすべてのユーザーに対して構成ファイルを設定でき、ユーザーは、 Amazon シンプル ストレージ サービス (Amazon S3)、 AmazonElasticファイルシステム (Amazon EFS) 用 Amazon SageMakerスタジオ、またはユーザーのローカル ファイル システム。
この投稿では、Studio でデフォルト設定ファイルを作成して保存する方法と、SDK のデフォルト機能を使用して SageMaker リソースを作成する方法を説明します。
ソリューションの概要
この新機能をエンドツーエンドでデモします。 AWS CloudFormation 必要なインフラストラクチャを作成し、デプロイされた VPC に Studio ドメインを作成するテンプレート。 さらに、トレーニングとジョブの処理で使用されるボリュームを暗号化するための KMS キーを作成します。 手順は次のとおりです。
- アカウントで CloudFormation スタックを起動します。 あるいは、既存の SageMaker ドメインまたはノートブックでこの機能を探索する場合は、この手順をスキップしてください。
- 人口を埋める
config.yaml
ファイルを選択し、そのファイルをデフォルトの場所に保存します。 - データ処理、モデルのトレーニング、推論などのエンドツーエンドの ML ユースケースを含むサンプル ノートブックを実行します。
- デフォルトの構成値をオーバーライドします。
前提条件
開始する前に、AWS アカウントと、管理者権限を持つ IAM ユーザーまたはロールがあることを確認してください。 現在、ノートブック内のリソースにインフラストラクチャ パラメーターを渡しているデータ サイエンティストの場合は、環境を設定する次の手順をスキップして、構成ファイルの作成を開始できます。
この機能を使用するには、次のコマンドを実行して SageMaker SDK バージョンをアップグレードしてください。 pip install --upgrade sagemaker
.
環境をセットアップする
ネットワークや Studio ドメインを含む完全なインフラストラクチャをデプロイするには、次の手順を実行します。
- クローン GitHubリポジトリ.
- AWS アカウントにログインし、AWS CloudFormation コンソールを開きます。
- ネットワーク リソースを展開するには、次を選択します。 スタックを作成.
- 以下にテンプレートをアップロードします
setup/vpc_mode/01_networking.yaml
. - スタックの名前を指定します (例:
networking-stack
)、残りの手順を完了してスタックを作成します。 - Studio ドメインをデプロイするには、次を選択します。 スタックを作成 再び。
- 以下にテンプレートをアップロードします
setup/vpc_mode/02_sagemaker_studio.yaml
. - スタックの名前を指定します (例:
sagemaker-stack
)、プロンプトが表示されたら、ネットワーク スタックの名前を入力します。CoreNetworkingStackName
パラメータに一致する最初のデバイスのリモートコントロール URL を返します。 - 残りの手順に進み、IAM リソースの確認応答を選択し、スタックを作成します。
両方のスタックのステータスが次のように更新されると、 CREATE_COMPLETE、次のステップに進みます。
設定ファイルを作成する
SageMaker Python SDK のデフォルト設定を使用するには、SDK が予期する形式で config.yaml ファイルを作成します。 config.yaml ファイルの形式については、以下を参照してください。 設定ファイルの構造。 Studio ノートブック、SageMaker ノートブック インスタンス、ローカル IDE などの作業環境に応じて、構成ファイルをデフォルトの場所に保存するか、構成ファイルの場所を渡すことでデフォルトをオーバーライドできます。 他の環境のデフォルトの場所については、を参照してください。 設定ファイルの場所。 次の手順では、Studio ノートブック環境のセットアップを示します。
簡単に作成するには、 config.yaml
ファイルを作成するには、Studio システムのターミナルで次のセルを実行し、プレースホルダーを前の手順の CloudFormation スタック名に置き換えます。
このスクリプトは、YAML ファイルに自動的にデータを取り込み、プレースホルダーをインフラストラクチャのデフォルトに置き換えて、ファイルをホーム フォルダーに保存します。 次に、ファイルを Studio ノートブックのデフォルトの場所にコピーします。 結果の構成ファイルは次の形式のようになります。
既存のドメインとネットワーク構成が設定されている場合は、 config.yaml
ファイルを必要な形式で作成し、Studio ノートブックのデフォルトの場所に保存します。
これらのデフォルトは、適切な SageMaker SDK 呼び出しの設定値を単に自動入力するだけであり、ユーザーに特定の VPC、サブネット、またはロールを強制するものではないことに注意してください。 管理者として、ユーザーに特定の構成またはロールを使用させたい場合は、次を使用します。 IAM 条件キー デフォルト値を適用します。
さらに、各 API 呼び出しには独自の構成を含めることができます。 たとえば、前述の構成ファイルのサンプルでは、次のように指定できます。 vpc-a
および subnet-a
トレーニング ジョブの場合、指定します vpc-b
および subnet-c
, subnet-d
ジョブの処理用。
サンプル ノートブックを実行する
構成ファイルを設定したので、ほとんどの SDK 関数について、ネットワークと暗号化パラメーターを明示的に設定する必要がなく、通常どおりモデルの構築とトレーニング ノートブックの実行を開始できます。 見る サポートされている API とパラメータ サポートされている API 呼び出しとパラメータの完全なリストについては、こちらをご覧ください。
Studio では、ナビゲーション ペインでファイル エクスプローラー アイコンを選択し、開きます 03_feature_engineering/03_feature_engineering.ipynb
、次のスクリーンショットに示すように。
ノートブックのセルを XNUMX つずつ実行し、追加の構成を指定していないことに注意してください。 プロセッサ オブジェクトを作成すると、次の例のようなセル出力が表示されます。
出力に見られるように、ユーザーによる追加入力は必要なく、デフォルト構成が処理ジョブに自動的に適用されます。
次のセルを実行してプロセッサを実行するときに、SageMaker コンソールでジョブを表示することによって、デフォルトが設定されていることを確認することもできます。 選ぶ ジョブの処理 下 処理 次のスクリーンショットに示すように、ナビゲーション ウィンドウに表示されます。
プレフィックスが付いた処理ジョブを選択してください end-to-end-ml-sm-proc
をクリックすると、既に構成されているネットワークと暗号化が表示されるはずです。
残りのノートブックを引き続き実行してモデルのトレーニングとデプロイを行うと、インフラストラクチャのデフォルトがトレーニング ジョブとモデルの両方に自動的に適用されることがわかります。
デフォルトの構成ファイルを上書きする
たとえば、パブリック インターネット アクセスを試したり、サブネットで IP アドレスが不足した場合にネットワーク構成を更新したりする場合など、ユーザーがデフォルト構成をオーバーライドする必要がある場合があります。 このような場合、Python SDK を使用すると、設定ファイルのカスタムの場所 (ローカル ストレージ上、または Amazon S3 内の場所を指定する) を指定することもできます。 このセクションでは、例を見ていきます。
Video Cloud Studioで user-configs.yaml
ホームディレクトリにあるファイルを更新し、 EnableNetworkIsolation
価値 True
、下 TrainingJob
のセクションから無料でダウンロードできます。
次に、同じノートブックを開き、次のセルをノートブックの先頭に追加します。
このセルを使用して、構成ファイルの場所を SDK に指定します。 ここで、プロセッサ オブジェクトを作成すると、ネットワーク分離を有効にするためにデフォルトの設定が上書きされており、ネットワーク分離モードでは処理ジョブが失敗することがわかります。
VSCode などのローカル環境を使用している場合は、同じ上書き環境変数を使用して構成ファイルの場所を設定できます。
デバッグとデフォルトの取得
ノートブックから API 呼び出しを実行するときにエラーが発生した場合の迅速なトラブルシューティングのために、前のセクションで示したように、セル出力には適用されたデフォルト構成が表示されます。 デフォルトの構成ファイルから渡された属性値を表示するために作成された正確な Boto3 呼び出しを表示するには、Boto3 ログをオンにしてデバッグできます。 ログ記録を有効にするには、ノートブックの上部にある次のセルを実行します。
後続の Boto3 呼び出しは完全なリクエストとともにログに記録され、ログの本文セクションの下に表示されます。
を使用して、デフォルト設定のコレクションを表示することもできます。 session.sagemaker_config
次の例に示すように値を設定します。
最後に、Boto3 を使用して SageMaker リソースを作成している場合は、 sagemaker_config
変数。 たとえば、処理ジョブを実行するには 03_feature_engineering.ipynb
Boto3 を使用すると、同じノートブック内の次のセルの内容を入力し、セルを実行できます。
構成ファイルの作成を自動化する
管理者にとって、構成ファイルを作成し、そのファイルを各 SageMaker ノートブック インスタンスまたは Studio ユーザー プロファイルに保存する必要があるのは、大変な作業になる可能性があります。 デフォルトの S3 の場所に保存されている共通ファイルを使用することをユーザーに推奨できますが、オーバーライドを指定することでデータ サイエンティストに追加のオーバーヘッドがかかります。
これを自動化するために、管理者は SageMaker Lifecycle Configurations (LCC) を使用できます。 Studio ユーザー プロファイルまたはノートブック インスタンスの場合、次のサンプル LCC スクリプトをユーザーのデフォルトの Jupyter Server アプリのデフォルト LCC として添付できます。
見る Amazon SageMaker Studio のライフサイクル設定を使用する or ノートブックインスタンスをカスタマイズする デフォルトのライフサイクル スクリプトの作成と設定の手順については、「」を参照してください。
クリーンアップ
この機能の実験が終了したら、追加コストの支払いを避けるためにリソースをクリーンアップしてください。 この投稿で指定されているように新しいリソースをプロビジョニングした場合は、次の手順を実行してリソースをクリーンアップします。
- ユーザー プロファイルの Studio アプリをシャットダウンします。 見る SageMaker Studio および Studio アプリのシャットダウンと更新 指示のために。 スタックを削除する前に、すべてのアプリが削除されていることを確認してください。
- Studio ドメイン用に作成された EFS ボリュームを削除します。 ドメインにアタッチされている EFS ボリュームを表示するには、 ドメインの説明 API呼び出し。
- Studio ドメイン スタックを削除します。
- Studio ドメイン用に作成されたセキュリティ グループを削除します。 それらは、 アマゾン エラスティック コンピューティング クラウド (Amazon EC2) コンソール。名前は security-group-for-inbound-nfs-d-xxx および security-group-for-outbound-nfs-d-xxx です。
- ネットワークスタックを削除します。
まとめ
この投稿では、SageMaker Python SDK を使用した主要なインフラストラクチャ パラメータのデフォルト値の設定と使用について説明しました。 これにより、管理者はデータ サイエンティスト向けにデフォルト構成を設定できるため、ユーザーと管理者の時間が節約され、パラメーターを繰り返し指定する負担がなくなり、結果としてコードがスリムで管理しやすくなります。 サポートされているパラメータと API の完全なリストについては、を参照してください。 SageMaker Python SDK でのデフォルトの構成と使用。 質問やディスカッションが必要な場合は、 機械学習と AI コミュニティ.
著者について
ジュゼッペアンジェロポルチェッリ アマゾンウェブサービスのプリンシパル機械学習スペシャリストソリューションアーキテクトです。 MLのバックグラウンドをソフトウェアエンジニアリングする数年の経験を持つ彼は、あらゆる規模の顧客と協力して、ビジネスと技術のニーズを深く理解し、AWSクラウドとAmazonMachineLearningスタックを最大限に活用するAIと機械学習ソリューションを設計しています。 彼は、MLOps、Computer Vision、NLPなどのさまざまなドメインでプロジェクトに取り組み、幅広いAWSサービスを使用してきました。 自由時間には、ジュゼッペはサッカーを楽しんでいます。
ブルーノ・ピストン ミラノを拠点とする AWS の AI/ML スペシャリスト ソリューション アーキテクトです。 彼は、あらゆる規模の顧客と協力して、技術的なニーズを深く理解し、AWS クラウドと Amazon Machine Learning スタックを最大限に活用する AI および機械学習ソリューションを設計できるよう支援しています。 彼の専門分野は、機械学習のエンドツーエンド、機械学習の産業化、および MLOps です。 彼は、友達と時間を過ごしたり、新しい場所を探索したり、新しい目的地へ旅行したりすることを楽しんでいます。
ドゥルガスリー Amazon SageMaker Service SA チームの ML ソリューションアーキテクトです。 彼女は機械学習を誰でも利用できるようにすることに情熱を持っています。 AWS での 4 年間、彼女は企業顧客向けの AI/ML プラットフォームのセットアップを支援してきました。 仕事以外のときは、バイクに乗ること、ミステリー小説、そして 5 歳のハスキー犬との長い散歩が大好きです。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- プラトアイストリーム。 Web3 データ インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- 未来を鋳造する w エイドリエン・アシュリー。 こちらからアクセスしてください。
- PREIPO® を使用して PRE-IPO 企業の株式を売買します。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/configure-and-use-defaults-for-amazon-sagemaker-resources-with-the-sagemaker-python-sdk/
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 10
- 100
- 20
- 30
- 60
- 7
- 9
- a
- できる
- 私たちについて
- アクセス
- アクセス可能な
- 行動
- 加えます
- 添加
- NEW
- アドレス
- 管理者
- 再び
- AI
- AI / ML
- すべて
- 許可
- ことができます
- 既に
- また
- しかし
- Amazon
- Amazon EC2
- アマゾン機械学習
- アマゾンセージメーカー
- Amazon Webサービス
- an
- および
- どれか
- API
- API
- アプリ
- 適用された
- 適切な
- アプリ
- です
- AS
- At
- アタッチ
- 自動化する
- 自動的に
- 避ける
- AWS
- AWS CloudFormation
- 背景
- ベース
- BE
- き
- 開始
- BEST
- ボディ
- 両言語で
- 広い
- 建物
- 負担
- ビジネス
- by
- コール
- コール
- 缶
- 場合
- 例
- CD
- 細胞
- 選択する
- クライアント
- クラウド
- コード
- コレクション
- コマンドと
- コンプリート
- 計算
- コンピュータ
- Computer Vision
- 条件
- 領事
- 中身
- 続ける
- コントロール
- 制御
- コスト
- 可能性
- 作ります
- 作成した
- 作成します。
- 作成
- 現在
- カスタム
- Customers
- データ
- データ処理
- データサイエンティスト
- デフォルト
- デフォルト
- 実証します
- によっては
- 展開します
- 展開
- 展開する
- 展開
- 設計
- 目的地
- 異なります
- 議論する
- 議論
- ディスプレイ
- そうではありません
- ドメイン
- ドメイン
- 行われ
- ドント
- ダウン
- 各
- 簡単に
- echo
- どちら
- 排除
- enable
- では使用できません
- 暗号化
- end
- 端から端まで
- エンドポイント
- 強制します
- エンジニアリング
- 確保
- 入力します
- Enterprise
- 環境
- 環境
- エラー
- 誰も
- 例
- 既存の
- 期待する
- 実験
- 専門知識
- 探る
- エクスプローラ
- 探る
- フェイル
- false
- 特徴
- フィールド
- File
- ファイナンス
- もう完成させ、ワークスペースに掲示しましたか?
- フォロー中
- 次
- サッカー
- 形式でアーカイブしたプロジェクトを保存します.
- 無料版
- 友達
- から
- フル
- 機能
- 取得する
- 受け
- Gitの
- グループの
- 持ってる
- 持って
- he
- ヘルスケア
- 助けました
- 助け
- 彼女の
- 彼の
- ホーム
- 認定条件
- How To
- HTML
- HTTP
- HTTPS
- ICON
- アイデンティティ
- if
- import
- in
- 含めて
- 産業
- インフラ関連事業
- install
- 説明書
- インタフェース
- インターネット
- インターネット・アクセス
- に
- 関与
- IP
- IPアドレス
- 分離
- IT
- ITS
- ジョブ
- Jobs > Create New Job
- join
- JPG
- キー
- キー
- 大
- 学習
- レベル
- 図書館
- wifecycwe
- ような
- リスト
- ローカル
- 場所
- 場所
- ログ
- ログインして
- ロギング
- 長い
- 見て
- で
- 機械
- 機械学習
- make
- 作成
- 管理
- 手動で
- MILAN
- ML
- MLOps
- モード
- モデル
- 他には?
- 最も
- オートバイ
- の試合に
- 謎
- 名
- 名
- ナビゲーション
- 必要
- 必要とされる
- 必要
- ニーズ
- ネットワーク
- ネットワーキング
- 新作
- 次の
- NLP
- いいえ
- ノート
- 知らせ..
- 注記
- 今
- オブジェクト
- of
- on
- かつて
- ONE
- 開いた
- オープンソース
- or
- OS
- その他
- でる
- 出力
- オーバーライド
- 自分の
- ペイン
- パラメーター
- パラメータ
- 渡された
- 通過
- 情熱的な
- 支払い
- 場所
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 再生
- ポイント
- ポリシー
- ポスト
- 練習
- 前
- 校長
- プライベート
- 特権
- 処理
- プロセッサ
- プロフィール
- 対応プロファイル
- プロジェクト(実績作品)
- 提供します
- 公共
- 置く
- Python
- 質問
- クイック
- 推奨する
- 残り
- 覚えています
- 要求
- の提出が必要です
- リソース
- 応答
- 制限
- 結果として
- 職種
- 役割
- ラン
- ランニング
- s
- SA
- セージメーカー
- 同じ
- Save
- 節約
- 科学者
- 科学者たち
- SDDK
- セクション
- セキュリティ
- サービス
- サービス
- セッション
- セッションに
- 設定
- いくつかの
- 彼女
- すべき
- 表示する
- ショーケース
- 示す
- 同様の
- 簡単な拡張で
- 単に
- サイズ
- ソフトウェア
- ソフトウェア工学
- ソリューション
- 何か
- 専門家
- 特定の
- 指定の
- 支出
- スタック
- スタック
- start
- 開始
- Status:
- 手順
- ステップ
- ストレージ利用料
- 店舗
- 保存され
- 研究
- サブネット
- サブネット
- それに続きます
- 首尾よく
- そのような
- サポート
- サポート
- 仕事
- チーム
- 技術的
- template
- ターミナル
- それ
- アプリ環境に合わせて
- それら
- その後
- それによって
- ボーマン
- この
- 介して
- しっかり
- 時間
- 〜へ
- top
- トラフィック
- トレーニング
- トレーニング
- 順番
- ターニング
- 下
- 根本的な
- わかる
- アップデイト
- アップグレード
- 使用法
- つかいます
- 使用事例
- 中古
- ユーザー
- users
- 値
- 価値観
- 確認する
- バージョン
- 、
- 詳しく見る
- 鑑賞
- バーチャル
- 目に見える
- ビジョン
- ボリューム
- ボリューム
- 欲しいです
- we
- ウェブ
- Webサービス
- WELL
- いつ
- 意志
- 無し
- 仕事
- 働いていました
- ワーキング
- 作品
- ヤムル
- 年
- You
- あなたの
- ゼファーネット