この記事は最終更新日より2年以上経過しています。内容が古くなっている可能性があります。

AWS SageMakerのセミナーに行ってきた

Amazonの機械学習のプラットフォーム AWS SageMaker のセミナーがあったので参加してきました。

場所は目黒のAWS Loft Tokyo、セミナー等が開かれる部屋以外にコワーキングスペースもあり開放的な空間です。

AWS Loft Tokyo

AWS Loft Tokyoの風景(https://aws.amazon.com/jp/start-ups/loft/tokyo/より)

参加した目的

エレファンテック独自の基板の製法には原材料の削減などの多くのメリットがありますが、一方でデメリットとして、無電解銅めっきという方法で導体(銅)を作るためにムラが発生しやすいなど安定性の問題があります。

現在は人の目でロットごとのめっきの品質を確認していますが、これを機械学習によって自動化できないかというアイデアは以前から社内にあり、SageMakerでそもそも実現できそうか/できるとしてどれくらい簡単に実現できるかを確認しようと思い参加しました。エレファンテックのソフトウェアエンジニアの数は決して多くないので、インフラの構築から学習・運用までを少ないリソースで実現できるかは重要なポイントでした。

セミナーの内容

セミナーは大きく分けて座学とハンズオンの二部構成でした。ハンズオンに関しては開発者ガイドに近い内容だと思いますので省略して、座学編の内容を簡単に紹介します。

初めに参加者の属性について質問がありましたが、体感だと2/3くらいがデータサイエンティスト、残りがソフトウェアエンジニアで、業務で機械学習を利用している人が大多数という感じでした。

私自身はソフトウェアエンジニア(兼インフラエンジニア)で機械学習はチュートリアルをこなしたり簡単な教科書を読んだことがある程度で業務で利用したことは無い、という状態なので参加者の中ではマイノリティだったようです。

機械学習の運用までを大きく分けてモデル・学習・デプロイの3ステップ(前処理・モデル・学習・調整・デプロイの5ステップ)とSageMakerでは呼んでいますが、SageMakerはこの全ステップに対応しています。
SageMakerにはJupyterが組み込まれていて、Jupyterで開発し学習をすると学習データがS3に保存され、GUIで簡単な設定をするだけで運用を開始することができます。

その他にも、学習データのラベリングや学習時のハイパーパラメータの調整の効率化もSageMakerでできるという話や、技術的な背景としてSageMakerでこれらを行うインスタンスがDockerのコンテナで運用されているという話などがありました。(ここの詳細はセミナーの資料を受け取ったら書こうと思っていたんですが、二週間以上経ってもなぜか資料が送られてきません…)

感想

Jupyterが組み込まれた開発環境や学習・デプロイもほとんどインフラ側を意識せずに運用できそうなところは当初の「できるだけ少ないリソースで機械学習のシステムを構築する」という目標に非常に合致しているように思いました。

まだリリースされて日が浅いということで学習データのラベリングやハイパーパラメータの調整機能については控えめな表現をされていましたが、これらの「インフラが簡単に構築できると次に一番時間がかかる部分」についても既に取り組み始めているということ自体に期待が持てます。

実際には学習データが増加したりエンドポイントへのトラフィックが増加したりすると別に難しい問題が出てくるのだろうとは思いますが、AWSのサービスなのでスケーリングの点も心配要らないのではないでしょうか。

今はまだセミナーを受講しただけですが、実際に利用し始めたらまた記事を書こうと思っています。

(おまけ)

AWS Loft Tokyoのユニコーン
コワーキングスペースにあるユニコーンのベンチにステッカーを貼ってくださいと言われたので貼っておきました