このたび私たち3名は、AWS Partner Black Belt プログラムの Machine Learning and Artificial Intelligence 部門のパイロット版に参加し、認定を取得しました。本記事では、学習セッションや最終プロジェクトを含むプログラムの概要をご紹介します。


上級認定プログラムのパイロット版に参加した体験記
DoiT International の同僚、 Gad Benram と Darren Brien との共著
はじめに
このたび私たち3名は、AWS Partner Black Belt プログラムの Machine Learning and Artificial Intelligence 部門のパイロット版に参加し、認定を取得しました。本記事では、学習セッションや最終プロジェクトを含むプログラムの概要をご紹介します。
これまでにも、AWS Certified Machine Learning Specialty をはじめ、各クラウドプロバイダーの認定資格を取得してきました。Black Belt はそれらをさらに上回る認定で、一夜漬けで身につけた知識ではなく、深い実務経験を裏付けるものです。試験形式も多肢選択式ではなく、大学の学期末プロジェクトに匹敵する難易度の最終キャップストーンプロジェクトによって評価されます。
参加者は AWS クラウドで実務に携わる ML エンジニアで、講師と評価者は当該分野を専門とする AWS のアーキテクトおよびプロダクトマネージャーが務めました。
DoiT International における私たちの専門分野はクラウドインフラから ML までさまざまで、業務もお客様への助言から ML システムの開発まで多岐にわたります。それでも本プログラムは私たち全員にフィットしましたし、おそらく読者の皆さまにとっても同様でしょう。
講義とラボ
ここでは、本プログラムで扱った AWS ML の重要なポイントをいくつかご紹介します。すでにすべてご存じなら合格は朝飯前。とはいえ実際には、長年の経験をお持ちの方でも、ML ワークフロー全体にわたる AWS の幅広いサービスを使い切っているケースは多くありません。本プログラムはまさにその学習機会となります。
プログラムはまずオンライン学習セッションから始まり、4週間にわたって週10時間ほど取り組みます。内容は講義、技術の体系的なウォークスルー、そしてライブラボです。後半はキャップストーンプロジェクトで、こちらも同程度の時間を投じます。
まずはデータから
ML プロジェクトの第一歩は、「データはどこにあるのか?」と問うことから始まります。
AWS には、データを取り込み、発見し、変換して ML プロジェクトですぐに利用できるようにするためのソリューションが複数用意されています。
Kinesis と Glue のサービス群は、リアルタイムで届くデータをサーバーレスで取り込み、変換するための強力な組み合わせです。変換のもう一つの選択肢は、マネージド型 Hadoop エコシステムの EMR です。これらの出力は通常、Machine Learning における定番のストレージである S3 に格納されます。
データ管理の次のステップは、ビジネスインサイトや ML 学習に役立つパターンを分析できる大規模なデータコレクションを構築することです。Glue Data Catalog はデータの保管場所とスキーマを把握し、Lake Formation はきめ細かな権限設定とともにデータへのアクセスパスを整えます。
続いて、S3 上で Athena の強力なエンジンを利用すれば、SQL でデータを分析できます**。あるいは、**S3 上の非構造化データレイクの代わりに、構造化データウェアハウスとして Redshift を使う手もあります。
Autopilot に任せてみる
Sagemaker Autopilot を使えば、いくつかのステップを省略できるかもしれません。このツールは有効そうなアルゴリズムを選び、多様なパラメーター値で試行します。手早く一度動かしてみたいときには便利ですが、まずデータを探索・整備し、アルゴリズムが本領を発揮できる形に整えておけば、より高精度かつ低コストな結果が得られます。
まずは探索から
何かに着手する前に、これから何をするのかを把握しておく必要があります。このステップを Exploratory Data Analysis(探索的データ分析)と呼びます。
データセット全体の可視化はビジネスインテリジェンスツールの QuickSight で行えますが、EDA の大半は ML 向けの Python インタラクティブ開発環境である Sagemaker Notebook で実施します。前処理、分析、データ探索に加え、モデリングや評価まで素早いイテレーションで実行でき、AWS のスケーラブルな分散サービスを使う準備が整います。
ようやく ML の出番
いよいよ機械学習アルゴリズムを選んで実行する番です。Amazon Sagemaker は、DeepAR、XGBoost ほか十数種類のアルゴリズムを標準で備えており、それぞれに得意なユースケースがあります。さらに細かなチューニングには Sagemaker hyperparameter optimization を使えば、複数次元の値を自動的に探索できます。独自のアルゴリズムを開発した場合は、ML container にパッケージ化して Sagemaker の全機能と統合することも可能です。
AWS 上の Machine Learning Ops
Black Belt プログラムの最後のパートは、本番環境へのモデル展開、すなわち ML Ops がテーマです。この急速に進化する領域に対する Amazon のアプローチは、ソフトウェアエンジニアリングで標準となった実践に基づく ML 中心の AWS Well-Architected Five Pillars です。
モデルは変わり続ける
新しいデータが入るたびに、推論結果もその変化を反映する必要があります。Sagemaker Pipelines は学習とデプロイのプロセスを自動化し、API とモデルのバージョニングを実現します。複数バージョンを並行稼働させればエンドツーエンドのA/Bテストも可能です。Model performance monitoring を使えば、再学習が必要なほど精度が低下していないかを確認できます。
セキュリティは最優先
ネットワークレベルでのアクセス制御として、Sagemaker Notebooks、学習ジョブ、推論エンドポイントはいずれも VPC 内にデプロイできます。ユーザーレベルでも、IAM によりそれぞれへのアクセスを制御できます。
サービスを止めない
Sagemaker の inferencing endpoints はオンデマンドまたはバッチで利用できます。Sagemaker は autoscaling と必要に応じた自動 failover により、これらを高可用性に保ちます。
キャップストーンプロジェクト
ソリューションを実装することは、学んだ内容を自分のものにする最良の方法であり、スキルを示す最良の方法でもあります。Black Belt プログラムにはライブラボだけでなく、4週間のキャップストーンプロジェクトも含まれていると知り、大いに胸が躍りました。各参加者は、異常検知や予知保全といった分野の ML プロジェクトから1つを選びました。AWS チームは丁寧なガイダンスを提供し、Slack でいつでも対応してくれるなど、一歩踏み込んだサポートをしてくれました。
プロジェクトは包括的なルーブリックに基づいて評価されます。これは、データの取り込みから変換、学習、評価、そして ML Ops に至るまで、ML システム提供のあらゆる側面で用いるべきテクノロジーやソリューションを列挙した採点ガイドです。
おわりに
プログラムの設計、トレーニングの実施、キャップストーンプロジェクトのレビューと、決して容易ではない取り組みであったはずです。AWS チームのサポートとガイダンスに心より感謝いたします。
AWS AI/ML Black Belt は、限られた人だけが取得できる認定であると同時に、これまでとは一線を画す学び方でもあります。ML で一段ステップアップし、その実力を世に示したい方すべてにおすすめします。
お読みいただきありがとうございました! 最新情報は DoiT Engineering Blog、 DoiT Linkedin Channel、 DoiT Twitter Channel でご覧いただけます。採用情報については https://careers.doit.com をご覧ください。