MLOpsはSoftware2.0のためのDevOpsであり、顧客自身のデータから半自動で顧客体験を改善できるようにします。これまではMLOpsと既存のSoftware1.0のためのDevOpsは独立していましたが、組み合わせることでSoftware2.0の弱点である確率的な挙動を抑制しより安定したサービスを開発することが可能です。
DevOpsと並走するこれからのMLOpsを構築するための問題点と解決策を提示し、AWSがどのようにMLOpsの構築を支援できるのかをご説明します。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Amazon Web Services JapanMachine Learning Developer RelationTakahiro KuboMLOpsのこれまでとこれからFrom Isolated to connected
View Slide
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.本日お話しする内容2⚫ プロダクト開発の観点から、MLOpsの現状と今後の発展の方向を分析します。⚫ これからのMLOpsを構築するための問題と、解決策についてお話しします。⚫ AWSがどのようにMLOpsの構築を支援できるのかをご説明します。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.本日お話ししない内容3⚫ MLOpsの実装方法⚫ MLOps関連ライブラリの評価
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates.Takahiro Kubo / 久保 隆宏 ([email protected])DevRel Engineer, Machine LearningCareer1. SAPコンサルタント(10年) + kintone エヴァンジェリスト業務要件定義から開発、運用保守まで一貫した導入支援を実施。SaaS連携による効率的な業務アプリケーションの開発を模索している時にkintoneと出会い、エヴァンジェリストとして活動。2. 機械学習エンジニア (5年)自然言語処理の研究に従事。対話アプリケーションのプロトタイプ作成、自然言語処理による企業の非財務情報評価に取り組む。研究部署在籍中、「Pythonで学ぶ強化学習」「直感 Deep Learning」などを執筆。arXivTimesやNLP若手の会といったコミュニティ活動にも参加。3. プロダクトマネージャー(2年)プロダクトマネージャーとして非財務情報参照・点検サービスの開発に携わる。研究開発をプロダクト化する険しい道を泥まみれで進む経験をする。非財務開示に携わる方、評価する方双方が使えるサービスです!4. Developer Relation (0年~) + お父さん0年生機械学習を活用したプロダクトの開発を学び普及させるためにAWSへ。Product Manager for Software 2.0 を目指す。Cybozu Days 2016
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates.Takahiro Kubo / 久保 隆宏 ([email protected])DevRel Engineer, Machine Learning入門機械学習パイプライン翻訳のレビューと付録の執筆をしています。TensorFlow Extendedを利用し実際に機械学習パイプランを構築し、さらにApache Beam/Apache Airflow/Kubeflow Pipelinesで実行するまでをコード付きで解説しています。MLOpsの実装方法が知りたい方はぜひ手に取っていただければと思います。フィードバックループや差分プライバシーなど先進的な話題も扱っており、英語版が出たときからすばらしいと感じていた書籍です。付録ではUber/Twitter/Spotify/Airbnb/Netflixなど機械学習先進企業の事例とそこから学べる構築のポイントをまとめています。個人的にはAirflow/AWS StepFunctionsでパイプラインを組んでいました。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Agenda61. MLOpsの位置づけ2. MLOpsを構築する際の問題点3. 解決策4. AWSからのMLOps構築支援5. おわりに
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.MLOpsとは何か?7
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.MLOpsとは何か。Software 2.0のためのDevOpsである。8入出力データから帰納的に実装されたソフトウェアをSoftware 2.0と呼ぶ。• Stanford大学のAndrej Karpathy先生が提唱された。狭義にはニューラルネットワークで実装された機械学習モデルを指す。プログラミング言語で実装するソフトウェアをSoftware 1.0とすると、Software2.0には4つメリットがある。1. 簡単: プログラミング言語を習得せずともソフトウェアを実装できる。2. 速い: 行列演算で処理が構成されるため、GPUによる高速化が可能。3. 高精度: 画像認識や音声認識など一部領域ではSoftware1.0を上回る。4. 可搬性: 実装が画一的でソフトウェア配置のポータビリティが高い。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Software 2.0の開発には課題がある。9ConfigurationData CollectionData VerificationMachineResourceManagementServingInfrastructureMLCodeAnalysis ToolProcessManagement ToolsFeatureExtractionMonitoring“Only a small fraction of real-world ML systems is composed of the ML code”source: Hidden Technical Debt in Machine Learning Systems [D. Sculley, & al.] – 2015https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Software 2.0の開発には3つ課題がある。101. Wideデータの取得、前処理、学習など幅広な処理を繋ぎ合わせ実装するため、統合的なプロセス管理やバージョン管理が必要。2. Large開発環境に要求されるリソースが大きいため新しい環境構成が必要。3. Probabilistic確率的な挙動をするため新しい品質ガイドラインに基づくテストが必要。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Wideであるものは分解し、個別の問題に対応したライブラリを連携させることで解決が図られている(=MLOps)。11Analyze Prepare Preprocess Test Release Deploy Operate MonitorTrain個別のライブラリライブラリの連携LIMEMLOps
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Largeである問題はGPUをはじめとしたハードウェアの進化により解決が図られている。12“A DECADE OF ACCELERATED COMPUTING AUGURS WELL FOR GPUS”より引用AWSの機械学習専用チップ、自然言語処理で学習時間を50%削減するコンパイラについては「サービスアップデート 機械学習編:AmazonSageMaker と機械学習向けハードウェアによる機械学習の効率化」を参照。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Software 1.0Software 1.0Probabilisticな特性は、1.0を組み合わせることで解決が図られている。13Software 2.0入力 出力Service機械学習で実装されるSoftware2.0は、挙動が100%予測可能ではない。将棋を打つSoftware2.0はルール上禁止されている手を打つ可能性がある。Software1.0を組み合わせることで、 Software2.0のメリットを享受しつつ不完全な点を補うことができる。例えば、想定していないデータを事前に検知し例外として処理する、禁止されている挙動を事後的に修正するといった対応ができる。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Software2.0を扱う価値は何か?14
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.顧客自身のデータから半自動で顧客体験を改善すること。15CustomerExperienceTrafficDataData DrivenDecisionGrowthSoftware1.0delivered byDevOpsSoftware2.0delivered byMLOps
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Dataが増えるほどSoftwareが高精度になり、高精度になるほどCustomer Experienceが改善される。16Uber Eats機械学習を用いて配達時間を予測。配達時間が正確になるほど顧客体験が改善され、顧客体験が改善されるほど利用者が増えてよりデータが集まり正確になる。Spotify機械学習を用いて新しい音楽と出会うDiscover Weeklyなどの機能を実装。本番の機械学習ワークロードの約5倍の実験を行うことで新しい機能の開発を行っている(Software 1.0では困難な開発スピード)。画像引用: Meet Michelangelo:Uber’s Machine LearningPlatform画像引用: The Winding Road toBetter Machine LearningInfrastructure Through TensorflowExtended and Kubeflow
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.AutoMLの進化が「半自動化」を加速している。17機械学習モデルを自動で構築するAutoMLの技術が進化し、データサイエンティストによるチューニングがなくとも高い精度のモデルが構築できるようになってきている。画像分類で現在上位の分類性能を記録しているモデルは、AutoML技術により構築されたモデル(Efficient Netなど)。自然言語処理の分野では、大規模なテキストで事前学習することで少ないデータしかないタスクでも高い精度が記録できることが確認されている(BERTなど)。OSSのAutoMLライブラリも開発され、手軽に利用できる。AutoGluonではOtto Group[2015年]とBNP Paribas[2016年]のKaggleコンペティションで、参加したデータサイエンティストの 99% よりも高い精度を記録(論文)。(開発者インタビューの記事があるので興味がある方はぜひ)
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.BusinessUnderstanding最終的なプロダクト開発ではDevOpsとMLOpsが並走する。18Plan Code Build Test Release Deploy Operate MonitorCodeRepositoryArtifactSoftware1.0ServiceVerificationRawDataDataWarehouseCollectAnalyze PrepareDataRepositoryPreprocessFeatures ModelTest ReleaseVerificationSoftware2.0Deploy Operate MonitorTrainServiceRawDataDevOpsMLOps
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Agenda191. MLOpsの位置づけ2. MLOpsを構築する際の問題点3. 解決策4. AWSからのMLOps構築支援5. おわりに
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.DevOps・MLOpsの実装には多くのロールがかかわる。20Plan Code Build TestBusinessUnderstandingRelease Deploy Operate MonitorCodeRepositoryArtifactSoftware1.0ServiceVerificationRawDataDataWarehouseCollectAnalyze PrepareDataRepositoryPreprocessFeatures ModelTest ReleaseVerificationSoftware2.0Deploy Operate MonitorTrainServiceRawDataMLEngineer機械学習モデルを本番環境にデプロイ可能な形式に変換する。Model riskManagerSoftware2.0のサービスの挙動を監視する。MLOps Engineer 機械学習モデルの開発・運用プロセスを自動化する。AI/ML Architect Software2.0に必要なアーキテクチャ全体を設計する。Data architect データを管理する基盤を設計する。IT Auditor システム全体の権限管理や監査を行う。ソフトウェアの開発を行う。SoftwareEngineerProductManager実装すべきソフトウェア機能を定義する。Software1.0 に必要なソフトウェアアーキテクチャ全体を設計する。ArchitectDevOps Engineer ソフトウェアの開発・運用プロセスを自動化する。Operatorサービスを利用し業務を行う。SystemAdminSoftware1.0のサービスの挙動を監視する。BusinessAnalyst解決すべきビジネス上の問題を定義する。DataAnalystデータの可視化と分析で問題を定量的に特定する。MLOperator推論結果に基づき業務を行いつつ、推論結果にフィードバックを与える。ロールの名称はMLLensを参照DataScientist機械学習モデルを構築するDomainExpertあるべき挙動をデータを用いて定義する。評価尺度を定義する。DataEngineer機械学習モデルに入力可能なデータと特徴を作成する。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.機械学習担当のチームがアーキテクチャを把握できる範囲は限られている。21BusinessUnderstanding21Plan Code Build Test Release Deploy Operate MonitorCodeRepositoryArtifactSoftware1.0ServiceVerificationRawDataDataWarehouseCollectAnalyze PrepareDataRepositoryPreprocessFeatures ModelTest ReleaseVerificationSoftware2.0Deploy Operate MonitorTrainServiceRawData機械学習担当のチームが判断できるのは主に実験管理の領域
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 22不十分な情報でMLOpsを構築すると、Software2.0が損益分岐点を超えることを難しくする。固定費変動費売上/コスト削減効果損益分岐点MLOps運用費固定費・機械学習チームの人件費・常時稼働するインフラ費用(=MLOps)変動費・インスタンス使用料(従量課金を想定)構築したモデルの数MLOpsの導入は、モデルの数に応じて増える変動費の増加(いわゆる「技術的負債」)を自動化のインフラ(=固定資産)により抑制する活動といえる。売上/コスト削減効果や許容される固定費は機械学習担当のチームだけでは見積りが困難。この状態でMLOpsへ投資をすると、Software2.0が損益分岐点を超えることを難しくする。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Agenda231. MLOpsの位置づけ2. MLOpsを構築する際の問題点3. 解決策4. AWSからのMLOps構築支援5. おわりに
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.最初の一歩として、プロダクトマネージャーとアーキテクトにメッセージを送る。24原文をGistで公開していますのでコメントぜひよろしくお願いします。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.誰に送るか?25
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.プロダクトマネージャー、アーキテクトは必須で巻き込む。26Plan Code Build TestBusinessUnderstandingRelease Deploy Operate MonitorCodeRepositoryArtifactSoftware1.0ServiceVerificationRawDataDataWarehouseCollectAnalyze PrepareDataRepositoryPreprocessFeatures ModelTest ReleaseVerificationSoftware2.0Deploy Operate MonitorTrainServiceRawDataMLEngineer機械学習モデルを本番環境にデプロイ可能な形式に変換する。Model riskManagerSoftware2.0のサービスの挙動を監視する。MLOps Engineer 機械学習モデルの開発・運用プロセスを自動化する。AI/ML Architect Software2.0に必要なアーキテクチャ全体を設計する。Data architect データを管理する基盤を設計する。IT Auditor システム全体の権限管理や監査を行う。ソフトウェアの開発を行う。SoftwareEngineerProductManager実装すべきソフトウェア機能を定義する。Software1.0 に必要なソフトウェアアーキテクチャ全体を設計する。ArchitectDevOps Engineer ソフトウェアの開発・運用プロセスを自動化する。Operatorサービスを利用し業務を行う。SystemAdminSoftware1.0のサービスの挙動を監視する。BusinessAnalyst解決すべきビジネス上の問題を定義する。MLOperator推論結果に基づき業務を行いつつ、推論結果にフィードバックを与える。ロールの名称はMLLensを参照DevOpsのアーキテクチャについてインプットを得るのに必要。DataAnalystデータの可視化と分析で問題を定量的に特定する。DataScientist機械学習モデルを構築するDataEngineer機械学習モデルに入力可能なデータと特徴を作成する。DomainExpertあるべき挙動をデータを用いて定義する。評価尺度を定義する。MLの売上/コスト削減効果と許容される固定費についてインプットを得るのに必要。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.いつ送るか?27
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.機械学習を学ぶ段階から参加してもらい、フェーズごとにMLOpsに必要なロールの担当を割り当ててもらう。28Learning Experimenting Deploying ScalingPrototyping機械学習の活用フェーズMOOCなどでAI/MLについて学ぶ。小規模なチームで分析・モデル構築・評価までの一連の工程を実施自社のデータと環境で機械学習による課題解決を検証する。機械学習のワークロードを本番環境で稼働させる。フェーズ内のアクティビティ運用監視を含めた機械学習ワークロードを開発する。機械学習のワークロードの規模や適用範囲を拡大する。BuildingMLチーム内で任命Business AnalystData Scientist Data AnalystMLOps Engineer Data architectDomain ExpertAI/ML ArchitectML EngineerML OperatorModel risk Managerシステム管理サイドで任命Data EngineerProductManagerが任命Architectが任命 機械学習を学ぶ段階で、プロダクトマネージャーはBusiness Analystの役割を果たす人を任命する(か自分がなる)。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.すべてのロールが揃うことは稀。同色ほど兼任しやすい。29Plan Code Build TestBusinessUnderstandingRelease Deploy Operate MonitorCodeRepositoryArtifactSoftware1.0ServiceVerificationRawDataDataWarehouseCollectAnalyze PrepareDataRepositoryPreprocessFeatures ModelTest ReleaseVerificationSoftware2.0Deploy Operate MonitorTrainServiceRawDataMLEngineer機械学習モデルを本番環境にデプロイ可能な形式に変換する。Model riskManagerSoftware2.0のサービスの挙動を監視する。MLOps Engineer 機械学習モデルの開発・運用プロセスを自動化する。AI/ML Architect Software2.0に必要なアーキテクチャ全体を設計する。Data architect データを管理する基盤を設計する。IT Auditor システム全体の権限管理や監査を行う。ソフトウェアの開発を行う。SoftwareEngineerProductManager実装すべきソフトウェア機能を定義する。Software1.0 に必要なソフトウェアアーキテクチャ全体を設計する。ArchitectDevOps Engineer ソフトウェアの開発・運用プロセスを自動化する。Operatorサービスを利用し業務を行う。SystemAdminSoftware1.0のサービスの挙動を監視する。BusinessAnalyst解決すべきビジネス上の問題を定義する。DataAnalystデータの可視化と分析で問題を定量的に特定する。MLOperator推論結果に基づき業務を行いつつ、推論結果にフィードバックを与える。ロールの名称はMLLensを参照DataScientistDomainExpertあるべき挙動をデータを用いて定義する。評価尺度を定義する。DataEngineer機械学習モデルに入力可能なデータと特徴を作成する。機械学習モデルを構築する
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.フェーズごと段階的にチームとMLOpsを発展させる。30Learning Experimenting Deploying ScalingPrototyping機械学習の活用フェーズ機械学習のワークロードを本番環境で稼働させる。フェーズ内のアクティビティ運用監視を含めた機械学習ワークロードを開発する。機械学習のワークロードの規模や適用範囲を拡大する。Buildingチームデータ学習デプロイ• 切断されたデータサイエンスおよびITチーム• 限定的なクロストレーニング• 利害関係者とのコラボレーションの改善• 共有プロジェクトの目標• 部門の枠を超えたプロジェクトチーム• いくつかのクロストレーニング• アドホックにデータの収集と前処理 • 自動化されたデータパイプライン • 自動化されたMLパイプライン• データガバナンス• 手動での学習、再学習• 展開への明確な道筋がない• 手動展開• 実験ごとの設定管理• 自動化された学習パイプライン• 手動でのモデル検証• 自動展開パイプライン• 限定的な監視/測定• 実験ごとの設定管理• 自動化された学習パイプライン• 手動でのモデル検証• 自動化されたMLパイプライン• 監視とロギング(モデル、ワークロード、パイプライン)MOOCなどでAI/MLについて学ぶ。小規模なチームで分析・モデル構築・評価までの一連の工程を実施自社のデータと環境で機械学習による課題解決を検証する。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.最終的にSoftware2.0の開発者が能動的にMLOpsを利用することで機械学習の活用がScalingする。31Learning Experimenting Deploying ScalingPrototyping機械学習の活用フェーズ機械学習のワークロードを本番環境で稼働させる。フェーズ内のアクティビティ運用監視を含めた機械学習ワークロードを開発する。機械学習のワークロードの規模や適用範囲を拡大する。BuildingMLチーム内で任命Business AnalystData Scientist Data AnalystMLOps Engineer Data architectDomain ExpertAI/ML ArchitectML EngineerML OperatorModel risk Managerシステム管理サイドで任命Data EngineerProductManagerが任命Architectが任命能動的な活用の拡大MOOCなどでAI/MLについて学ぶ。小規模なチームで分析・モデル構築・評価までの一連の工程を実施自社のデータと環境で機械学習による課題解決を検証する。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.先進的企業は能動的な活用を促すため社員へのデータサイエンス教育を拡大している。32How Airbnb Democratizes Data Science With Data Universityデータを「顧客の声」と定義し、全社員が顧客の声に基づいた意思決定ができるよう社内でのデータサイエンス教育を開始。半年で500名が受講。社内のデータを使用してトレーニングするため、30名ほどの社員がボランティアで講師を行っている。Scaling Machine Learning at Uber with Michelangelo技術系の採用者全員に、1週目に機械学習とUberの機械学習基盤であるMichelangeloの講義を実施。その後も、Michelangeloのアップデートに関する講習やオフィスアワーなどを実施し利用を支援。Airbnbは2017年、Uberは2018年の記事。Airbnbは2017時点でFacebookとDropboxにデータ活用で後れを取っていると述べているので、データ活用の先進企業はかなり先をいっている。画像引用: リンク先記事より画像引用: リンク先記事より
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.能動的に活用されるMLOpsは3つの要件を満たす。33Dev OpsML Ops民主的ソフトウェア開発を専門にしない人も機械学習を利用しSoftware2.0を構築するようになると、どのような人でも使えるUI/UXが求められる。一元的DevOpsとMLOpsが並走すると、ユーザー、データ、ログ、プロセスの管理がDevのOpsとMLのOpsで分離しないよう統合できる必要がある。協調的プロダクトの状況やチームのスキルレベルが多様であると、MLのOpsを実現する手段が幅広に選択できる必要がある。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Agenda341. MLOpsを取り巻く状況2. MLOpsを構築する際の問題点3. 解決策4. AWSからのMLOps構築支援5. おわりに
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.AWSはハード面だけでなくソフト面でもMLOpsの構築を支援できる。35⚫ ハード面: MLOpsの構築基盤として⚫ ソフト面: MLOpsを構築するための課題解決支援、トレーニングの提供
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.AWSは能動的に活用されるMLOpsの要件を満たすことができる。36Dev OpsML Ops民主的一元的協調的Amazon SageMakerAWS Identity and AccessManagement (IAM)AWS Single Sign-On Amazon CognitoAmazon CloudWatch AWS CloudTrailAmazon S3 AWS Glue Amazon RedshiftAWS CodeBuild AWS CodeCommit AWS CodeDeployAmazon SageMakerCanvasAmazon QuickSight Amazon SageMakerStudio Lab
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.民主的: エンドユーザーでも利用可能な機械学習サービス。37Amazon SageMaker CanvasはBusiness AnalystやDomain Expertがコーディング不要で機械学習を行えるようにするサービス。AWSコンソールにアクセスすることなく、通常のSaaSへログインするようにシングルサインオンでアクセスできる。Amazon S3、Amazon RedShift、Snowflakeといったデータソースはもちろん手元のローカルディスクからもデータをアップロードして利用することができる。詳細は: 「サービスアップデート 機械学習編: Amazon SageMaker Studio新機能で機械学習をより簡単に」をご参照ください。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.民主的: エンドユーザーでも利用可能な機械学習サービス。38Amazon SageMaker Studio Labは無料かつメールアドレスのみで利用できるJupyter Lab環境。学習用に最大12時間のCPUと4時間のGPUを利用可能。15GBの永続ストレージ があり、ブラウザを落としても作業内容が記録される。プロダクション移行の際にSageMaker Studioへ移行可能。詳細は: 「サービスアップデート 機械学習編: Amazon SageMaker Studio新機能で機械学習をより簡単に」をご参照ください。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.協調的: 幅広いマネージドサービスと動作可能なOSSから実装を選択できる。39PREPARESageMaker Ground TruthLabel training data formachine learningSageMaker Data WranglerAggregate and prepare data formachine learningSageMaker ProcessingBuilt-in Python, BYO R/SparkSageMaker Feature StoreStore, update, retrieve, andshare featuresSageMaker ClarifyDetect bias and understandmodel predictionsBUILDSageMaker StudioNotebooksJupyter notebooks with elasticcompute and sharingBuilt-in and Bringyour-own AlgorithmsDozens of optimized algorithmsor bring your ownLocal ModeTest and prototype on yourlocal machineSageMaker AutopilotAutomatically create machine learningmodels with full visibilitySageMaker JumpStartPre-built solutions for commonuse casesTRAIN & TUNEManaged TrainingDistributed infrastructuremanagementSageMaker ExperimentsCapture, organize, and compareevery stepAutomaticModel TuningHyperparameter optimizationDistributed TrainingLibrariesTraining for large datasetsand modelsSageMaker DebuggerDebug and profile training runsManaged Spot TrainingReduce training cost by 90%DEPLOY & MANAGEManaged DeploymentFully managed, ultra low latency,high throughputKubernetes & KubeflowIntegrationSimplify Kubernetes-basedmachine learningMulti-Model EndpointsReduce cost by hosting multiplemodels per instanceSageMaker Model MonitorMaintain accuracy of deployed modelsSageMaker Edge ManagerManage and monitor models onedge devicesSageMaker PipelinesWorkflow orchestrationand automationAmazon SageMakerSageMaker StudioIntegrated development environment (IDE) for MLAWSとFacebook共同で開発しOSS公開AWS Batchにデプロイ可能EKSで構築可能Netflixが開発しているOSS。AWSと親和性が高い。マネージドサービスであるMWAAを提供。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.一元的: ユーザー・ログ・データ・プロセスの統合が可能。40AWS Identity and AccessManagement (IAM)AWS Single Sign-OnAmazon Simple StorageService (Amazon S3)AWS GlueAmazon CloudWatch AWS CloudTrailAmazon Cognito• ユーザーAWS Single Sign-On(SSO):複数のAWSアカウントやビジネスアプリへのシングルサインオンを実現。Amazon Cognito:カスタムアプリやAWS APIの認証・認可を提供。AWS Identity and Access Management(IAM): AWS APIに対するアクセス制御を実施。• ログAmazon CloudWatch Logs: 使用中のすべてのシステム、アプリケーション、AWSのサービスからのログを取得。AWS CloudTrail: AWSインフラストラクチャ全体のアカウント活動を記録、保管、分析可能。• データAmazon S3: あらゆる量のデータを保存、保護することが可能。データレイクに最適。AWS Glue: データの検出、準備、結合を簡単に行えるサーバーレスのデータ統合サービス。Amazon Redshift: フルマネージド型のデータウェアハウスサービスAmazon Redshift
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.一元的: ユーザー・ログ・データ・プロセスの統合が可能。41• プロセスAWS CodeBuild: ソースコードのコンパイル等を行うマネージドサービス。AWS CodeCommit:プライベートGitリポジトリをホスティングするマネージドサービス。AWS CodeDeploy: Amazon EC2/AWS Fargateなどにデプロイするマネージドサービス。AWS CodeCommit AWS CodeDeployAWS CodeBuild
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.MLOps構築の一例42Amazon SageMakerTrainingJuoyter NotebookAmazon SageMaker Studiofor developmentAWS CodeBuildAWS CodeCommitorGitHubAmazon SageMakerEndpointAmazon APIGatewayAWS CodeDeployModel Manager for dev Model Manager for prodAmazon CloudWatchSyntheticsSlackApprove ApproveAWS CodePipelineExperiments ManagementAWS LambdaAmazon Elastic ContainerRegistryAmazon SageMakerExperimentsTrain Model
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.お客様のMLOps構築事例431. 竹中工務店、AWSで「建設デジタルプラットフォーム」を構築2. マネージドサービスを活用した機械学習のためのCI/CDパイプラインの構築3. AWS Autotech Forum 2020 Online4. 遊戯王ニューロンにおけるAmazon SageMakerの活用大規模画像データのMLOps基盤構築5. 顧客最適な機械学習モデルを提供する対話エンジンサービスとAmazonSageMakerの活用事例
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.ML Discovery Workshopお客様のビジネス課題に対しAI/MLの適用可否と難易度を発見するワークショップ。アマゾンの代表的なイノベーションメカニズムである「ワーキングバックワーズ(WorkingBackwords)」の5つの質問などを用い機械学習のユースケースを特定する。(リンクはAstra Zeneca様の事例)ML Lensに基づくアーキテクチャーレビュー機械学習を運用中のお客様に対し、MLOpsのアーキテクチャ提案やレビューを行う。機械学習版のWell-ArchitectedFrameworkであるMachine Learning Lensを活用し機械学習基盤の現状と課題を整理し、改善アーキテクチャを提案。Amazon Machine Learning Solutions LabAWSの機械学習エキスパートと連携し、モデル開発を含めたMVPを短期間で開発する。ソフト面: 機械学習を活用するための課題解決を支援します。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.機械学習モデルのリリースまでに必要なスキルをチームで学習するML Enablement Workshop(仮)を上期中に提供開始予定です。Learning Experimenting Deploying ScalingPrototyping機械学習の活用フェーズ機械学習のワークロードを本番環境で稼働させる。フェーズ内のアクティビティ運用監視を含めた機械学習ワークロードを開発する。機械学習のワークロードの規模や適用範囲を拡大する。BuildingMLチームBusiness Analystのスキル習得Data Scientistのスキル習得Data Analystのスキル習得MLOps Engineerのスキル習得Data architectのスキル習得Domain ExpertAI/ML Architectのスキル習得ML Engineerのスキル習得ML OperatorModel risk Managerのスキル習得システム管理サイドData Engineerのスキル習得ProductManagerArchitect担当Solution Architectによる継続的支援ワークショップによるトレーニングで自走を支援※ドメイン知識が要求されるロールは対象外MOOCなどでAI/MLについて学ぶ。小規模なチームで分析・モデル構築・評価までの一連の工程を実施自社のデータと環境で機械学習による課題解決を検証する。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Agenda461. MLOpsを取り巻く状況2. MLOpsを構築する際の問題点3. 解決策4. AWSが提供できる支援5. おわりに
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.本日のまとめ47⚫ MLOpsは顧客体験を半自動で改善できるパイプラインであり、これからのプロダクト開発にとって重要です。⚫ MLOpsの構築には様々なステークホルダーを巻き込む必要があります。最初のメッセージをぜひ自分から送りましょう。⚫ 能動的に活用されるMLOpsの民主的・協調的・一元的の要件をAWSで満たすことができます。AWSはハード・ソフト両面で支援ができるパートナーです。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.Let’s Have a nice ML Journey!
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.References49• Andrej Karpathy. Software 2.0. 2017.• Hiroshi Maruyama. Software 2.0とその社会的課題. 2021.• Mike Loukides and Ben Lorica The road to Software 2.0. 2019.• Ville Tuulos and Hugo Bowne-Anderson. MLOps and DevOps: Why Data Makes It Different. 2021.• Data Sentics. Why the World Struggles to Productionalise ML-Driven Solutions (MLOps Part 1). 2020.• Data Sentics. How We Understand MLOps at DataSentics (MLOps Part 2). 2021.• AWS. MLOE-02: Establish ML roles and responsibilities.• Google Cloud. MLOps: 機械学習における継続的デリバリーと自動化のパイプライン.• Snockel. 2022.• datarevenue-berlin. OpenMLOps. 2021.• ZOZO TECH BLOG. KubeflowによるMLOps基盤構築から得られた知見と課題. 2021.• 岩本恵太. リーガルテックにおけるMLOps構築事例の紹介. 2021.• スタディサプリ. サイエンティストとエンジニアでつくるML ワークフロー. 2020.• iwazaki. 小さく始めて大きく育てるMLOps2020. 2020.• rmarl. BASEを支える機械学習エンジニアチームをゼロからつくってきた1年.2019.• Takahiro Kubo. MLOps論文一覧. 2022.
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.付録: 送信メッセージ50お疲れ様です、機械学習チームのxxです。202x年から機械学習チームではプロダクトへの応用を念頭に、機械学習技術の習得を進めてきました。次のステップとして、社内のデータを利用したプロトタイピングを進めていきたいと考えています。プロトタイピングが実験のみでおわらないように、本番環境への反映を想定し現在不足しているロールやインフラ面の課題を洗い出したいと考えています。機械学習の活用に最終的に必要なロールと開発プロセスは添付の資料にまとめています。つきましては、プロトタイピングの先のゴール設定と、課題の洗い出しをまずプロダクトマネージャーのmy_pmさん、アーキテクトのmy_architectさんとさせていただきたいです。隔週でできればと考えていますが、初回のミーティングでは機械学習チームのこれまで学んだ内容と課題として感じている点を共有させていただきます。初回の日程は以下でいかがでしょうか。2022/x/x以上、よろしくお願いいたします。
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.付録: DevOps & MLOpsを実現するロールマップ51Plan Code Build TestBusinessUnderstandingRelease Deploy Operate MonitorCodeRepositoryArtifactSoftware1.0ServiceVerificationRawDataDataWarehouseCollectAnalyze PrepareDataRepositoryPreprocessFeatures ModelTest ReleaseVerificationSoftware2.0Deploy Operate MonitorTrainServiceRawDataMLEngineer機械学習モデルを本番環境にデプロイ可能な形式に変換する。Model riskManagerSoftware2.0のサービスの挙動を監視する。MLOps Engineer 機械学習モデルの開発・運用プロセスを自動化する。AI/ML Architect Software2.0に必要なアーキテクチャ全体を設計する。Data architect データを管理する基盤を設計する。IT Auditor システム全体の権限管理や監査を行う。ソフトウェアの開発を行う。SoftwareEngineerProductManager実装すべきソフトウェア機能を定義する。Software1.0 に必要なソフトウェアアーキテクチャ全体を設計する。ArchitectDevOps Engineer ソフトウェアの開発・運用プロセスを自動化する。Operatorサービスを利用し業務を行う。SystemAdminSoftware1.0のサービスの挙動を監視する。BusinessAnalyst解決すべきビジネス上の問題を定義する。DataAnalystデータの可視化と分析で問題を定量的に特定する。MLOperator推論結果に基づき業務を行いつつ、推論結果にフィードバックを与える。ロールの名称はMLLensを参照DomainExpertあるべき挙動をデータを用いて定義する。評価尺度を定義する。DataEngineer機械学習モデルに入力可能なデータと特徴を作成する。DataScientist機械学習モデルを構築する
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.付録: フェーズ別ロールマップ52Learning Experimenting Deploying ScalingPrototyping機械学習の活用フェーズMOOCなどでAI/MLについて学ぶ。小規模なチームで分析・モデル構築・評価までの一連の工程を実施自社のデータと環境で機械学習による課題解決を検証する。機械学習のワークロードを本番環境で稼働させる。フェーズ内のアクティビティ運用監視を含めた機械学習ワークロードを開発する。機械学習のワークロードの規模や適用範囲を拡大する。BuildingMLチーム内で任命Business AnalystData Scientist Data AnalystMLOps Engineer Data architectDomain ExpertAI/ML ArchitectML EngineerML OperatorModel risk Managerシステム管理サイドで任命Data EngineerProductManagerが任命Architectが任命
© 2022, Amazon Web Services, Inc. or its Affiliates. All rights reserved.BusinessUnderstanding付録: DevOps & MLOpsフロー53Plan Code Build Test Release Deploy Operate MonitorCodeRepositoryArtifactSoftware1.0ServiceVerificationRawDataDataWarehouseCollectAnalyze PrepareDataRepositoryPreprocessFeatures ModelTest ReleaseVerificationSoftware2.0Deploy Operate MonitorTrainServiceRawDataDevOpsMLOps