データ サイエンティストは、依存関係の管理を可能にし、安全な、機械学習 (ML) およびデータ サイエンスのワークロードのための一貫性と再現可能な環境を必要としています。 AWS深層学習コンテナ は、TensorFlow、PyTorch、MXNet などの一般的なフレームワークでモデルをトレーニングおよび提供するための事前構築済みの Docker イメージをすでに提供しています。 このエクスペリエンスを向上させるために、2023 JupyterCon で SageMaker オープンソース ディストリビューションのパブリック ベータ版を発表しました。 これにより、さまざまなレベルの専門知識を持つ ML 開発者に、統一されたエンドツーエンドの ML エクスペリエンスが提供されます。 開発者は、実験のために、またはローカルの JupyterLab 環境や SageMaker ノートブックから SageMaker の実稼働ジョブに移行するときに、異なるフレームワーク コンテナーを切り替える必要がなくなりました。 オープンソースの SageMaker ディストリビューションは、TensorFlow、PyTorch、Scikit-learn、Pandas、Matplotlib など、データ サイエンス、ML、視覚化のための最も一般的なパッケージとライブラリをサポートしています。 からコンテナの使用を開始できます。 Amazon ECR パブリック ギャラリー 今日から。
この投稿では、SageMaker オープンソース ディストリビューションを使用して、ローカル環境ですばやく実験し、SageMaker 上のジョブに簡単に昇格させる方法を説明します。
ソリューションの概要
この例では、PyTorch を使用した画像分類モデルのトレーニングを紹介します。 私たちが使用するのは、 KMNIST データセットは PyTorch で公開されています。 ニューラル ネットワーク モデルをトレーニングし、モデルのパフォーマンスをテストし、最後にトレーニングとテストの損失を出力します。 この例の完全なノートブックは、次の場所にあります。 SageMaker Studio Lab サンプル リポジトリ。 オープンソース ディストリビューションを使用してローカル ラップトップで実験を開始し、それを次の場所に移動します。 Amazon SageMakerスタジオ より大きなインスタンスを使用する場合は、ノートブックをノートブック ジョブとしてスケジュールします。
前提条件
次の前提条件が必要です。
ローカル環境をセットアップする
ローカル ラップトップでオープンソース ディストリビューションの使用を直接開始できます。 JupyterLab を開始するには、ターミナルで次のコマンドを実行します。
あなたは交換することができます ECR_IMAGE_ID
で使用可能なイメージ タグのいずれかを使用して、 Amazon ECR パブリック ギャラリー、またはを選択します latest-gpu
GPU をサポートするマシンを使用している場合は、このタグを使用します。
このコマンドは JupyterLab を起動し、ターミナル上に次のような URL を提供します。 http://127.0.0.1:8888/lab?token=<token>
。 リンクをコピーし、お好みのブラウザーに入力して JupyterLab を起動します。
スタジオをセットアップする
Studio は、開発者やデータ サイエンティストが ML モデルを大規模に構築、トレーニング、デプロイ、監視できるようにする、ML 用のエンドツーエンドの統合開発環境 (IDE) です。 Studio は、データ サイエンス、TensorFlow、PyTorch、Spark などの一般的なフレームワークとパッケージを備えたファーストパーティ イメージの広範なリストを提供します。 これらのイメージにより、データ サイエンティストは、コンピューティングに選択したフレームワークとインスタンス タイプを選択するだけで、ML を簡単に開始できるようになります。
Studio の 自分の画像を持ち込む 特徴。 オープンソース ディストリビューションを SageMaker ドメインに追加するには、次の手順を実行します。
- オープンソースのディストリビューションをアカウントに追加します Amazon エラスティック コンテナ レジストリ ターミナルで次のコマンドを実行して、(Amazon ECR) リポジトリを作成します。
- SageMaker イメージを作成し、そのイメージを Studio ドメインに添付します。
- SageMaker コンソールで、ドメインと既存のユーザー プロファイルを選択して Studio を起動します。
- 必要に応じて、次の手順に従って Studio を再起動します。 SageMaker Studio をシャットダウンして更新する.
ノートブックをダウンロードする
サンプル ノートブックをローカルにダウンロードします。 GitHubレポ.
選択した IDE でノートブックを開き、ノートブックの先頭にセルを追加してインストールします。 torchsummary
を選択します。 torchsummary
パッケージはディストリビューションの一部ではないため、これをノートブックにインストールすると、ノートブックがエンドツーエンドで動作することが保証されます。 使用することをお勧めします conda
or micromamba
環境と依存関係を管理します。 次のセルをノートブックに追加し、ノートブックを保存します。
ローカルノートブックで実験してみる
次のスクリーンショットに示すように、アップロード アイコンを選択して、起動した JupyterLab UI にノートブックをアップロードします。
アップロードされたら、起動します cv-kmnist.ipynb
ノート。 torch、matplotlib、ipywidgets などの依存関係をインストールすることなく、セルの実行をすぐに開始できます。
前述の手順に従った場合は、ラップトップからローカルでディストリビューションを使用できることがわかります。 次のステップでは、Studio で同じディストリビューションを使用して、Studio の機能を利用します。
実験を Studio に移動する (オプション)
必要に応じて、実験を Studio にプロモートしましょう。 Studio の利点の XNUMX つは、基盤となるコンピューティング リソースが完全に柔軟であるため、利用可能なリソースを簡単にダイヤルアップまたはダイヤルダウンでき、変更は作業を中断することなくバックグラウンドで自動的に行われることです。 以前と同じノートブックをより大きなデータセットとコンピューティング インスタンスで実行したい場合は、Studio に移行できます。
前に起動した Studio UI に移動し、アップロード アイコンを選択してノートブックをアップロードします。
ノートブックを起動すると、イメージとインスタンス タイプを選択するように求められます。 カーネル ランチャーで、次を選択します。 sagemaker-runtime
画像と ml.t3.medium
インスタンスを選択してから、 選択.
ローカル開発環境から Studio ノートブックまでノートブックを変更する必要がなく、ノートブックをエンドツーエンドで実行できるようになりました。
ノートブックをジョブとしてスケジュールする
実験が完了すると、SageMaker はトレーニング ジョブや SageMaker パイプラインなど、ノートブックを実稼働化するための複数のオプションを提供します。 そのようなオプションの XNUMX つは、次を使用して、非対話型のスケジュールされたノートブック ジョブとしてノートブック自体を直接実行することです。 SageMaker ノートブックのジョブ。 たとえば、モデルを定期的に再トレーニングしたり、受信データの推論を定期的に取得して、関係者が利用できるレポートを生成したりすることができます。
Studio から、ノートブック ジョブ アイコンを選択してノートブック ジョブを起動します。 ノートブック ジョブ拡張機能をラップトップにローカルにインストールしている場合は、ラップトップから直接ノートブックをスケジュールすることもできます。 見る インストールガイド ノートブック ジョブ拡張機能をローカルにセットアップします。
ノートブック ジョブはオープンソース ディストリビューションの ECR イメージ URI を自動的に使用するため、ノートブック ジョブを直接スケジュールできます。
選択する スケジュールどおりに実行する、毎週土曜日などのスケジュールを選択し、 作成します。 また選ぶことができます 今すぐ実行 すぐに結果を確認したい場合。
最初のノートブック ジョブが完了したら、[Studio UI] から [ ノート 下 出力ファイル.
その他の考慮事項
公開されている ECR イメージを ML ワークロードに直接使用することに加えて、オープンソース ディストリビューションには次の利点があります。
- イメージの構築に使用される Dockerfile は、開発者が独自のイメージを探索して構築できるように公開されています。 このイメージをベース イメージとして継承し、カスタム ライブラリをインストールして再現可能な環境を構築することもできます。
- Docker に慣れておらず、JupyterLab 環境で Conda 環境を使用したい場合は、
env.out
公開された各バージョンのファイル。 ファイル内の指示を使用して、同じ環境を模倣する独自の Conda 環境を作成できます。 たとえば、CPU 環境ファイルを参照してください。 cpu.env.out. - イメージの GPU バージョンを使用して、ディープ ラーニングや画像処理などの GPU 互換ワークロードを実行できます。
クリーンアップ
リソースをクリーンアップするには、次の手順を実行します。
- スケジュールに従ってノートブックを実行するようにスケジュールした場合は、そのスケジュールを一時停止または削除します。 ノートブック ジョブの定義 タブをクリックして、将来の仕事の支払いを避けることができます。
- 未使用のコンピューティング使用料の支払いを避けるために、すべての Studio アプリをシャットダウンします。 見る Studio アプリをシャットダウンして更新する 手順を参照してください。
- Studio ドメインを作成した場合は、必要に応じて削除します。
まとめ
ML ライフサイクルのさまざまな段階にわたって再現可能な環境を維持することは、データ サイエンティストと開発者にとっての最大の課題の XNUMX つです。 SageMaker オープンソース ディストリビューションでは、最も一般的な ML フレームワークとパッケージの相互互換性のあるバージョンを含むイメージを提供します。 このディストリビューションはオープンソースでもあり、開発者にパッケージとビルド プロセスの透明性を提供し、独自のディストリビューションをカスタマイズしやすくします。
この投稿では、ディストリビューションをローカル環境、Studio、およびトレーニング ジョブのコンテナとして使用する方法を説明しました。 この機能は現在パブリックベータ版です。 ぜひこれを試して、フィードバックや問題を共有してください。 パブリック GitHub リポジトリ!
著者について
ドゥルガスリー Amazon SageMaker Service SA チームの ML ソリューションアーキテクトです。 彼女は機械学習を誰でも利用できるようにすることに情熱を持っています。 AWS での 4 年間、彼女は企業顧客向けの AI/ML プラットフォームのセットアップを支援してきました。 仕事以外のときは、バイクに乗ること、ミステリー小説、そして 5 歳のハスキー犬との長い散歩が大好きです。
ケタン・ヴィジャイヴァルギヤ アマゾン ウェブ サービス (AWS) のシニア ソフトウェア開発エンジニアです。 彼の重点分野は、機械学習、分散システム、オープンソースです。 仕事以外では、セルフホストをしたり、自然を楽しんだりして時間を過ごすのが好きです。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- EVMファイナンス。 分散型金融のための統一インターフェイス。 こちらからアクセスしてください。
- クォンタムメディアグループ。 IR/PR増幅。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 データ インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/get-started-with-the-open-source-amazon-sagemaker-distribution/
- :持っている
- :は
- :not
- $UP
- 1
- 10
- 100
- 11
- 2023
- 7
- 9
- a
- 私たちについて
- アクセス可能な
- 越えて
- 加えます
- 添加
- NEW
- 利点
- 利点
- AI / ML
- すべて
- 既に
- また
- Amazon
- アマゾンセージメーカー
- Amazon Webサービス
- Amazon Webサービス(AWS)
- an
- および
- 発表の
- どれか
- アプリ
- アプリ
- です
- エリア
- AS
- At
- アタッチ
- 自動的に
- 利用できます
- 避ける
- AWS
- 背景
- ベース
- ベース
- BE
- 開始
- ベータ
- の間に
- 最大の
- ブラウザ
- ビルド
- by
- 缶
- CAT
- 細胞
- 課題
- 変更
- 選択
- 選択する
- 選択する
- 分類
- COM
- コマンドと
- 互換性のあります
- コンプリート
- 計算
- 整合性のある
- 領事
- 消費
- コンテナ
- コンテナ
- 作ります
- 作成した
- 現在
- カスタム
- Customers
- カスタマイズ
- データ
- データサイエンス
- データセット
- 深いです
- 深い学習
- デフォルト
- 展開します
- 説明する
- 開発者
- 開発
- 異なります
- 直接に
- 配布
- 分散システム
- ディストリビューション
- デッカー
- ドメイン
- 行われ
- ダウン
- 各
- 前
- 容易
- 簡単に
- 可能
- 奨励する
- end
- 端から端まで
- エンジニア
- 確保
- 入力します
- Enterprise
- 環境
- 環境
- あらゆる
- 誰も
- 例
- 例
- 既存の
- 体験
- 実験
- 専門知識
- 探る
- export
- 広範囲
- 特徴
- 特徴
- フィードバック
- File
- 最後に
- 名
- フォーカス
- 続いて
- フォロー中
- フレームワーク
- フレームワーク
- から
- フル
- 完全に
- 未来
- 生成する
- 取得する
- GitHubの
- GPU
- 持ってる
- 持って
- he
- 助けました
- 彼女の
- 彼の
- 認定条件
- How To
- HTML
- HTTPS
- ICON
- if
- 画像
- 画像分類
- 画像
- 直ちに
- 改善します
- in
- 入ってくる
- install
- インストール
- インストールする
- 説明書
- 統合された
- に
- 問題
- IT
- 自体
- ジョブ
- Jobs > Create New Job
- JPG
- JSON
- ラボ
- ノートパソコン
- より大きい
- 起動する
- 打ち上げ
- 学習
- ことができます
- レベル
- ライブラリ
- wifecycwe
- ような
- 好き
- LINK
- リスト
- ローカル
- 局部的に
- ログイン
- 長い
- より長いです
- 損失
- で
- 機械
- 機械学習
- make
- 作成
- 管理します
- 管理する
- matplotlib
- かもしれない
- 移動します
- ML
- モデル
- モニター
- 最も
- オートバイ
- の試合に
- 互いに
- 謎
- 名
- 自然
- 必要
- 必要
- ネットワーク
- ニューラルネットワーク
- 新作
- 次の
- いいえ
- ノート
- 今
- of
- オファー
- on
- ONE
- 開いた
- オープンソース
- オプション
- オプション
- or
- 私たちの
- でる
- 外側
- 自分の
- パッケージ
- パッケージ
- パンダ
- 部
- 情熱的な
- 一時停止
- 支払い
- パフォーマンス
- 場所
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポスト
- 好む
- 優先
- 前提条件
- 印刷物
- プライベート
- ラボレーション
- 処理
- 生産
- プロフィール
- 推進する
- 提供します
- は、大阪で
- 提供
- 公共
- 公然と
- 公表
- プッシュ
- Python
- パイトーチ
- すぐに
- 推奨する
- replace
- レポート
- 倉庫
- 要件
- リソース
- 結果
- ラン
- ランニング
- s
- SA
- セージメーカー
- SageMakerパイプライン
- 同じ
- 土曜日
- Save
- 規模
- スケジュール
- 予定の
- 科学
- 科学者たち
- scikit-学ぶ
- 安全に
- シニア
- サービス
- サービス
- サービング
- セッションに
- 設定
- シェアする
- 彼女
- 表示する
- ショーケース
- 示されました
- 示す
- 簡単な拡張で
- 単に
- So
- ソフトウェア
- ソフトウェア開発
- ソリューション
- ソース
- スパーク
- 過ごす
- ステージ
- ステークホルダー
- start
- 開始
- 起動
- 手順
- ステップ
- 研究
- そのような
- サポート
- スイッチ
- システム
- TAG
- 取る
- チーム
- テンソルフロー
- ターミナル
- test
- それ
- アプリ環境に合わせて
- それら
- その後
- ボーマン
- 彼ら
- この
- 時間
- 〜へ
- 今日
- トーチ
- トレーニング
- トレーニング
- 透明性
- 試します
- type
- ui
- 根本的な
- 統一
- 未使用
- アップデイト
- アップロード
- URL
- 使用法
- つかいます
- 中古
- ユーザー
- 使用されます
- バージョン
- 詳しく見る
- 可視化
- 欲しいです
- wanted
- we
- ウェブ
- Webサービス
- 週間
- いつ
- 意志
- 無し
- 仕事
- ワーキング
- 年
- You
- あなたの
- ゼファーネット