☁️くもをもくもくまなぶ

クラウドコンピューティングサービスの学んだことを中心につらつらと書いています

人を笑わせるAIをつくってみる AWS Summit 直前Special 電笑戦のモデルをつくる

AWS エバンジェリストシリーズ AWSの基礎を学ぼう

前提で必要になりそうだと思った知識

GAN

GAN:敵対的生成ネットワークとは何か ~「教師なし学習」による画像生成

Seq2Seq

Sequence To Sequence( Seq2Seq )

Long short-term memory

Long short-term memory

RNN

第6回 RNN(Recurrent Neural Network)の概要を理解しよう(TensorFlow編)

CNN

定番のConvolutional Neural Networkをゼロから理解する

vgg16

VGG-16 畳み込みニューラル ネットワーク

resnet50

ResNet-50 畳み込みニューラル ネットワーク

AWS Web Servicesの機械学習サービス(Sagemakerのみ抜粋)

https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html#whatis-features

SageMaker Studio

モデルの構築、学習、デプロイ、分析をすべて同じアプリケーションで行うことができる統合的な機械学習環境を提供する

SageMaker Canvas

コーディング経験のない人でもモデルを構築し、それを使って予測することができる自動MLサービス

SageMaker Ground Truth Plus

ラベリングアプリケーションの構築やラベリング作業者の管理を自前で行うことなく、高品質のトレーニングデータセットを作成するためのターンキーデータラベリング機能

SageMaker Training Compiler

SageMakerで管理されたスケーラブルなGPUインスタンスでディープラーニングモデルを高速にトレーニング

SageMaker Studio Universal Notebook

SageMaker Studioから直接、シングルアカウントおよびクロスアカウント構成のAmazon EMRクラスタを簡単に検出、接続、作成、終了、管理する

SageMaker Serverless Endpoints

MLモデルをホスティングするためのサーバーレスエンドポイント。容量は自動拡張、エンドポイント側でインスタンスタイプの選択、スケーリングポリシーの管理が不要

SageMaker Inference Recommender

利用者のMLモデルやワークロードを使用するための推論インスタンスタイプや構成(インスタンス数、コンテナパラメータ、モデルの最適化など)の推奨を得る

SageMaker Model Registry

機械学習モデルのデプロイメントのためのバージョン管理、アーティファクトとリネージのトラッキング、承認ワークフロー、およびクロスアカウントサポート

SageMaker Projects

SageMakerのプロジェクトを使って、CI/CDでエンドツーエンドのMLソリューションを作成する

SageMaker Model Building Pipelines

SageMakerのジョブと直接統合された機械学習パイプラインの作成と管理する

SageMaker ML Lineage Tracking

機械学習の系統(Lineage)を追跡する

SageMaker Data Wrangler

SageMaker Studioでデータのインポート、分析、準備、フィーチャリングを行う

SageMaker Feature Store

機能と関連するメタデータを一元的に保存するため、機能の発見と再利用ができる。
オンラインストアは低レイテンシー、リアルタイム推論のユースケースに使用でき、オフラインストアはトレーニングやバッチ推論に使用することができる

SageMaker Clarify

潜在的なバイアスを検出することで機械学習モデルを改善し、モデルが行う予測の説明を支援する

SageMaker Edge Manager

エッジデバイスのカスタムモデルの最適化、フリートの作成と管理、効率的なランタイムによるモデルの実行が可能になる

SageMaker Ground Truth

機械学習とともに作業者を用いてラベル付きデータセットを作成することで、高品質な学習データセットを提供する

Amazon Augmented AI(Amazon A2I)

ML 予測のヒューマンレビューに必要なワークフローを構築する

SageMaker Studio Notebooks

AWSシングルサインオン(AWS SSO)連携、高速起動、シングルクリック共有などを実現した次世代SageMakerノートブック

SageMaker Experiments

実験の管理および追跡

SageMaker Debugger

学習プロセス全体を通して、学習パラメータとデータを検査する

SageMaker Autopilot

機械学習の知識がないユーザーでも、分類や回帰のモデルを素早く構築する

