【セッションレポート】機械学習の技術的負債を SageMaker Studio で解消 #AWSSummit

2023.04.21

はじめに

AWS Summit Tokyo に参加しました!

2日目 AWS-30 「機械学習の技術的負債を SageMaker Studio で解消」のセッションレポートを投稿いたします。

セッション視聴

AWS Summit Tokyoの登録を行うことでオンデマンドで視聴可能です。(現地参加された方は改めての登録は不要です。)

登録済みの場合、以下から直接遷移できます。

https://jpsummit.awsevents.com/public/session/view/549

セッション概要

機械学習プロジェクトでは、コーディング作業以外にも対応すべき作業が数多く存在します。 例えば、データの前処理や特徴量抽出から、高スペックな開発環境の運用やデプロイ後の性能監視等々が挙げられます。これらは開発者に技術的負債となって 伸し掛かり、プロジェクトの進捗や難易度に負の影響を齎すことが考えられます。 今回ご紹介する Amazon SageMaker Studioは、このような技術的負債となる作業を省力化する機能が多々備わっております。本セッションでは、ユースケースを交えながらAmazon SageMaker Studio の機能を紹介します。

本セッションについて

対象者

  • 機械学習プロジェクトに関わる方

持ち帰って頂きたいこと

  • 機械学習プロジェクトには特有の技術負債があり、対策が必要
  • Amazon SageMaker が機械学習の様々なフェーズをサポートしてくれること
  • Amazon SageMaker Studio は、技術負債を解消するツール

アジェンダ

  • 機械学習における技術負債とは
  • なぜ技術的負債の解消に Amazon SageMaker Studioが有効か
  • 機械学習プロジェクトのよくある悩み事からみるAmazon SageMaker Studioのユースケース

セッションレポート

機械学習における技術負債とは

  • 50%を超える企業が機械学習を活用
  • 2017年に比べ2022年は、利用が2.5倍
  • 機械学習開発に求める要件は多岐にわたる
    • ハードウェア
    • スケーリング
    • データ
    • セキュリティ
    • オーケストレーション
    • コスト
    • 自動化
  • 機械学習プロジェクトのワークフロー
    1. ビジネスゴールの特定
    2. 機械学習の課題設定
    3. データの収集
    4. データの前処理
    5. 特徴量エンジニアリング
    6. 学習チューニング
    7. デプロイ
    8. 監視
  • ソフトウェア開発における技術的負債とは
    • 可読性の低いコード
    • 不十分なテストケース
    • ドキュメントの欠如
      • 障害リスクの増大、プロジェクト遅延、コスト増加、品質の低下
  • 機械学習は、コード以外に多くの周辺システムが必要
  • 機械学習特有の技術的負債とは
    • ハードウェアや環境準備に時間を要する
      • 要員追加のリードタイム
    • データが低品質
      • モデル精度の低下
    • 実験、記録されていない実験
      • 再現実験のリードタイム増
    • デプロイ、データ変更の影響範囲が不明
      • システム障害リスク増
    • モニタリング、運用事項の考慮不足
      • モデル精度劣化
  • 機械学習の技術的負債を生み出さないための機械学習例
    • ML Code
      • GUIによる前処理実装
      • モデル学習の自動化
      • 既存モデルの利用
    • ハードウェア、環境
      • 並列実験できるリソース
    • モニタリング
      • モデル精度の追跡
    • デプロイ
      • 承認フロー
      • CI/CDの実現
    • データ
      • バイアスの検出
      • 特徴量共有
    • 実験
      • 実験の記録
  • 上記は、Amazon SageMaker Studioで解決できる!

なぜ技術的負債の解消に Amazon SageMaker Studioが有効か

  • Amazon SageMaker
    • データ準備からモデルの構築、トレーニング、デプロイまで、あらゆるユースケースに対応
    • 機械学習システム全体で機能を提供
  • Amazon SageMaker Studio
    • Web上で利用できる統合開発環境
    • 使いやすいサービス

機械学習プロジェクトのよくある悩み事からみるAmazon SageMaker Studioのユースケース

  • データ分析の前処理
    • Amazon SageMaker Data Wrangler で、GUIによる前処理実装
      • データをインポートするだけで、様々な機能が活用できる
        • データインサイト
        • 特徴量エンジニアリング
        • エクスポートして連携
  • モデル作り
    • Amazon SageMaker Autopilot で、モデル学習の自動化
      • 知識がなくても、最適なモデルを自動生成できる
        • 数クリックでAutoMLを実現
        • モデル性能、精度を一覧化
        • ワンクリックでデプロイ
    • Amazon SageMaker JumpStart で、既存モデルの利用可能
      • 350以上のモデルを利用
      • 簡単にデプロイ
      • ファインチューニングが可能
  • 注目を集める大規模モデル
    • 2022年に進化しているモデル。例:Stable Diffusion
  • アルゴリズムの飛躍的な進化
    • 大規模モデルのパラメータ数は、1600倍以上に増加
  • Amazon SageMaker JumpStartは、提供するモデルやソリューション
    • 色々と既存のモデルを試してみることができる
  • モデルをカスタマーレビューしたい
    • Amazon SageMaker Studio Notebooks で、並列実験できる
    • デモ
      1. Notebookの新規作成
      2. イメージの選択
      3. カーネルの選択
      4. インスタンスタイプの選択
      5. 起動
      6. 起動確認
  • Amazon SageMaker Studio Lab
    • メールアドレスのみで、無料で利用できる

感想

  • 本セッションは、機械学習では技術的負債となる多くの作業があるが、SageMaker Studio を利用することで、技術的負債を解消することができることを学ぶことができました。
    • 特に、データ分析の前処理する場合や、モデル作りをする場合、利用するべき適切なSageMaker サービスを理解することができました。
  • SageMaker Immersion Dayというワークショップが一般公開されており、SageMakerを触ってみるのに良いコンテンツのため、取り組んでみたいと思いました。
  • SageMaker Studioは無料で利用できるため、初学者でも抵抗なく利用することができるため、どんどん触ってみるべきです。