機械学習 (ML) モデルが改善されるにつれて、データ サイエンティスト、ML エンジニア、および研究者は、データ品質の定義と改善により多くの注意を向けるようになりました。 これにより、ML へのデータ中心のアプローチと、データ要件に焦点を当ててモデルのパフォーマンスを向上させるさまざまな手法が出現しました。 これらの手法を適用することで、ML の実践者は ML モデルのトレーニングに必要なデータの量を減らすことができます。
このアプローチの一環として、入力データ量を減らすことでトレーニングを高速化する高度なデータ サブセット選択手法が登場しました。 このプロセスは、より大きなデータセットの分布に近似する特定の数のポイントを自動的に選択し、それをトレーニングに使用することに基づいています。 このタイプの手法を適用すると、ML モデルのトレーニングに必要な時間が短縮されます。
この投稿では、データ中心の AI 原則を適用する方法について説明します。 Amazon SageMakerグラウンドトゥルース、を使用してデータサブセット選択手法を実装する方法 コード 上のリポジトリ アマゾンセージメーカー 初期モデルのトレーニングに必要なデータ量を削減し、このアプローチを使用して実験を実行する方法 AmazonSageMakerの実験.
機械学習へのデータ中心のアプローチ
データ サブセットの選択など、より高度なデータ中心の手法に飛び込む前に、一連の基本原則をデータ ラベル付けプロセスに適用することで、複数の方法でデータセットを改善できます。 このため、Ground Truth は、ラベルの一貫性とデータ品質を改善するためのさまざまなメカニズムをサポートしています。
モデルのパフォーマンスを向上させるには、ラベルの一貫性が重要です。 それがなければ、モデルは、異なるクラスに属するすべてのポイントを分離する決定境界を生成できません。 一貫性を確保する XNUMX つの方法は、 Ground Truth での注釈の統合これにより、特定の例を複数のラベラーに提供し、その例のグラウンド トゥルースとして提供された集約されたラベルを使用できます。 ラベルの相違は、Ground Truth によって生成された信頼スコアによって測定されます。 ラベルに相違がある場合は、ラベラーに提供されたラベリング手順に削除可能な曖昧さがあるかどうかを確認する必要があります。 このアプローチは、個々のラベラーのバイアスの影響を軽減します。これは、ラベルをより一貫性のあるものにするための中心となります。
データに注目してモデルのパフォーマンスを改善するもう XNUMX つの方法は、改善すべき最も重要なデータのサブセットを特定する際に、ラベルのエラーを分析する方法を開発することです。 ラベル付けされた例に飛び込み、 アマゾンクラウドウォッチ Ground Truth ラベル付けジョブによって生成されたログとメトリクス。 データセットのラベル付けの次の反復を促進するために、推論時にモデルが行うエラーを確認することも重要です。 これらのメカニズムに加えて、 Amazon SageMaker の明確化 データ サイエンティストと ML エンジニアが次のようなアルゴリズムを実行できるようにします カーネルSHAP モデルによって行われた予測を解釈できるようにします。 前述のように、モデルの予測に関するより深い説明は、最初のラベル付けプロセスに関連付けて改善することができます。
最後に、うるさいまたは過度に冗長な例を捨てることを検討できます。 これを行うと、モデルのパフォーマンスの向上に寄与しない例を削除することで、トレーニング時間を短縮できます。 ただし、特定のデータセットの有用なサブセットを手動で特定することは難しく、時間がかかります。 この投稿で説明されているデータ サブセット選択手法を適用すると、確立されたフレームワークに沿ってこのプロセスを自動化できます。
使用事例
前述のように、データ中心の AI は、モデル自体のアーキテクチャではなく、モデル入力の改善に重点を置いています。 これらの原則をデータのラベル付けまたは特徴量エンジニアリングに適用したら、トレーニング時にデータ サブセットの選択を適用することで、引き続きモデル入力に集中できます。
この投稿では、効率的でロバストな学習のために一般化ベースのデータ サブセット選択を適用します (グリスター) は、CORDS リポジトリに実装されている多くのデータ サブセット選択手法の XNUMX つであり、 レスネット-18 モデルをトレーニングして分類するのにかかる時間を最小限に抑えるためのモデル CIFAR-10 画像。 以下は、CIFAR-10 データセットから抽出されたそれぞれのラベルが付いたサンプル画像です。
ResNet-18 は分類タスクによく使用されます。 これは、18 層の深い畳み込みニューラル ネットワークです。 CIFAR-10 データセットは、ML のさまざまな手法やアプローチの有効性を評価するためによく使用されます。 これは、60,000 クラスにわたってラベル付けされた 32 枚の 32×10 カラー画像で構成されています。
次のセクションでは、GLISTER が次の質問にある程度答えるのにどのように役立つかを示します。
特定のデータセットの何パーセントを使用して、トレーニング中に良好なモデル パフォーマンスを達成できるでしょうか?
GLISTER をトレーニング アルゴリズムに適用すると、トレーニング アルゴリズムに分数がハイパーパラメータとして導入されます。 これは、使用したい特定のデータセットの割合を表します。 他のハイパーパラメータと同様に、モデルとデータに最適な結果をもたらす値を見つけるには、調整が必要です。 この投稿では、ハイパーパラメータの調整については詳しく説明しません。 詳細については、次を参照してください。 Amazon SageMaker 自動モデル調整でハイパーパラメータを最適化する.
SageMaker Experiments を使用していくつかのテストを実行し、アプローチの影響を測定します。 結果は初期データセットによって異なるため、さまざまなサブセット サイズでデータに対してアプローチをテストすることが重要です。
画像での GLISTER の使用について説明しましたが、構造化データまたは表形式データを操作するトレーニング アルゴリズムにも適用できます。
データサブセットの選択
データ サブセット選択の目的は、精度への影響を最小限に抑え、モデルの堅牢性を高めながら、トレーニング プロセスを加速することです。 より具体的には、GLISTER-ONLINE は、指定した検証セットでそのトレーニング データ サブセットの対数尤度を最大化しようとすることで、モデルが学習するときにサブセットを選択します。 このようにデータ サブセットの選択を最適化すると、実際のデータセットでよく見られるノイズやクラスの不均衡が軽減され、モデルの学習に合わせてサブセットの選択戦略を適応させることができます。
初期 グリスター紙 を使用して、さまざまなデータ サブセット サイズでのスピードアップと精度のトレードオフについて説明します。 ルネット モデル:
サブセットサイズ | スピードアップ | 正確さ |
視聴者の38%が | 6x | -3% |
視聴者の38%が | 2.5x | -1.20% |
視聴者の38%が | 1.5x | -0.20% |
モデルをトレーニングするために、 SageMakerトレーニングジョブ カスタム トレーニング スクリプトを使用します。 画像データセットも既にアップロードしています Amazon シンプル ストレージ サービス (アマゾン S3)。 他の SageMaker トレーニング ジョブと同様に、定義する必要があります。 Estimator
物体。 からの PyTorch エスティメータ sagemaker.pytorch
パッケージを使用すると、マネージド PyTorch コンテナーで独自のトレーニング スクリプトを実行できます。 の inputs
推定器に渡される変数 .fit
関数には、トレーニングおよび検証データセットの S3 の場所の辞書が含まれています。
train.py
スクリプトは、トレーニング ジョブの起動時に実行されます。 このスクリプトでは、CORDS ライブラリから ResNet-18 モデルをインポートし、次のようにデータセット内のクラス数を渡します。
次に、 gen_dataset
CORDS の関数を使用して、トレーニング、検証、およびテスト データセットを作成します。
各データセットから、同等の PyTorch データローダーを作成します。
最後に、これらのデータローダーを使用して GLISTERDataLoader
CORDS ライブラリから。 この投稿で前述したように、トレーニング中にモデルを更新するときにサブセット選択を適用する GLISTER-ONLINE 選択戦略の実装を使用します。
オブジェクトを作成するには、選択戦略固有の引数を DotMap
と一緒にオブジェクト train_loader
, validation_loader
, logger
:
GLISTERDataLoader
通常のデータローダーとしてトレーニング ループに適用できるようになりました。 モデルがそのモデルの損失に基づいて学習するときに、次のトレーニング バッチのデータ サブセットが選択されます。 前の表に示されているように、データ サブセット選択戦略を追加すると、データ サブセット選択の追加ステップがあっても、精度のトレードオフはほとんどなく、トレーニング時間を大幅に短縮できます。
データ サイエンティストや ML エンジニアは、アプローチを何らかのベースラインと比較して、その有効性を評価する必要があることがよくあります。 次のセクションでこれを行う方法を示します。
実験追跡
SageMaker Experiments を使用して、データサブセット選択アプローチの有効性を測定できます。 詳細については、次を参照してください。 次世代の Amazon SageMaker Experiments – 機械学習トレーニングを大規模に整理、追跡、比較します.
私たちの場合、XNUMX つの実験を実行します。データ サブセット選択を適用しないベースラインと、異なる XNUMX つの他の実験です。 fraction
データセット全体に対するサブセットのサイズを表します。 当然、より小さいものを使用します。 fraction
パラメータを使用すると、トレーニング時間が短縮されますが、モデルの精度も低下します。
この投稿では、各トレーニングの実行は Run
SageMaker Experiments で。 実験に関連する実行はすべて XNUMX つにグループ化されます Experiment
物体。 実行は、作成時に共通の実験に添付できます。 Estimator
SDKで。 次のコードを参照してください。
カスタム トレーニング スクリプトの一部として、次を使用して実行メトリクスを収集できます。 load_run
:
次に、前の操作で返された実行オブジェクトを使用して、次の呼び出しによってエポックごとのデータ ポイントを収集できます。 run.log_metric(name, value, step)
メトリック名、値、および現在のエポック番号を提供します。
アプローチの有効性を測定するために、トレーニング損失、トレーニング精度、検証損失、検証精度、およびエポックを完了するまでの時間に対応するメトリックを収集します。 次に、トレーニングジョブを実行した後、次のことができます 実験結果を確認する in Amazon SageMakerスタジオ または SageMaker Experiments SDK を介して。
Studio 内で検証精度を表示するには、 解析 実験について Active Runs ページで見やすくするために変数を解析したりすることができます。
グラフを追加し、グラフのプロパティを設定して、 創造する. 次のスクリーンショットに示すように、すべての実行の各エポックでの検証精度のプロットが表示されます。
SDK を使用すると、実験関連の情報を Pandas データフレームとして取得することもできます。
必要に応じて、トレーニング ジョブを並べ替えることができます。 たとえば、追加できます "metrics.validation:accuracy.max"
の値として sort_by
に渡されるパラメータ ExperimentAnalytics
検証精度で並べ替えられた結果を返します。
予想通り、私たちの実験では、GLISTER とデータ サブセットの選択をトレーニング アルゴリズムに適用すると、トレーニング時間が短縮されることが示されました。 ベースライン トレーニング アルゴリズムを実行すると、27 つのエポックを完了するまでの時間の中央値は約 50 秒です。 対照的に、GLISTER を適用してデータセット全体の 30%、10%、および 13% に相当するサブセットを選択すると、ml.p8.5xlarge インスタンスでそれぞれ約 2.75、3.2、および XNUMX 秒のエポックを完了する時間になります。 .
また、特に 50% のデータ サブセットを使用する場合、検証精度への影響は比較的小さいことがわかります。 100 エポックのトレーニング後、ベースラインは 92.72% の検証精度を生成します。 対照的に、GLISTER を適用してデータセット全体の 50%、30%、および 10% に相当するサブセットを選択すると、それぞれ 91.42%、89.76%、および 82.82% の検証精度が得られます。
まとめ
SageMaker Ground Truth と SageMaker Experiments は、データ サイエンティストと ML エンジニアがより一貫性のあるデータセットを生成し、モデル構築フェーズで実装する高度な手法の影響を追跡できるようにすることで、機械学習へのデータ中心のアプローチを可能にします。 ML にデータ中心のアプローチを実装すると、モデルに必要なデータの量を減らし、その堅牢性を向上させることができます。
試してみて、コメントでご意見をお聞かせください。
著者について
ニコラ・ベルニエ AWS のカナダ公共部門チームの一員であるソリューション アーキテクトです。 彼は現在、深層学習の研究分野で修士号を取得しており、ML Specialty Certification を含む XNUMX つの AWS 認定を保持しています。 Nicolas は、お客様と協力してビジネス上の課題を技術的なソリューションに変換することで、お客様が AWS の知識を深めるのを支援することに情熱を注いでいます。
ジバニルド・アウヴェス は、Amazon Web Services のプロトタイピングおよびクラウド エンジニアリング チームのプロトタイピング アーキテクトであり、人工知能に関するいくつかのプロトタイプをすでに実装しており、AWS で可能な技術を示すことでクライアントの革新と加速を支援しています。 彼はソフトウェア エンジニアリングで長いキャリアを持ち、以前は Amazon.com.br でソフトウェア開発エンジニアとして働いていました。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/use-a-data-centric-approach-to-minimize-the-amount-of-data-required-to-train-amazon-sagemaker-models/
- :は
- $UP
- 000
- 1
- 10
- 100
- 7
- 8
- a
- 私たちについて
- 加速する
- 精度
- 達成する
- 越えて
- 適応する
- 添加
- NEW
- 高度な
- 後
- に対して
- AI
- アルゴリズム
- アルゴリズム
- すべて
- 許可
- ことができます
- 既に
- Amazon
- アマゾンセージメーカー
- Amazon Webサービス
- Amazon.com
- 曖昧さ
- 量
- 分析論
- 分析します
- および
- 回答
- 適用された
- 申し込む
- 適用
- アプローチ
- アプローチ
- 建築
- です
- AREA
- 引数
- 周りに
- 宝品
- 人工の
- 人工知能
- AS
- At
- 試みる
- 注意
- 自動化する
- オートマチック
- 自動的に
- AWS
- バック
- ベース
- ベースライン
- BE
- BEST
- バイアス
- 建物
- ビジネス
- by
- 呼び出し
- 缶
- キャリア
- 場合
- 中央の
- 認証
- 認定
- 課題
- チャート
- 選択する
- class
- クラス
- 分類
- 分類します
- クライアント
- クラウド
- コード
- 収集する
- カラー
- COM
- 組み合わせ
- 来ます
- 注釈
- コマンドと
- 比較的
- 比較します
- 比較
- コンプリート
- 構成
- 導電性
- 信頼
- 検討
- 整合性のある
- 圧密
- コンテナ
- 含まれています
- 続ける
- コントラスト
- 貢献する
- 対応する
- 可能性
- 作ります
- 作成
- 電流プローブ
- 現在
- カスタム
- Customers
- データ
- データポイント
- データセット
- 決定
- 深いです
- 深い学習
- 深める
- より深い
- 定義
- 度
- 実証します
- 実証
- によっては
- 深さ
- 説明する
- 記載された
- 開発
- 開発
- 異なります
- 異なる
- 難しい
- 話し合います
- 議論する
- ディストリビューション
- 発散
- すること
- ドント
- ドライブ
- 間に
- 各
- 前
- 効果
- 効率的な
- 努力
- 出現
- enable
- エンジニア
- エンジニアリング
- エンジニア
- 確保
- 時代
- エポック
- 同等の
- エラー
- 特に
- 設立
- 評価する
- さらに
- あらゆる
- 例
- 例
- 予想される
- 実験
- 説明
- 特徴
- 発見
- フォーカス
- 焦点を当てて
- 焦点
- 続いて
- フォロー中
- 次
- 発見
- 分数
- フレームワーク
- から
- function
- 生成された
- 世代
- 与えられた
- Go
- 良い
- 陸上
- 持ってる
- 持って
- 助けます
- 助け
- 保持している
- 認定条件
- How To
- しかしながら
- HTML
- HTTP
- HTTPS
- ハイパーパラメータ調整
- 識別する
- 識別
- 画像
- 画像
- 不均衡
- 影響
- 実装する
- 実装
- 実装
- 実装
- import
- 重要
- 改善します
- 改善されました
- 改善
- in
- 含めて
- の増加
- 個人
- 情報
- 初期
- 革新します
- 説明書
- インテリジェンス
- 紹介する
- IT
- 繰り返し
- ITS
- 自体
- ジョブ
- Jobs > Create New Job
- 知っている
- 知識
- ラベル
- ラベリング
- ラベル
- より大きい
- 打ち上げ
- 学習
- ツェッペリン
- 図書館
- ような
- リスト
- 少し
- 場所
- 長い
- 見て
- 損失
- 機械
- 機械学習
- 製
- 作る
- 作成
- マネージド
- マニュアル
- 手動で
- 多くの
- マスターの
- マックス
- 最大化します
- だけど
- 言及した
- メソッド
- メトリック
- メトリック
- 最小限の
- 最小化
- ML
- モデル
- 他には?
- 最も
- の試合に
- 名
- 必要
- ネットワーク
- ニューラルネットワーク
- 次の
- ニコラス
- ノイズ
- 数
- オブジェクト
- 観察する
- of
- on
- ONE
- 操作
- 最適化
- その他
- 全体
- 自分の
- パッケージ
- ページ
- パンダ
- パラメーター
- パラメータ
- 部
- 渡された
- 情熱的な
- 割合
- 実行する
- パフォーマンス
- 相
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポイント
- ポイント
- 可能
- ポスト
- 予測
- 前
- 前に
- 原則
- プロセス
- 作り出す
- プロパティ
- プロトタイプ
- プロトタイピング
- 提供
- 公共
- 目的
- パイトーチ
- 品質
- 量
- 質問
- むしろ
- 現実の世界
- 減らします
- 電話代などの費用を削減
- 軽減
- 縮小
- 地域
- レギュラー
- 関連する
- 削除済み
- 除去
- 倉庫
- で表さ
- 表し
- の提出が必要です
- 要件
- 必要
- 研究
- 研究者
- それらの
- 結果
- 結果
- return
- 堅牢な
- 丈夫
- ラン
- ランニング
- セージメーカー
- 科学者たち
- SDDK
- 秒
- セクション
- セクション
- セクター
- 選択
- 選択
- 役立つ
- サービス
- セッション
- セッションに
- いくつかの
- すべき
- 表示する
- 示す
- 著しく
- 簡単な拡張で
- サイズ
- サイズ
- より小さい
- So
- ソフトウェア
- ソフトウェア開発
- ソフトウェア工学
- ソリューション
- 一部
- ソース
- 専門
- 特定の
- 特に
- スピード
- 手順
- まだ
- ストレージ利用料
- 戦略
- 構造化された
- 研究
- 補給
- サポート
- テーブル
- 取り
- タスク
- チーム
- 技術的
- テクニック
- test
- テスト
- それ
- アプリ環境に合わせて
- それら
- ボーマン
- 三
- 介して
- 時間
- <font style="vertical-align: inherit;">回数</font>
- 〜へ
- トーチ
- トロント
- 追跡する
- トレーニング
- トレーニング
- トレーニング
- 翻訳する
- 下
- 根本的な
- アップデイト
- アップロード
- us
- つかいます
- 値
- さまざまな
- 詳しく見る
- 仕方..
- 方法
- ウェブ
- Webサービス
- WELL
- この試験は
- which
- while
- 意志
- 以内
- 無し
- 働いていました
- ワーキング
- You
- あなたの
- ゼファーネット