12月の2020では、 AWS は、Amazon SageMaker JumpStart の一般提供を発表しました、の機能 アマゾンセージメーカー これにより、機械学習 (ML) をすばやく簡単に開始できます。 SageMaker ジャンプスタート 一般的な ML タスク全体でさまざまな事前トレーニング済みモデルをワンクリックで微調整およびデプロイできるほか、一般的なビジネス上の問題を解決するエンドツーエンド ソリューションを選択できます。 これらの機能により、ML プロセスの各ステップから重労働が取り除かれ、高品質のモデルの開発が容易になり、デプロイまでの時間が短縮されます。
すべてのJumpStartコンテンツは、以前は Amazon SageMakerスタジオこれは ユーザーフレンドリーなグラフィカルインターフェイス 機能を操作します。 最近、私たちも 打ち上げを発表 使いやすい JumpStart API SageMaker Python SDK の拡張機能として、独自のデータセットに JumpStart でサポートされている事前トレーニング済みモデルの膨大な選択肢をプログラムでデプロイし、微調整することができます。 このローンチにより、コード ワークフロー、MLOps パイプライン、および SDK を介して SageMaker と対話しているその他のあらゆる場所で、JumpStart 機能を使用できるようになります。
この投稿では、トレーニング可能なすべての JumpStart モデルがインクリメンタル トレーニングをサポートするようになったことをお知らせします。 インクリメンタル トレーニングを使用すると、以前の微調整の実行では考慮されていない基本的なパターンを含む拡張データセットを使用して、既に微調整したモデルをトレーニングできます。これにより、モデルのパフォーマンスが低下します。 増分トレーニングでは、モデルを最初から再トレーニングする必要がないため、時間とリソースの両方を節約できます。 この投稿で説明する JumpStart API コードに直接ジャンプしたい場合は、 サンプルノート.
JumpStartの概要
JumpStartは、SageMakerでMLをすばやく開始するのに役立つさまざまな機能を含む多面的な製品です。 これを書いている時点では、JumpStartを使用すると次のことができます。
- 一般的なMLタスク用に事前トレーニング済みモデルを展開する – JumpStart を使用すると、公開されている大規模なデータセットで事前トレーニングされたモデルを簡単にデプロイできるため、開発作業を行うことなく一般的な ML タスクに対処できます。 ML 研究コミュニティは、最近開発されたモデルの大部分を公開して使用できるようにするために多大な努力を払ってきました。 JumpStart は、オブジェクト検出、テキスト分類、テキスト生成など、最も一般的な 300 の ML タスクにまたがる 15 を超えるモデルのコレクションをホストしているため、初心者でも簡単に使用できます。 これらのモデルは、TensorFlow、PyTorch、Hugging Face、MXNet Hub などの一般的なモデル ハブから抽出されています。
- 事前にトレーニングされたモデルを微調整する – JumpStart を使用すると、独自のトレーニング アルゴリズムを作成する必要なく、事前トレーニング済みのモデルを微調整できます。 ML では、あるドメインで学んだ知識を別のドメインに移す能力を呼びます。 転移学習. 転移学習を使用すると、元のモデルのトレーニングにかかるコストよりもはるかに低いトレーニング コストで、小規模なデータセットで正確なモデルを生成できます。 JumpStart には、LightGBM、CatBoost、XGBoost、Scikit-learn に基づく一般的なトレーニング アルゴリズムも含まれており、表形式の回帰と分類のためにゼロからトレーニングできます。
- 構築済みのソリューションを使用する – JumpStart は、需要予測や産業および金融アプリケーションなどの一般的な ML ユースケース向けの 17 のソリューションのセットを提供し、数回クリックするだけでデプロイできます。 ソリューションは、特定のビジネス ユースケースを解決するためにさまざまな AWS サービスを結び付けるエンドツーエンドの ML アプリケーションです。 彼らは使用します AWS CloudFormation 迅速な展開のためのテンプレートとリファレンスアーキテクチャ。つまり、完全にカスタマイズ可能です。
- SageMakerアルゴリズムのノートブックの例を使用する – SageMaker は一連の組み込みアルゴリズムを提供し、データ サイエンティストと ML 実践者が ML モデルのトレーニングとデプロイを迅速に開始できるようにします。 JumpStart には、これらのアルゴリズムをすばやく適用するために使用できるサンプル ノートブックが用意されています。
- トレーニングビデオとブログを確認する – JumpStartは、SageMaker内でさまざまな機能を使用する方法を教える多数のブログ投稿とビデオも提供します。
JumpStartはカスタムVPC設定を受け入れ、 AWSキー管理サービス (AWS KMS)暗号化キー。これにより、エンタープライズ環境内で利用可能なモデルとソリューションを安全に使用できます。 セキュリティ設定は、Studio内またはSageMakerPythonSDKを介してJumpStartに渡すことができます。
画像分類
画像分類とは、トレーニング データセット内のクラス ラベルの XNUMX つに画像を分類することです。 任意の数のクラスに属する画像を含む任意のデータセットにモデルを微調整できます。 JumpStart で微調整に使用できるモデルは、分類レイヤーを対応する特徴抽出モデルにアタッチし、レイヤー パラメーターをランダムな値に初期化します。 分類層の出力次元は、入力データのクラス数に基づいて決定されます。 微調整ステップでは、特徴抽出モデルのパラメーターを固定したまま、分類レイヤーのパラメーターを調整し、微調整されたモデルを返します。 目的は、入力データの予測誤差を最小限に抑えることです。
このデータセットの場合、入力は、クラスの数と同じ数のサブディレクトリを持つディレクトリです。 各サブディレクトリには、そのクラスに属する画像が .jpg 形式で含まれている必要があります。 トレーニング データに XNUMX つのクラスの画像が含まれている場合、入力ディレクトリは次の階層のようになります。 roses
& dandelion
:
フォルダー、クラス、および .jpg ファイル名の名前は何でもかまいません。
私たちは提供します tf_flowers
1 モデルを微調整するためのデフォルト データセットとしてのデータセット。 このデータセットは、XNUMX 種類の花の画像で構成されています。 データセットはからダウンロードされました TensorFlow.
ウォークスルーの概要
次のセクションでは、Studio UI と JumpStart API の両方を使用して、JumpStart で画像分類を実行するための段階的なデモを提供します。
次の手順を実行します。
- StudioUIからJumpStartにアクセスします。
- 事前にトレーニングされたモデルを微調整します。
- 微調整されたモデルをデプロイします。
- 微調整されたモデルを段階的にトレーニングし、再デプロイします。
- プログラムでSageMakerPythonSDKを使用してJumpStartを使用します。
- 事前にトレーニングされたモデルを微調整します。
- 微調整されたモデルをデプロイします。
- 微調整されたモデルを段階的にトレーニングし、再デプロイします。
StudioUIからJumpStartにアクセスします
このセクションでは、Studio UI を使用して JumpStart モデルを微調整およびデプロイする方法を示します。 さらに、以前に微調整したモデルを段階的にトレーニングする方法を示します。
事前にトレーニングされたモデルを微調整します
次のビデオは、JumpStart で事前トレーニング済みの画像分類モデルを見つけて微調整する方法を示しています。 モデル ページには、モデル、その使用方法、予想されるデータ形式、微調整の詳細に関する貴重な情報が含まれています。
デモンストレーションのために、デフォルトで提供されるデータセットを使用してモデルを微調整します。 tf_flowers
さまざまな種類の花で構成されるデータセット。 独自のデータセットの微調整には、(モデル ページで説明されているように) データの正しい形式を取得し、それを にアップロードすることが含まれます。 Amazon シンプル ストレージ サービス (Amazon S3)、およびデータソース構成でその場所を指定します。
デフォルトで設定されているのと同じハイパーパラメータ値 (エポック数、学習率、バッチ サイズ) を使用します。 また、GPU を利用した ml.p3.2xlarge インスタンスを SageMaker トレーニング インスタンスとして使用します。
トレーニング ジョブは Studio コンソールで直接監視でき、完了時に通知されます。
微調整されたモデルを展開する
トレーニングが完了したら、トレーニング ジョブの詳細を保持している同じページから、微調整されたモデルをデプロイできます。 モデルをデプロイするには、別のインスタンス タイプ ml.p2.xlarge を選択します。 推論のレイテンシーを低く抑えるために必要な GPU アクセラレーションを引き続き提供しますが、価格は低くなります。 SageMaker ホスティングインスタンスを設定したら、選択します 配備します。 永続的なエンドポイントが稼働するまで、5〜10分かかる場合があります。
これで、エンドポイントが操作可能になり、推論リクエストに応答する準備が整いました!
推論までの時間を短縮するために、JumpStartは、新しくデプロイされたエンドポイントで推論を実行する方法を示すサンプルノートブックを提供します。 選ぶ ノートブックを開く 下 エンドポイントを使用 スタジオから。
微調整されたモデルを段階的にトレーニングしてデプロイする
微調整が完了したら、モデルをさらにトレーニングしてパフォーマンスを向上させることができます。 このステップは、最初の微調整プロセスと非常によく似ていますが、出発点として既に微調整されたモデルを使用する点が異なります。 新しいデータを使用することもできますが、データセットの形式は同じ (同じクラスのセット) である必要があります。
SageMakerSDKでJumpStartをプログラムで使用する
前のセクションでは、JumpStart UI を使用して、数回クリックするだけでインタラクティブにモデルを微調整、デプロイ、および増分トレーニングする方法を示しました。 また、SageMaker SDK に統合された API を使用して、JumpStart のモデルと簡単な微調整をプログラムで使用することもできます。 ここで、前のプロセスを再現する方法の簡単な例を見ていきます。 このデモのすべての手順は、付属のノートブックで利用できます JumpStartの概要–画像分類.
事前にトレーニングされたモデルを微調整します
選択したモデルを微調整するには、そのモデルの URI と、トレーニング スクリプトの URI、およびトレーニングに使用されるコンテナー イメージを取得する必要があります。 ありがたいことに、これら XNUMX つの入力は、モデル名、バージョンのみに依存します (使用可能なモデルのリストについては、 JumpStart使用可能なモデルテーブル)、およびトレーニングするインスタンスのタイプ。 これは、次のコード スニペットに示されています。
を取得します model_id
以前に使用したのと同じモデルに対応します。 識別子の ic は画像分類に対応します。
SageMaker SDK を使用して、独自のカスタム データセットでこの JumpStart モデルを微調整できるようになりました。 同じものを使用しています tf_flowers
Amazon S3 でパブリックにホストされているデータセットであり、都合よく感情分析に焦点を当てています。 前のセクションで説明したように、データセットは微調整用に構造化する必要があります。 次のコード例を参照してください。
選択したモデルに対して、前のセクションで見たものと同じデフォルトのハイパーパラメータを使用して取得します。 sagemaker.hyperparameters.retrieve_default()
. 次に、SageMaker estimator をインスタンス化し、.fit メソッドを呼び出してモデルの微調整を開始し、トレーニング データの Amazon S3 URI を渡します。 ご覧のとおり、 entry_point
提供されるスクリプトの名前は transfer_learning.py
(他のタスクやモデルでも同じ)、およびに渡される入力データチャネル .fit
名前を付ける必要があります training
.
微調整されたモデルのデプロイ
トレーニングが完了すると、微調整されたモデルを展開できます。 そのために必要なのは、推論スクリプトURI(デプロイ後にモデルが推論にどのように使用されるかを決定するコード)と、選択したモデルをホストする適切なモデルサーバーを含む推論コンテナイメージURIだけです。 次のコードを参照してください。
数分後、モデルがデプロイされ、リアルタイムでモデルから予測を取得できます。
次に、エンドポイントを呼び出して、サンプル画像に存在する花の種類を予測します。 私たちは、 query_endpoint
& parse_response
付随するで定義されているヘルパー関数 ノート.
微調整されたモデルを段階的にトレーニングして再デプロイする
新しい画像でさらにトレーニングすることで、微調整されたモデルのパフォーマンスを向上させることができます。 これには新しい画像または古い画像をいくつでも使用できますが、データセットの形式は同じ (同じクラスのセット) のままにする必要があります。 インクリメンタル トレーニング ステップは微調整プロセスと似ていますが、重要な違いがあります。最初の微調整では、事前にトレーニングされたモデルから開始しますが、インクリメンタル トレーニングでは、既存の微調整されたモデルから開始します。 次のコードを参照してください。
トレーニングが完了したら、前のセクションで説明したのと同じ手順を使用してモデルをデプロイできます。
まとめ
JumpStartは、SageMakerの機能であり、MLをすばやく開始できます。 JumpStartは、オープンソースの事前トレーニング済みモデルを使用して、画像分類、オブジェクト検出、テキスト分類、文ペア分類、質問応答などの一般的なML問題を解決します。
この記事では、事前トレーニング済みの画像分類モデルを微調整してデプロイする方法を紹介しました。 また、画像分類のために微調整されたモデルを段階的にトレーニングする方法も示しました。 JumpStart を使用すると、このプロセスをコーディングなしで簡単に実行できます。 自分で解決策を試してみて、コメントでそれがどうなるか教えてください. JumpStart の詳細については、AWS re:Invent 2020 ビデオをご覧ください。 AmazonSageMakerJumpStartを使用してMLを数分で始めましょう.
参考文献
- TensorFlow チーム、2019
著者について
ヴィヴェック・マダン博士 Amazon SageMaker JumpStart チームの応用科学者です。 彼は博士号を取得しました。 イリノイ大学アーバナ シャンペーン校で博士号を取得し、ジョージア工科大学で博士研究員を務めました。 彼は機械学習とアルゴリズム設計の活発な研究者であり、EMNLP、ICLR、COLT、FOCS、および SODA カンファレンスで論文を発表しています。
ジョアンモウラ アマゾン ウェブ サービスの AI/ML スペシャリスト ソリューション アーキテクトです。 彼は主に NLP のユース ケースに焦点を当てており、顧客が深層学習モデルのトレーニングと展開を最適化するのを支援しています。 また、ローコード ML ソリューションと ML に特化したハードウェアの積極的な支持者でもあります。
アシッシュ・ケタン博士 の上級応用科学者です Amazon SageMaker ジャンプスタート & AmazonSageMakerの組み込みアルゴリズム 機械学習アルゴリズムの開発に役立ちます。 彼は機械学習と統計的推論の活発な研究者であり、NeurIPS、ICML、ICLR、JMLR、ACL、およびEMNLP会議で多くの論文を発表しています。
- '
- "
- 100
- 2020
- a
- 能力
- 私たちについて
- 加速する
- 正確な
- 越えて
- アクティブ
- 住所
- アルゴリズム
- アルゴリズム
- すべて
- 許可
- ことができます
- 既に
- Amazon
- Amazon Webサービス
- 量
- 分析
- アナウンス
- 発表の
- 別の
- どこにでも
- API
- API
- 適用された
- 申し込む
- 適切な
- 賃貸条件の詳細・契約費用のお見積り等について
- 利用できます
- AWS
- なぜなら
- ブログ
- ブログの投稿
- 内蔵
- ビジネス
- コール
- 取得することができます
- 機能
- 場合
- 例
- 選択する
- class
- クラス
- 分類
- コード
- コレクション
- 注釈
- コマンドと
- コミュニティ
- コンプリート
- 構成
- 会議
- 領事
- コンテナ
- 含まれています
- コンテンツ
- controls
- 対応する
- コスト
- 作ります
- カスタム
- Customers
- カスタマイズ可能な
- データ
- 深いです
- 需要
- 実証します
- 実証
- 展開します
- 展開
- 展開する
- 展開
- 記載された
- 設計
- 細部
- 検出
- 開発する
- 発展した
- 開発
- 違い
- 異なります
- 次元
- 直接に
- デッカー
- ドメイン
- 各
- 簡単に
- 使いやすい
- 努力
- 可能
- 暗号化
- 端から端まで
- エンドポイント
- Enterprise
- 環境
- 例
- 例
- 除く
- 興奮した
- 既存の
- 拡大
- 予想される
- 顔
- 特徴
- 特徴
- ファイナンシャル
- フィット
- 焦点を当て
- フォロー中
- 形式でアーカイブしたプロジェクトを保存します.
- から
- 機能
- さらに
- 世代
- GPU
- Hardware
- 助けます
- 助け
- ことができます
- 階層
- 高品質
- 保持している
- 主催
- ホスティング
- 認定条件
- How To
- しかしながら
- HTTPS
- ハブ
- イリノイ州
- 画像
- 画像
- 重要
- 含ま
- 増える
- インダストリアル
- 情報
- 統合された
- 相互作用
- 関係する
- IT
- ジョブ
- ジャンプ
- 保管
- キー
- キー
- 知っている
- 知識
- ラベル
- ラベル
- 大
- 起動する
- 層
- LEARN
- 学んだ
- 学習
- フェイスリフト
- リスト
- 場所
- 見て
- 機械
- 機械学習
- 大多数
- 作成
- 管理
- 問題
- 手段
- ML
- モデル
- モニター
- 他には?
- 最も
- 一番人気
- 名
- ノート
- 数
- 多数の
- 最適化
- その他
- 自分の
- 特定の
- 通過
- パターン
- パフォーマンス
- ポイント
- 貧しいです
- 人気
- 投稿
- 予測する
- 予測
- 予測
- 前
- ブランド
- 問題
- プロセス
- 作り出す
- プロダクト
- 提供します
- 提供
- は、大阪で
- 提供
- 目的
- 質問
- クイック
- すぐに
- RE
- 最近
- 縮小
- 指し
- 残る
- 研究
- リソース
- 収益
- ラン
- ランニング
- 同じ
- 科学者
- 科学者たち
- SDDK
- しっかりと
- セキュリティ
- 選択
- 選択
- 感情
- サービス
- セッションに
- 同様の
- 簡単な拡張で
- サイズ
- So
- 溶液
- ソリューション
- 解決する
- 一部
- 専門家
- start
- 開始
- 統計的
- まだ
- ストレージ利用料
- 構造化された
- 研究
- サポート
- 取得
- タスク
- チーム
- テク
- テンプレート
- 三
- 介して
- 時間
- 一緒に
- トレーニング
- 転送
- ui
- 下
- 大学
- ロック解除
- us
- つかいます
- 多様
- さまざまな
- バージョン
- ビデオ
- 動画
- ウェブ
- Webサービス
- この試験は
- while
- 以内
- ワークフロー
- 書き込み
- あなたの
- ユーチューブ