SageMaker Model Monitor

Production環境のモデル(エンドポイント)を監視・分析し、データドリフトやモデル品質の逸脱を検出する

SageMaker Neo

機械学習モデルを一度学習させれば、クラウドやエッジのどこにいても実行できる

SageMaker Elastic Inference

リアルタイム推論を得るためのスループットを高速化し、レイテンシーを低減する

Reinforcement Learning

エージェントがその行動の結果として受け取る長期的な報酬を最大化する

Preprocessing

データの解析と前処理、フィーチャーエンジニアリングへの取り組み、そしてモデルの評価する

Batch Transform

データセットを前処理し、永続的なエンドポイントが不要な場合は推論を実行し、入力レコードと推論を関連付けて結果の解釈を支援する

SageMaker Studio Lab

オープンソースのJupyterLabをベースにした環境で、AWSの計算資源を利用できる無料サービス

SageMaker JumpStart

精選された1クリックソリューション、ノートブックの例、デプロイ可能な事前学習済みモデルを通じて、SageMakerの機能と性能を学ぶことができる。

座学パート

ボケて

https://bokete.jp/

ハンズオンパート

  • https://github.com/aws-samples/bokete-denshosen
    (もしこのブログを見て実施される方で、GitHubアカウントをお持ちの方は上記のリポジトリからForkしてください)
    • 実施環境(Region)はN.Virginia, Oregon, Ohio, TokyoなどSageMakerが利用可能な環境であればどこでも
自分が作成したモデルで作成したボケて

{{< tweet user="midnight480" id="1527897050750529537" >}}

ハンズオン実施内容

{{< message_box color="warning" >}}
当日は、AWS SA針原さんを始め、AWSのエンジニアの方々のサポートがあったためできました。
また上記のGitHub リポジトリには2022年5月26日現在手順がありませんが、今後追加される可能性があります。
{{< /message_box >}}

Image in a image block
  • おわり
    • 作成したリソースを残しつつ、モデルを削除したくない場合は predictor.delete_endpoint() をSageMaker上で実施
      • 再度起動するときに、Deploy Modelからやり直せばOK.
    • Processing, Trainingは放置しても自動で削除
    • NotebookはインスタンスをStoppedになってDelete.
    • Inference > Models と S3 にある学習データ、CloudWatch logs に作成されるロググループの削除も忘れずに.

注意事項

SageMakerのクォータはAWSサポートに確認が必要
  • AWSコンソールでは上限緩和(VPCの数など)を確認が可能ですが、SageMakerは確認ができません
    • 自分が今回4つ申請したSageMakerの上限緩和申請のうち、一つは既に適用済みとのことで...AWSサポートさまにはお手数おかけしましたm(_ _)m

{{< tweet user="midnight480" id="1527909594416447494" >}}

Tips

Jupyter Notebookの冗長になる出力を短縮
  • 何もしなければ出力がつらつらと長くなります
Image in a image block
  • 左側のバーを選択することで出力が短縮されます
Image in a image block
Python3.6のライブラリ警告
  • 途中で実行すると赤く表示されるので驚きました
    • Python3.6で利用されるAWS boto3ライブラリは2022年5月30日までのサポートとなるので警告が表示されます
Image in a image block
  • ただし実行したS3へのオブジェクトコピー処理は以下のように成功しているので問題ありません
Image in a image block

まとめ

今回、SageMakerをちゃんと触ることになって、今まで自分があまり触れてこなかったサービスですので非常に参考になりました。
また、SageMaker=機械学習サービスというざっくりとしたイメージしか持っていないままイベントに参加はまずいと思って、
事前にどのような機能があるのかAWS Docsを見た上でイベントに臨んだので、少しは説明されている内容に付いていくことができました。

機械学習は中身を知らなくても利用できるようになってきたとは思いますが、
そこはエンジニアなので、やはり基礎を抑えるためにも改めて数式と戦ってみようと思いました。

このようなテンプレートを公開して個人でできるようになっているのはすごいなと改めて思いました。

当日のTweet Chain