0.9K Views
December 23, 24
スライド概要
自動運転AI開発を加速させるCo-MLOps MEETUP発表資料を公開しました!
アーカイブ映像はこちら
https://www.youtube.com/live/JpPbhA4wpgQ?si=eeVv7i0SdPDLaFJG
3. Co-MLOpsの大規模データの共有と活用を支えるクラウドアーキテクチャ
発表概要
本発表では、Co-MLOpsプラットフォームがどのように大規模なデータの共有と活用を支えるのか、そのクラウドアーキテクチャについて紹介します。まず、データの収集から処理までの全体的な流れを解説し、次に、AWSを基盤としたクラウドアーキテクチャに焦点を当て、スケーラビリティやデータガバナンスを支える技術を詳述します。さらに、生成AI技術を活用したキャプション生成などの事例も紹介します。
講演者: 東 浩稔(ティアフォー)
株式会社ティアフォーでクラウドエンジニアとしてFuture Solutionチームに所属。過去には、大手証券系列のシステムインテグレーターにてオンライントレードシステムのテックリードやプロジェクトマネジメントを担当し、大手インターネットサービス企業では数十PB規模のビッグデータに関わるデータエンジニアリング、アーキテクト、データディレクターを歴任。また、アマゾンウェブサービスジャパン合同会社ではビッグデータコンサルタントとして大手企業向けのデリバリーに従事し、株式会社カケハシではデータプロダクトマネージャーとしてデータプロダクトの設計やデータガバナンスを担当。2024年8月に株式会社ティアフォーに入社し、現在はCo-MLOps Platformのクラウド開発をリードしている。専門はビッグデータの並列分散処理やデータガバナンスなど。
Co-MLOps プラットフォームのクラウドアーキテクチャと 大規模データマネジメント 株式会社ティアフォー 東 浩稔
Speaker 経歴: 製造業 大手証券会社系列の SIer ● 個人投資家向けトレードシステムの Webエンジニア、プロジェクトマネージャー ヤフー株式会社(現 LINEヤフー株式会社) ● ● ● 東 浩稔 (Hirotoshi Azuma) Co-MLOps クラウドエンジニア 広告事業 エンジニアリングマネージャー、データディレクター データエンジニアリング、アーキテクチャの設計、データ基盤の企画等 アマゾンウェブサービスジャパン合同会社 ● ● ビッグデータコンサルタント データ活用構想策定、パフォーマンスチューニング、要員育成等 株式会社カケハシ ● ● ● 医療系スタートアップ データプロダクトマネージャー、エンジニアリングマネージャー データ利用規約の策定、プロダクトの企画、アーキテクチャの設計等 2024年8月 ティアフォー Future Solutionチーム
アジェンダ 01 / はじめに Co-MLOps の概要 Co-MLOps プラットフォームのクラ ウドアーキテクチャと大規模マネー ジメント 02 / Co-MLOpsを支えるクラウドアーキテクチャ 03 / スケーラビリティと効率化の取り組み 04 / VLMを活用した事例 05 / まとめ 3
はじめに Co-MLOpsの概要 01
Co-MLOpsが提供する3つの機能 ● Data Recording System(DRS) ○ Camera、LiDARを搭載したデータ収集システムを提供 ● データマネジメント・MLOps基盤 ○ クラウド上に蓄積された走行データを効率的に活用するためのプラットフォームを提供 ● リファレンスAIモデル ○ 自動運転開発向けのAIモデルをリファレンスとして提供
Co-MLOpsが提供する3つの機能 本発表の対象 ● Data Recording System(DRS) ○ Camera、LiDARを搭載したデータ収集システムを提供 ● データマネジメント・ MLOps基盤 ○ クラウド上に蓄積された走行データを効率的に活用するためのプラットフォームを提供 ● リファレンスAIモデル ○ 自動運転開発用のAIモデルをリファレンスとして提供
データマネジメント・MLOps基盤で扱うデータの特徴 自動運転 AI開発において、学習に使用するデータセットの品質と、その規模および多様 性は重要 ● 高品質 欠損、ノイズの少なさ、一貫性のある構造 プライバシーに配慮された匿名化済みのデータセット ○ ○ ● 大規模 数PB級のデータサイズ 数十万枚のアノテーション済みのデータセット ○ ○ ● 多様 ○ 異なる地理条件、天候、時間帯、そして稀なケース(エッジケース)
データマネジメント・MLOps基盤の概要 データマネジメント・ MLOps基盤 データ提供者 データ利用者 本発表の対象 Upload Center センサー付 車両 アップローダー Cloud データ パイプライン データ セット 検索 サンプリング等 Co-MLOps 利用者 Annotation Partner オペレーター
Co-MLOps Console機能のご紹介 データマネジメント・ MLOps基盤 データ提供者 Upload Center センサー付 車両 アップローダー データ利用者 Cloud データ パイプライン データ セット 検索 サンプリング等 Co-MLOps 利用者 Annotation Partner オペレーター
Co-MLOps Console / データ検索画面 走行シーンの特徴をもとに、キーワード検索やタグフィルターで効率的にデータを探索する
Co-MLOps Console / データセット詳細画面 検索画面でカードをクリックすると、データセットの詳細情報を確認できる データセットのメタ 情報 Camera映像やLiDAR点群の 鳥瞰図映像などの再生 シーンごとのタグ シーンごとの説明文
Co-MLOps Console / 可視化画面 検索条件に応じて、データセットを視覚的に確認できる Day of the week、Time Recording Location Velocity Tags
Co-MLOps Console / サンプリング画面 絞り込んだデータセットから、効率的にデータを抽出するためのサンプリングを実施する サンプル数の指定 サンプリング方法の 指定
Co-MLOpsを支えるクラウドアーキテクチャ 02
【再掲】データマネジメント・MLOps基盤 データマネジメント・ MLOps基盤 データ提供者 Upload Center センサー付 車両 アップローダー データ利用者 Cloud データ パイプライン データ セット 検索 サンプリング等 Co-MLOps 利用者 Annotation Partner ドライバー
論理アーキテクチャ Cloud Sampling Pre-process / Converter Sample Result アプリ Sampling Raw Validator Anonymizer File Merge Dataset CLI Video Generator 凡例 Video Generator Video ストア Dataset Search Analysis パイプラ イン Thumbnail Extractor バック エンド Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Dataset Search Index Updater Asset Co-MLOps 利用者
物理アーキテクチャ Cloud Pre-process / Converter アプリ Sampling CLI Raw Contents Sampling Validator Anonymizer Sample Result Sampling File Merge Dataset Meta Video Generator Co-MLOps 利用者 Video Generator Video Analysis Dataset Search Thumbnail Extractor Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Assets Dataset Search
物理アーキテクチャ / データパイプライン Cloud Pre-process / Converter アプリ Sampling CLI Raw Contents Sampling Validator Anonymizer Sample Result Sampling File Merge Dataset Meta Video Generator Co-MLOps 利用者 Video Generator Video Analysis Dataset Search Thumbnail Extractor Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Assets Dataset Search
データパイプライン / Pre-process、Converter Cloud Pre-process / Converter アプリ Sampling CLI Raw Contents Sampling Validator Anonymizer Sample Result Sampling File Merge Dataset Meta Video Generator Co-MLOps 利用者 Video Generator Video Analysis Dataset Search Thumbnail Extractor Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Assets Dataset Search
Pre-Process / Converter アップロードされたデータセットの品質を確保するための検証、利用可能な形式への変換プロセス ● Validator ○ ○ アップロードされたデータを直ちに検証し、エラーや不備をチェックすることで、データセットの品質向上を図る 検証の例(一部) ■ ■ ■ ■ ● Anonymizer ○ ● 想定しているセンサーがすべて揃っているか 数値が想定された範囲に収まっているか センサー信号が、想定したフレームレートで取得できているか CameraとLiDARの同期がとれているか 個人が特定される可能性を排除し、プライバシーが保護された状態で安全にデータを利用できる環境を提供す る File Merge ○ 複数のセンサーから出力されたデータを時間軸で揃え、一つのデータセットに統合する
データパイプライン / Video Generator Cloud Pre-process / Converter アプリ Sampling CLI Raw Contents Sampling Validator Anonymizer Sample Result Sampling File Merge Dataset Meta Video Generator Co-MLOps 利用者 Video Generator Video Analysis Dataset Search Thumbnail Extractor Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Assets Dataset Search
Video Generate データセットから複数の動画タイプを生成する ● 1つのデータセットを基に、以下の動画タイプを生成する ○ LiDAR点群なしの全周囲 ■ ○ LiDAR点群あり ■ ○ 周囲のカメラ映像に加えて、車載カメラ+ LiDAR点群データを重ね合わせた映像 LiDAR点群の鳥瞰 ■ ○ 周囲の状況を視覚的に把握できる映像 上空からの視点で点群データを俯瞰する映像 アノテーション重畳 ■ カメラ映像にアノテーションを重ね合わせた映像
データパイプライン / Analysis Cloud Pre-process / Converter アプリ Sampling CLI Raw Contents Sampling Validator Anonymizer Sample Result Sampling File Merge Dataset Meta Video Generator Co-MLOps 利用者 Video Generator Video Analysis Dataset Search Thumbnail Extractor Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Assets Dataset Search
Analysis データセットを分析し、必要な統計量を抽出するとともに、シーンの特徴を生成する ● Thumbnail Generator ○ ● Statistics Extractor ○ ● データセットから位置情報、車両の速度(平均・最高・最低など)、データセットの開始・終了時刻を 抽出し、データベースに登録する Scene Caption Generator ○ ● データセットからサムネイル用の画像を抽出する データセット全体に対して、一定間隔で VLMを使用して、説明文の生成およびタグ付けを行う Model Uncertainty Calculator ○ データセットから Uncertainty Score(不確実性スコア) ※1 を計算する ※1 :What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?, Alex Kendall, NIPS17
スケーラビリティと効率化の取り組み 03
【再掲】論理アーキテクチャ Cloud Sampling Pre-process / Converter Sample Result アプリ Sampling Raw Validator Anonymizer File Merge Dataset CLI Video Generator 凡例 Video Generator Video ストア Dataset Search Analysis Dataset Search バッチ Thumbnail Extractor バック エンド Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Asset Co-MLOps 利用者
【再掲】物理アーキテクチャ Cloud Pre-process / Converter アプリ Sampling CLI Raw Contents Sampling Validator Anonymizer Sample Result Sampling File Merge Dataset Meta Video Generator Co-MLOps 利用者 Video Generator Video Analysis Dataset Search Thumbnail Extractor Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Assets Dataset Search
アーキテクチャの設計方針 以下の3つの方針を基に設計を行っている ● 運用効率 ○ ○ ● スケーラビリティ ○ ○ ● インフラ管理の負担を軽減 し、開発に専念できる環境を提供する(人的リソースの効率化) サーバーレス技術(LambdaやDynamoDBなど)やマネージドサービスを活用することで、高可用性とスケーラビリ ティを維持しながら、柔軟なシステム設計を実現している トラフィックの増加に耐えられるように、動的なリソース拡張を可能とする設計を採用 特に、トラフィックピーク時でも高いパフォーマンスを維持できるよう、水平スケーリング(スケールアウト)を重視 して いる リソース効率 ● ● ● ● 大規模データの処理を考慮し、リソース使用を最適化することでコストを削減 する スポットインスタンスを活用 し、リソースのコスト効率を最適化する。 LambdaのApplication Autoscalingを活用し、負荷に応じた動的なリソース割り当てを行い、高いパフォーマンスを 維持しつつコストを削減する データ圧縮や適切なライフサイクルポリシー を適用することで、ストレージ使用量を効率的に削減する
アーキテクチャの設計方針 以下の3つの方針を基に設計を行っている ● 運用効率 ○ ○ ● スケーラビリティ ○ ○ ● インフラ管理の負担を軽減 し、開発に専念できる環境を提供する(人的リソースの効率化) サーバーレス技術(LambdaやDynamoDBなど)やマネージドサービスを活用することで、高可用性とスケーラビリ ティを維持しながら、柔軟なシステム設計を実現している トラフィックの増加に耐えられるように、動的なリソース拡張を可能とする設計を採用 特に、トラフィックピーク時でも高いパフォーマンスを維持できるよう、水平スケーリング(スケールアウト)を重視 して いる リソース効率 ● ● ● ● 大規模データの処理を考慮し、リソース使用を最適化することでコストを削減 する スポットインスタンスを活用 し、リソースのコスト効率を最適化する。 LambdaのApplication Autoscalingを活用し、負荷に応じた動的なリソース割り当てを行い、高いパフォーマンスを 維持しつつコストを削減する データ圧縮や適切なライフサイクルポリシー を適用することで、ストレージ使用量を効率的に削減する
運用効率化の取り組み:サーバーレス+マネージドサービス データパイプライン ETL Source Destination オーケストレーターとワークフロー AWS Step Functions Amazon Simple Storage Service (Amazon S3) 起動 Amazon Simple Storage Service (Amazon S3) 実行エンジン AWS Lambda Amazon DynamoDB AWS Batch Amazon OpenSearch Service Serverless
運用効率化の取り組み:サーバーレス+マネージドサービス フロントエンド + バックエンド Datastore Backend Amazon Simple Storage Service (Amazon S3) Amazon DynamoDB Frontend Amazon CloudFront AWS Lambda Amazon API Gateway Amazon Simple Storage Service (Amazon S3) Amazon OpenSearch Service Serverless
アーキテクチャの設計方針 以下の3つの方針を基に設計を行っている ● 運用効率 ○ ○ ● スケーラビリティ ○ ○ ● インフラ管理の負担を軽減 し、開発に専念できる環境を提供する(人的リソースの効率化) サーバーレス技術(LambdaやDynamoDBなど)やマネージドサービスを活用することで、高可用性とスケーラビリ ティを維持しながら、柔軟なシステム設計を実現している トラフィックの増加に耐えられるように、動的なリソース拡張を可能とする設計を採用 特に、トラフィックピーク時でも高いパフォーマンスを維持できるよう、水平スケーリング(スケールアウト)を重視 して いる リソース効率 ● ● ● ● 大規模データの処理を考慮し、リソース使用を最適化することでコストを削減 する スポットインスタンスを活用 し、リソースのコスト効率を最適化する。 LambdaのApplication Autoscalingを活用し、負荷に応じた動的なリソース割り当てを行い、高いパフォーマンスを 維持しつつコストを削減する データ圧縮や適切なライフサイクルポリシー を適用することで、ストレージ使用量を効率的に削減する
スケーラビリティの取り組み:データパイプライン( 1/3) データパイプラインではイベント駆動型のデータ処理方式 を採用している ● クラウドへの入力データの特徴 ○ ○ ○ ○ 1日あたり数十 TBから数百 TB規模 走行終了後にクラウドにアップロードされる アップロードは、数GB単位の圧縮済みファイル 半構造、非構造 データが含まれる ターンアラウンドタイ ム※1 スケーラビリティ リソース効率 Glue、EMR等 あるタイミングでまと めて処理するため待 ちが発生しするため 高い まとめて処理するた め、ピーク時にはリ ソース不足のリスクが ある 一括処理でアイドル 時間が少ない ストリームでは、数 M〜数十MBが上限の ため、使用不可 Kinesis、MSK等 流れてきたら逐次処 理するため低い シャーディングなどで 分割可能 処理を継続的に行う ため、リソース消費が 大 今回の入力データの 特徴に対して、制限な し EventBridge、 DynamoDB等+ StepFunctions等 ファイル到着をトリ ガーに随時処理する ため低い ファイルごとにトリガ が発生。スケールア ウト可能 アップロード毎処理さ れるため効率的 処理方式 概要 制限事項 バッチ処理 データを一定期間に 区切りまとめて処理 する 今回の入力データの 特徴に対して、制限な し ストリーム 処理 連続的に発生する データを処理する イベント 駆動処理 ファイルの到着等を トリガーに処理する AWSサービスの例 ※1 ここでのターンアラウンドタイムは、待ち時間+処理時間を表しています
スケーラビリティの取り組み:データパイプライン( 2/3) S3にファイルが到着するたびに、 StepFunctionsを起動する。これにより、 1. 起動までの時間が短く、 2. スケーラビ リティ を実現している オブジェクト作成をトリガーにStep Functionsを起動 Raw EventBridge 順次アップロード される Pre-process / Converter validator Anonymizer Pre-Process/ Convert 2. スケーラビリティ ・ ・ ・ アップローダー Pre-Process/ Convert 1. 起動までの時間 File Merge Convert
スケーラビリティの取り組み:データパイプライン( 3/3) Video GeneratorとAnalysisも同様の仕組み。 DynamoDBトリガーとLambdaでStepFunctionsを起動している Pre-process / Converter File Merge Meta EventTrigger Analysis Video Generate
アーキテクチャの設計方針 以下の3つの方針を基に設計を行っている ● 運用効率 ○ ○ ● スケーラビリティ ○ ○ ● インフラ管理の負担を軽減 し、開発に専念できる環境を提供する(人的リソースの効率化) サーバーレス技術(LambdaやDynamoDBなど)やマネージドサービスを活用することで、高可用性とスケーラビリ ティを維持しながら、柔軟なシステム設計を実現している トラフィックの増加に耐えられるように、動的なリソース拡張を可能とする設計を採用 特に、トラフィックピーク時でも高いパフォーマンスを維持できるよう、水平スケーリング(スケールアウト)を重視 して いる リソース効率 ● ● ● ● 大規模データの処理を考慮し、リソース使用を最適化することでコストを削減 する スポットインスタンスを活用 し、リソースのコスト効率を最適化する。 LambdaのApplication Autoscalingを活用し、負荷に応じた動的なリソース割り当てを行い、高いパフォーマンスを 維持しつつコストを削減する データ圧縮や適切なライフサイクルポリシー を適用することで、ストレージ使用量を効率的に削減する
リソース効率化の取り組み①:スポットインスタンスの活用と安定稼働の実現 (1/3) Contents Cloud Sampling Pre-process / Converter アプリ Sampling CLI Raw Validator Anonymizer Sample Result Sampling File Merge Dataset Meta Video Generator Co-MLOps 利用者 Video Generator Video Analysis Dataset Search Thumbnail Extractor Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Assets Dataset Search
リソース効率化の取り組み①:スポットインスタンスの活用と安定稼働の実現 (2/3) コスト効率を高める取り組み ● ● ● 前述したように、データパイプラインはスケーラビリティを重視して設計している スケーラビリティだけでなく、コストも重要 AWS Batchでは、スポットインスタンスを活用 し、コストを抑える方針としている スポットインスタンスの特徴 ● ● EC2の空きキャパシティを活用して、最大90%の値引きが可能※1 スポットインスタンスでは、在庫の状況により中断の可能性 がある ※2 ○ 中断された場合、InsufficientInstanceCapaciyエラーが発生する ※1 Amazon EC2 スポットインスタンスから引用 ※2 中断頻度の目安は、スポットインスタンスアドバイザーで確認が可能
リソース効率化の取り組み①:スポットインスタンスの活用と安定稼働の実現 (3/3) スポットインスタンスの在庫不足による対応方針 方針 取り組み 説明 設計 インスタンスの配分戦略 ※1 AWS Batch はジョブのニーズに最も適したインスタンス タイプを、指定された インスタ ンスタイプから選択する 配分戦略は、AWS Batch が追加のキャパシティーを必 要とする場合の動作を定義する 複数のインスタンスタイプ インスタンスタイプを複数指定することで、配分戦略に 基づき、インスタンスが起動される 複数のインスタンスタイプを指定 バックオフ、ジッターを組み 合わせたリトライ ※2 エラーが発生した際、リトライにより再実行するが、単純 にリトライするだけでは、成功する確率は低い。このと き、Exponential backoffとJitterを組み合わせることで、 再び在庫不足となることを避ける Step Functionsで、Exponential Backoff+Jitterを組み合わせたリトライ処理を 実装※3 BEST_FIT_PROGRESSIVEを採用 実行時 エラー発生時 最初は安価なインスタンスタイプを選択し、インスタン スが不足した場合に、追加のインスタンスタイプを選 択する ※1 詳細は、AWS Batch のインスタンスタイプの配分戦略を参照 ※2 詳細は、ジッターを伴うタイムアウト、再試行、およびバックオフ を参照 ※3 AWS Batch でも実現可能と思われる(AWS Batch が設定可能なジョブの再試行のサポートを開始、ジョブ定義のデフォルト再試行戦略)
リソース効率化の取り組み②: Lambdaにおけるコールドスタート対策と Application Auto Scaling(1/3) Cloud Pre-process / Converter アプリ Sampling CLI Raw Contents Sampling Validator Anonymizer Sample Result Sampling File Merge Dataset Meta Video Generator Co-MLOps 利用者 Video Generator Video Analysis Dataset Search Thumbnail Extractor Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Assets Dataset Search
リソース効率化の取り組み②: Lambdaにおけるコールドスタート対策と Application Auto Scaling(2/3) Lambdaのコールドスタート ● Lambdaはリクエストを受け取る際に、実行環境を準備する。この準備段階を「コールドスタート」と呼び、この間はレ イテンシーが高くなる特徴がある。 Provisioned Concurrency ● レイテンシーを可能な限り抑えるソリューション。関数は初期化されたウォーム状態を維持し、コールドスタートを回 避する。 実行環境のライフサイクル ※ 図は、 Lambda実行環境から抜粋 Provisioned Concurrency
リソース効率化の取り組み②: Lambdaにおけるコールドスタート対策と Application Auto Scaling(3/3) ● ● AWS Lambdaを活用する際、パフォーマンスに影響を及ぼすコールドスタートの課題を解決するために、 Provisioned Concurrencyを導入 ただし、Provisioned Concurrencyを常時有効にするとコストが増大するため、 Application Auto Scalingを組み合わて、利用状況に応じた動的なスケーリングを実現し、コストを最適化する ※ 図は、Application Auto Scaling を使用してプロビジョニングされた同時実行数の管理を自動化す る から抜粋
VLMを活用した事例 04
VLMの利用箇所 カードや詳細画面に記載されている説明、検索のタグフィルターで使用している 検索画面のカード(説明文) データセット 詳細画面 検索のタグフィルター (99999) (99999) (99999) (99999) (99999) (99999) (99999) (99999) (99999) (99999) (99999) (99999)
データパイプライン / Scene Caption Generator Cloud Pre-process / Converter アプリ Sampling CLI Raw Contents Sampling Validator Anonymizer Sample Result Sampling File Merge Dataset Meta Video Generator Co-MLOps 利用者 Video Generator Video Dataset Search Analysis Dataset Search Thumbnail Extractor Statistics Extractor Scene Caption Generator Model Uncertainty Calculator Index Updater Assets
Scene Caption Generatorの処理概要 VLMを利用して説明文の生成とタグ付けを行う ● フロントカメラの画像を一定間隔で VLMに入力し、定義済みタグと説明文を生成し保存する。 ● 未定義タグが生成された場合は、新しいタグ候補として記録する(未定義タグ)。定義済みタグリストは不定 期にメンテナンスを実施する。 ※不定期にタグリ ストをメンテナンス する 定義済み タグリスト 未定義タグ 運用担当 ① 画像と定義済みの タグを渡す ④検索可能なよ うに登録 VLM ③書き込み ② 説明文、定義済タグ、 未定義タグを受け取る 定義済タグ Index Updater Scene Caption Generator 説明文 Search用 Index
まとめ 05
まとめ Co-MLOpsの特徴 ● ● Data Recording System(DRS)、データマネジメント・ MLOps基盤、リファレンスAIモデルの機能を提供する データマネジメント・MLOps基盤では、高品質・大規模・多様なデータを取り扱う スケーラビリティと効率化の取り組み ● 大規模データに対して、スケーラブルであること、安定稼働・コストを意識して設計している VLMの活用 ● VLMを活用することで、必要なデータセットを効率的に検索できるように、メタデータ(説明文、タグ付)を抽出している
CONTACT US https://tier4.jp/ Thanks Again !