AWS MLS 勉強メモ 1 ~ AWS サービス ~
AWS Certified Machine Learning - Specialty
MLS を受験予定なので勉強メモを残していきます。
自分自身の振り返り用ですがどなたかの参考になれば幸いです
今回は AWS サービスについてのメモです。
機械学習サービスの主な用途
- Amazon Rekognition:画像ファイルをインプットにモノ・人・顔を抽出する
- Amazon Polly:テキストファイルをインプットに音声ファイルを生成する
- Amazon Transcribe:音声ファイルをインプットにテキストファイルを生成する
- Amazon Comprehend:テキストファイルをインプットにインサイトや関係性を検出する自然言語処理 (NLP) サービス
- Amazon Translate:テキストファイルをインプットに翻訳する
- Amazon Textract:画像ファイルをインプットにテキストを抽出する
SageMaker
プロダクションバリアント
SageMaker マルチバリアントエンドポイントでは、各バリアントのトラフィック分散を提供することで、エンドポイント呼び出しリクエストを複数の本番稼働用バリアントに分散できます。
CPUUtilization を監視可能
Amazon SageMaker で Amazon をモニタリングする CloudWatch - Amazon SageMaker
CPUUtilization
個々のCPUコアの使用率の合計。
CreateTrainingJob の必須パラメーター
CreateTrainingJob - Amazon SageMaker
- AlgorithmSpecification
- トレーニングアルゴリズムとアルゴリズム固有のメタデータ (入力モードを含む) を含む Docker イメージのレジストリパス
- OutputDataConfig
- モデル成果物を保存する S3 の場所へのパス
- ResourceConfig
- モデルのトレーニングに使用する ML コンピューティングインスタンスや ML ストレージボリュームなどのリソース
- RoleArn
- SageMaker がユーザーに代わってタスクを実行するために引き受けることができる IAM ロール
- StoppingCondition
- モデルトレーニングジョブを実行できる時間の制限
- TrainingJobName
- トレーニングジョブの名前
ファイルモードとパイプモード
Amazon SageMaker でより速いパイプモードを使用してモデルのトレーニングを高速化する | Amazon Web Services ブログ
Amazon SageMaker は、トレーニングデータを転送するために、ファイルモードとパイプモードの 2 つのメカニズムをサポートしています。
高速ファイルモード
Amazon SageMaker の高速ファイルモードを発表
高速ファイルモードは、既存のファイルモードの使いやすさと、パイプモードのパフォーマンスを組み合わせています。
カスタムエントリポイントスクリプト
Amazon がトレーニングイメージ SageMaker を実行する方法 - Amazon SageMaker
カスタムエントリポイントスクリプトを使用して、本番環境でトレーニングするインフラストラクチャを自動化できます。
デフォルトでは、Amazon は次のコンテナ SageMaker を実行します。docker run image train
モデルのトレーニング方法
Dark_03_Training_Job_Handson.pdf
- Jupyter Notebook 上で直接実⾏
- 任意のライブラリ
- SageMaker Traning Job で実⾏
- 組み込みアルゴリズム
- Linear Learner, XGBoost, k-NN, Random Cut Forest, ResNet, BrazingText, ...
- スクリプトモード
- TensorFlow, MXNet, PyTorch, HuggingFace, SKLearn, etc
- 独⾃コンテナの持ち込み (Bring Your Own Container)
- AWS Marketplace アルゴリズム
独自のトレーニングコンテナを使用する方法
独自のトレーニングコンテナの適応 - Amazon SageMaker
独自のトレーニングモデルを実行するには、Amazon ノートブックインスタンスから Amazon SageMaker Training Toolkit を使用して Docker コンテナを構築します。
GPU でのモデルトレーニング
Amazon がトレーニングイメージ SageMaker を実行する方法 - Amazon SageMaker
モデルトレーニングにGPUデバイスを使用する場合は、コンテナにnvidia-docker互換性があることを確認してください。コンテナにはCUDAツールキットのみを含めます。NVIDIAドライバーをイメージにバンドルしないでください。
SageMaker Python SDK のローカルモード
SageMaker Python SDKのローカルモードを利用して、ノートブックインスタンス以外の環境で学習ジョブを回してみる | DevelopersIO
SageMaker Python SDKのローカルモードではローカルでDockerコンテナを作成し、そのコンテナ内で学習ジョブやモデルのホスティングなどを行います。
SageMaker リソースが存在する VPC
閉域網で Amazon SageMaker を利用する際のポイントと手順 | Amazon Web Services ブログ
Amazon SageMaker が作成するリソースは、(Amazon EC2 インスタンスのような) お客様の VPC 内のリソースではなく、VPC 外で Amazon SageMaker がサービスとして管理しているリソースです。
ノートブックインスタンスへの外部ライブラリインストール
Install External Libraries and Kernels - Amazon SageMaker
カスタム環境とカーネルをノートブックインスタンスの Amazon EBS ボリュームにインストールします。これにより、ノートブックインスタンスを停止および再起動したときにそれらが持続し、インストールした外部ライブラリが SageMaker によって更新されないようにします。そのためには、ノートブックインスタンスを作成するときに実行するスクリプト(on-create)と、ノートブックインスタンスを再起動するたびに実行するスクリプト(on-start)の両方を含むライフサイクル設定を使用します。
ノートブックインスタンスでの暗号化
Notebook instances, SageMaker jobs, and Endpoints - Amazon SageMaker
ノートブック、処理ジョブ、トレーニングジョブ、ハイパーパラメータ調整ジョブ、バッチ変換ジョブ、エンドポイントにアタッチされている機械学習 (ML) ストレージボリュームを暗号化するには、AWS KMS キーを SageMaker に渡します。
BlazingText アルゴリズム
BlazingText アルゴリズム - Amazon SageMaker
Amazon SageMaker BlazingText アルゴリズムは、Word2vec アルゴリズムとテキスト分類アルゴリズムの高度に最適化された実装を提供します。Word2vec アルゴリズムは、感情分析、名前付きエンティティ認識、機械翻訳など、多くの下流の自然言語処理 (NLP) タスクに役立ちます。
ネットワーク分離
トレーニングおよび推論コンテナをインターネット無料モードで実行する - Amazon SageMaker
ネットワーク分離を有効にすると、コンテナは Amazon S3 などの他の AWS サービスに対しても、アウトバウンドネットワーク呼び出しを行うことができません。
DeepAR 予測アルゴリズム
SageMaker DeepAR 予測アルゴリズムを使用する - Amazon SageMaker
Amazon SageMaker DeepAR予測アルゴリズムは、リカレントニューラルネットワーク(RNN)を使用してスカラー(1次元)時系列を予測するための教師あり学習アルゴリズムです。自己回帰積分移動平均(ARIMA)や指数平滑化(ETS)のような古典的な予測手法は、個々の時系列に単一のモデルを当てはめます。
SageMakerVariantInvocationsPerInstance の計算式
自動スケーリング設定の負荷テスト - Amazon SageMaker
SageMakerVariantInvocationsPerInstance = (MAX_RPS * SAFETY_FACTOR) * 60
SageMaker Autopilot
SageMaker Autopilot - Amazon SageMaker
Amazon SageMaker Autopilot は、機械学習モデル (AutoML) の構築とデプロイのプロセスを自動化することで、機械学習ワークフローのさまざまな段階を簡素化および高速化する機能セットです。
SageMaker Experiments
よくある質問 - Amazon SageMaker | AWS
SageMaker Experiments は機械学習モデルへの繰り返し処理を調整および追跡するのに役立ちます。
自動モデルチューニング
Automatic model tuning with SageMaker - Amazon SageMaker
Amazon SageMaker 自動モデルチューニング (AMT) は、データセットに対して多数のトレーニングジョブを実行して、モデルの最適なバージョンを見つけます。Amazon SageMaker 自動モデルチューニング (AMT) は、ハイパーパラメータチューニングとも呼ばれます。
SageMaker NTM
ニューラルトピックモデル (NTM) アルゴリズム - Amazon SageMaker
Amazon SageMaker NTM は教師なし学習アルゴリズムで、ドキュメントのコーパスを統計分布に基づいて単語グループ化を含むトピックに編成するために使用されます。
SageMaker Canvas
ノーコード機械学習 — Amazon SageMaker Canvas に関するよくある質問 — AWS
Amazon SageMaker Canvas はコード不要の機械学習 (ML) サービスです。SageMaker Canvas は、データ準備、モデルの構築とトレーニング、予測の生成、本番環境へのモデルのデプロイなど、ML ワークフロー全体をサポートします。 SageMaker Canvas では、ML を使用して不正行為の検知、メンテナンス障害の予測、財務指標と売上の予測、在庫の最適化、コンテンツの生成などを行うことができます。
SageMaker Data Wrangler
Amazon SageMaker Data Wranglerに再入門する(2022年12月版)その1 | DevelopersIO
Amazon SageMaker Data WranglerはSageMaker Studio上の機能で、機械学習向けの前処理を行うサービスです。
SageMaker Debugger
Amazon SageMaker Debugger を使った機械学習の説明可能性 | Amazon Web Services ブログ
Amazon SageMaker Debugger は Amazon SageMaker の機能で、リアルタイムおよびオフラインでの分析のためのモデルトレーニングプロセスに対する可視性を自動的に提供します。Amazon SageMaker Debugger では内部モデルの状態が定期的な間隔で保存され、トレーニング中のリアルタイムでの分析、およびトレーニング完了後のオフラインでの分析の両方を行うことができます。
SageMaker Ground Truth
Amazon SageMaker Ground Truth による人間によるトレーニングデータのラベル付け - Amazon SageMaker
ML アプリケーションに応じて、Ground Truth の組み込みタスクタイプのいずれかを選択し、ワーカーに特定のタイプのラベルをデータに対して生成させることができます。
SageMaker Model Monitor
Amazon SageMaker Model Monitor でデータとモデル品質をモニタリングする - Amazon SageMaker
Amazon SageMaker Model Monitor は、本番環境の Amazon SageMaker 機械学習モデルの品質をモニタリングします。
SageMaker Clarify
[Amazon SageMaker Clarify] 機械学習モデルの解釈可能性・公平性を確認できるSageMakerの新機能を使ってみた #reinvent | DevelopersIO
Amazon SageMaker Clarify は、潜在的なバイアスを検出し、モデルが行う予測の説明を支援することで、機械学習モデルの改善を支援します。SageMaker Clarify は、トレーニング前のデータやトレーニング後のデータに含まれる様々なタイプのバイアスを特定し、モデルのトレーニング中や本番中に発生する可能性のあるバイアスを特定するのに役立ちます。
SageMaker Inference Recommender
Amazon SageMaker Inference Recommender - Amazon SageMaker
Inference Recommender は、ML モデルとワークロードに最適なインスタンスタイプと設定を選択するのに役立ちます。
SageMaker Inference Recommender のレコメンデーションジョブ
レコメンデーションジョブ - Amazon SageMaker
推論レコメンデーション (Default ジョブタイプ) は、レコメンデーションインスタンスタイプに対して一連のロードテストを実行します。
エンドポイントのレコメンデーション (Advanced ジョブタイプ) は、目的の機械学習インスタンスまたはサーバーレスエンドポイントを選択し、カスタムトラフィックパターンを指定して、本番環境要件に基づいてレイテンシーとスループットの要件を指定するカスタムロードテストに基づいています。
SageMaker モデルレジストリ
モデルレジストリに SageMaker モデルバージョンを登録する - Amazon SageMaker
SageMaker モデルレジストリは、データサイエンティストまたはエンジニアが機械学習 (ML) モデルをカタログ化し、トレーニングメトリクスなどのモデルバージョンと関連するメタデータを管理するために使用できるリポジトリです。
SageMaker Training Compiler
Amazon SageMaker Training Compiler - Amazon SageMaker
SageMaker Training Compiler は、実装が難しい最適化を実行して GPU インスタンスでのトレーニング時間を短縮する SageMaker の機能です。コンパイラーは DL モデルを最適化し、SageMaker 機械学習 (ML) GPU インスタンスをより効率的に使用してトレーニングを高速化します。
SageMaker Feature Store
Amazon SageMaker Feature Store (機械学習の特徴量のフルマネージドリポジトリ) | Amazon Web Services
Amazon SageMaker Feature Store は、機械学習 (ML) モデルの特微量を保存、共有、管理するためのフルマネージド型の専用リポジトリです。
SageMaker Processing
Amazon SageMaker Processing でデータ並列処理をする! #AWS - Qiita
Amazon SageMaker Processing は、任意のコンテナと任意のスクリプトを使ってデータ処理ジョブを実行するための Amazon SageMaker の機能です。
SageMaker バッチ変換
大量のデータセットに対して一括で予測を行う Amazon SageMaker の機能で、リアルタイム推論が不要な場合に効率的かつコスト効果的
プライベートワークフォース
プライベートワークフォースを使用する - Amazon SageMaker
プライベートワークフォースとは、選択したワーカーのグループです。
Polly
レキシコン
発音レキシコンを使用すると、単語の発音をカスタマイズできます。
Personalize
イベントトラッカー
20190716_AWS_BlackBelt_AmazonPersonalize.pdf
リアルタイムのインタラクションイベントをAPI経由で収集する仕組み
Deep Learning Containers
Deep Learning Containers とは
AWS Deep Learning Containers (AWS DL コンテナ) は、Amazon Sagemaker、Amazon EC2、Amazon ECS、Amazon EKS にわたるパイプラインおよびワークフローでモデルをトレーニングおよびデプロイするために、機械学習と深層学習の実践者向けに最適化された Docker 環境を提供します。
Mechanical Turk
Mechanical Turk とは
よくある質問 - Amazon Mechanical Turk | AWS
Amazon Mechanical Turk は、人間にリクエストすることによって、サービス依頼者(以後、「依頼者」)に、疑似人工知能を直接依頼者のアプリケーションに統合するサービスを提供します。
Kinesis Data Streams
シャードの書き込みスループット
よくある質問 - Aamzon Kinesis Data Streams | AWS
シャードは、書き込みの場合は 1 MB/秒および 1,000 レコード/秒、読み取りの場合は 2 MB/秒をサポートします。
Data Firehose
入力データ形式の変換
Amazon Data Firehose で入力データ形式を変換する - Amazon Data Firehose
Amazon Data Firehose は、データを Amazon S3 に保存する前にJSON、入力データの形式を から Apache Parquet または Apache ORC に変換できます。
Kinesis Data Analytics (Managed Service for Apache Flink)
Lambda でのデータ変換
Amazon Kinesis Analytics can now pre-process data prior to running SQL queries
Amazon Kinesis Analyticsアプリケーションを設定して、SQL コードで処理される前にデータを変換できるようになりました。この新機能により、AWS Lambda を使用して形式の変換、データの拡充、データのフィルタリングなどを行うことができます。関数によってデータが変換されると、Kinesis Analytics はデータをアプリケーションの SQL コードに送信してリアルタイム分析を行います。
RANDOM_CUT_FOREST
RANDOM_CUT_FOREST - Amazon Kinesis Data Analytics SQL Reference
データ ストリーム内の異常を検出します。レコードが他のレコードから離れている場合、そのレコードは異常です。
IoT Greengrass
エッジデバイスでの機械学習推論
産業用IoT – コンディションベースのモニタリングから品質予測まで、AWS IoTサービスで工場のデジタル化を実現 | Amazon Web Services ブログ
AWS IoT Greengrassは、ローカルコンピュート、メッセージング、データキャッシング、同期、機械学習推論の機能をエッジデバイスに提供します。
Comprehend
カスタムエンティティ認識
カスタムエンティティ認識 - Amazon Comprehend
カスタムエンティティレコグナイザーは、あらかじめ設定された汎用エンティティタイプ にはない特定の新しいエンティティタイプを識別できるようにすることで、Amazon Comprehend の機能を拡張します。つまり、ドキュメントを分析し、製品コードやビジネス固有のエンティティなど、特定のニーズに合ったエンティティを抽出できます。
Textract
Amazon Augmented AI の統合
Amazon Augmented AI を使用して Amazon Textract 出力にヒューマンレビューを追加する - Amazon Textract
Amazon Textract は Amazon A2I と統合されています。これを使用して、信頼スコアが低い文書分析結果を人間のレビュー担当者にルーティングできます。
Augmented AI
Augmented AI とは
Amazon Augmented AI (Amazon A2I) は、人による ML 予測のレビューに必要なワークフローを簡単に構築するサービスです。
AWS DeepLens
DeepLens とは
AWS DeepLens ディープラーニングと新しいビデオカメラによるハンズオン | Amazon Web Services ブログ
AWS DeepLensは最先端のハードウェアと洗練されたソフトウェアをあわせもち、あなたはAWS Greengrass、AWS Lambda、そしてそのほかのAWS AIやアプリ上のインフラを活用できます。
Forecast
Forecast とは
Amazon Forecast とは - Amazon Forecast
Amazon Forecast は、統計アルゴリズムと機械学習アルゴリズムを使用して、非常に正確な時系列予測を実現するフルマネージドサービスです。Forecast は、Amazon.com で時系列予測に使用されるのと同じテクノロジーに基づいて、履歴データに基づいて将来の時系列データを予測するための state-of-the-art アルゴリズムを提供し、機械学習の経験を必要としません。
サポートするファイル形式
Forecast のデータセットのガイドライン - Amazon Forecast
Forecast は、カンマ区切り値 (CSV) ファイル形式と Parquet 形式のみをサポートします。
CreatePredictor
CreatePredictor - Amazon Forecast
Amazon Forecast 予測子を作成します。
PerformAutoML
AutoML を実行するかどうか。Amazon Forecast が AutoML を実行すると、提供するアルゴリズムが評価され、トレーニングデータセットに最適なアルゴリズムと設定が選択されます。デフォルト値は false です。この場合、アルゴリズムを指定する必要があります。
Amazon Forecast が AutoML を実行するように PerformAutoML を true に設定します。これは、トレーニングデータに適したアルゴリズムがわからない場合に適したオプションです。この場合、PerformHPO は false である必要があります。
Glue
Glue トリガー
起動されると、トリガーは指定されたジョブとクローラを開始できます。トリガーは、オンデマンドで、スケジュールに基づいて、またはイベントの組み合わせに基づいて起動します。
Glue DataBrew
AWS Glue DataBrew - AWS 規範ガイダンス
AWS Glue DataBrew は、データのクリーニング、正規化、変換のためのフルマネージド型のビジュアルデータ準備サービスです。ETL とは異なり、操作する記述コードがないという点で AWS Glue ETL とは異なります。 DataBrew には、データ変換ジョブを作成および管理するためのビジュアル point-and-click インターフェイスを備えた 250 を超える組み込み変換が用意されています。
EMR
Kinesis との連携
Amazon EMRクラスターは、Hive、Pig、Hadoop Streaming、APIカスケードなどの Hadoop エコシステムの使い慣れたツールを使用して、Amazon Kinesis MapReduceストリームを直接読み取って処理できます。
Data Pipeline との連携
Automate recurring Amazon EMR clusters with AWS Data Pipeline - Amazon EMR
AWS Data Pipeline は、データの移動と変換を自動化するサービスです。これを使用して入力データの Amazon S3 への移動をスケジュールし、クラスターを起動してそのデータを処理するようにスケジュールできます。
スポットインスタンス利用
マスターノード: クラスターを短時間しか利用できず、実行にコストがかかる場合を除いては、スポットインスタンスでマスターノードを実行してはいけません。
コアノード: クラスターのジョブが HDFS を使用している場合は、コアノードにスポットインスタンスを使用してはいけません。
タスクノード: ハードウェア要件に一致するインスタンスタイプを最大 5 つ選択して、コアノードにスポットインスタンスを使用します。
Fargate
Fargate は GPU 未サポート
AWS Fargate を使用してコンピューティング管理を簡素化する - Amazon EKS
GPU は現在、Fargate では使用できません。
Redshift
Redshift Spectrum
Amazon Redshift Spectrum - Amazon Redshift
Amazon Redshift Spectrum を使用すると、効率的にクエリを実行し、Amazon Redshift テーブルにデータをロードすることなく、Amazon S3 のファイルから構造化および半構造化されたデータを取得できます。
今回はここまで
メモ 2 へ続きます。
Discussion