AWSが主催しているオンライン研修"The Machine Learning Pipeline on AWS"を受講しました。
その内容と感想を共有していきます。
日程・費用
期間は4日間と長丁場です。
毎月第2週の火~金曜の4日間に開催しているようです。
(2023年8月は第2金曜が祝日だったため、月~木曜でした)
時間は9:30~17:30。
費用は28万円でした。(2023年8月時点)
レベル
ML の経験がほとんどないかまったくなく、Amazon SageMaker を使用して ML パイプラインについて学びたい人(公式から引用)
Pythonのコードを実行していくハンズオンがありますので、Python(特にPandas)の経験があるとより理解が深まると思います。
ML(機械学習)の経験がなくても大丈夫ですが、やはり多少は合ったほうがより理解が深まります。
(学習曲線(loss)やAcc/Precision/Recallなどの指標を見たことがあるけど、よくわかっていない人など)
私は商業高校の情報処理科卒で、数1Aを履修済み、3年生の後半に数2Bをちょっとやったけど、あまり理解できていない系ですが、ついていける内容でした。
内容
講師に、目次レベルは公開してよいと了承をいただいています。
- Day1
受講前の評価テスト(全26問)(理解度チェック)
機械学習とMLパイプラインの概要
Amazon SageMakerの概要
Amazon SageMakerの操作(ハンズオン)
プロジェクトを選択する(演習)※何をやったか思い出せない
問題の定式化
プロジェクトのビジネス上の問題を定式化する(演習) - Day2
昨日の復習テスト ※解説なかった
データの前処理
データの前処理(ハンズオン)
モデルトレーニング - Day3 ※講師交代
昨日の復習テスト&解説
モデル評価
モデルのトレーニングと評価(ハンズオン)
プロジェクトのプレゼンテーション(演習)※やってない
特徴量エンジニアリングとモデルチューニング - Day4
昨日の復習テスト&解説
特徴量エンジニアリング(ハンズオン)
モデルのデプロイ
MLパイプラインプロジェクト(ハンズオン)
受講後の評価テスト(Day1最初と同じテスト(全26問)を実施)
研修名にある"Pipeline"は、ビジネス課題から成功基準を定義(=定式化)し、それに向けてデータ収集、前処理、トレーニング、評価、チューニング、デプロイまでの一連の流れのことを指していました。
ですので、ビジネス上の最初から最後まで学ぶことができる研修でした。
各日の最初に、前日の内容確認テスト(6~10問程度)があり、終わった後に講師が解説してくれます。
(Day2は解説が無かった気がする)
ハンズオンはJupyterNotebookでの回帰タスク(売上などの数値予測)がメインです。
SageMakerのコンソールはあまり見ることがなく、SDKを使ってPythonコードからSageMakerの機能を呼び出します。
(詳しいログや成果物は、自分で管理コンソールを開いて確認していました)
SageMakerにハイパーパラメーターチューニング(探索)の機能があり、使うことができました。
使うモデルはSageMakerが標準で提供している線形回帰とXGBoostでした。
(Transformer言語モデルや、ResNetなどのCNNは使いません)
Day4の最後のハンズオンの中に、ハイパーパラメーターチューニング(探索)がありますが、1時間以上かかるジョブで、ハンズオンを最後までやり切れませんでした。
(ジョブ実行中は、受講後の評価テストを実施していました)
ハンズオン環境(AWS SageMaker)は受講後1か月は生きているそうなので、復習することができます。
本研修を受講後に「MLOps Engineering on AWS」を受講すると、SageMakerを使った実践的なCI/CDを体験できるとのことでした。(3日間, 21万円)
感想
機械学習についてググると難しい内容がたくさんHITします。
読んで理解できなかったとき、さらに自分で知りたいことが載っているページを検索しないといけませんが、講師がいる研修なので質問してすぐに教えてもらえるため、大変良かったです。
また、ネット上だとデータの前処理や特徴量エンジニアリングについて、あまり調べてこなかったので、その点を学習することができたのがよかったです。
(仕事で取り組んでいるのが画像関連のMLなので、機会がほとんどなかった)
受講前テストは44点(26問中11問正解)でしたが、受講後に同じ問題を解くと82点(26問中21問正解)でした。
休憩は1~1.5時間に1度は必ずあり、ハンズオンも時間的な余裕があって、ストレスなく受講できました。
仕事でMLをやっている身としては、受講して大変よかったと思える内容でした。
特に、train_lossのグラフやPrecision/Recallを雰囲気で見ていて、なんとなく学習率をイジっていたのが、この研修を通して意味がキチンと理解できるようになりました。
また、推論エンドポイントの選択肢を学ぶことができたので、業務でも十分に役に立ちそうです。