この記事では、当社内で実施している技術勉強会について紹介します。
西尾です。自社サービスで扱うデータを収集して加工・分析する仕組みを作る為、機械学習を利用した新サービスの開発を行っています。AWS上で作っているのですが、たくさんあるサービスをどう組み合わせたら良いか、また製品で使えるだけの可用性、その他品質を作り込む方法など、知識不足で課題が多いです。社内の知見を集められるようにデータ分析基盤の勉強会を行おうと考えました。
この勉強会は、データ分析基盤というものについての理解(Why,What,How)を社内に広めるきっかけとなることを期待しています。ゆくゆくは当社に必要なデータ分析基盤を構築・運用できる人材の育成や、部門間の情報共有につながればと考えています。
始める前は、機械学習を全社的に取り扱っているわけでもなく、当社の主力商品の開発チームも多忙な時期だと聞いていたので、どれくらい人が集まるか不安でした。ある機会に全社に呼びかけを行ったところ、未経験だが興味があるというメンバーがおり非常に勇気付けられました。本記事はここから彼にバトンタッチいたします。
バックグラウンド、勉強会をやろうと思った理由
第3次AIブームの火付け役となったディープラーニングの情報をネット上で目にする機会が増えたこともあって、徐々に機械学習やデータ分析基盤に興味が湧いてきました。とは言っても正しい知識は全くありません。無知の知の心構えは有るにしても「これじゃいけない。」という焦りと「本当はどういうもの?」という好奇心はありました。そこで、機械学習、DWH、MLOpsなどを扱っている西尾さんにお声がけしたところ、「データ分析基盤勉強会」という名前で会を発足することになりました。
勉強会で何を学んでいるか
勉強会は以下の目的に沿うようテーマを決めて、隔週で行いました。
- データ分析とは何かを理解する
- なぜデータ分析が必要なのかを理解する
- データ分析をどのように実施するのかを理解する
- MLOpsとは何かを理解する
- AWSを利用してデータ分析基盤を構築・運用する方法に関する基礎知識を身につける
勉強会の発表者は持ち回り制です。勉強会の最後に決めた次回のテーマに沿って、習得済みの知識や、発表に向けて新たに学んだ知識を発表するという形を取りました。テーマを大きく分類すると以下の通りになりました。
- 機械学習に対する正しい基礎知識
- AWSの機械学習及びデータ分析基盤のサービス内容と、活用例
- ハンズオン会
- 社内での実例を知る
他の参加者の方は「機械学習に対する正しい基礎知識」という分類に属するテーマを中心に発表されていたのですが、これは私のような初学者が陥り易い「機械学習自体だけに興味が集中しがち」な状態を正すのにおおいに役立ちました。機械学習を利用したソリューションを構築しようと考えたとき、システム全体として機械学習が担う部分はごく僅かであり、その周辺の仕組みやデータの変換、移行、管理の仕方など色々学ぶ点は多く、実際に手を動かしてみたい衝動に駆られることもありました。
私は主に「AWSの機械学習及びデータ分析基盤のサービス内容と、活用例」という分類に属するテーマを中心に発表を行いました。具体的には「AWSの機械学習サービス紹介」「SageMaker の利用レポート」といった内容です。準備として、AWS サービス別資料を読み漁るのと同時に個人用アカウントでハンズオンに取り組み、自分なりに理解を深めてから、その情報を資料化して勉強会で発表するという方法を取りました。
ただ、ピンポイントで個々のサービスの知識を「点」として得ても、実務で使えるような「線」としての知識に上手く繋げられなかったので、AWS資格である「Certified Data Analytics - Specialty」の勉強を始めました。資格勉強は知識ゼロの人を対象に段階的にかつ体系的な知識を無理なく身に着けられるので、AWSのデータ分析基盤のサービスを実務で使えるようになるためにはこの勉強法が一番合っていました。
勉強会は1年続いた。モチベーションの維持など
勉強会は約1時間で前半は発表、後半は発表された内容で議論や事例を肉付けして、質疑応答を行うというよくあるパターンです。実際に業務で機械学習を扱っていない私にとって、勉強会参加者の体験談などは非常に興味深く、機能を学ぶだけでは得られない疑似体験のようなものでした。これがモチベーションの維持に大きく役立ちました。
次はこういうことを学びたい(個人的に)
まずはAWSを組み合わせて一つのサービスを作り上げることを動機とした勉強に、AWS Certified Data Analytics - Specialty を選んだので取得するまで続けます。機械学習が、ソリューション全体で担う部分はごく僅かとはいっても、難解で膨大な知識が必要な分野であることは間違いありません。それゆえ、「ソリューション全体を作り上げること」、「機械学習自体」の2面での知識が必要になります。まずは、機械学習自体の学びもしたいと考えていたところ、Kaggle Expert の称号を持つ勉強会参加者がいらっしゃいまして、その方に Kaggle *1 を紹介してもらいました。せっかく紹介してもらったので、最も有名な「機械学習を使用して、タイタニックの難破船を生き延びた乗客を予測するモデル作成」をやり始めました。まだやり始めたところなのですが、実際に手を動かすことと、知識を得ることを整理すると理解しやすかったです。
勉強会で今後活かしていきたい内容(会社として)
私はインフラエンジニアとしてSynergy!のプラットフォームを管理する部署に所属しています。今はデータ分析基盤の知識は必要ないのですが、今後機械学習を用いた製品の展開がなされたら必要になると考えています。自部署内でも、ログ分析、障害予測、予測に基づいたメンテナンス提案なんかを定常業務に織り交ぜるなど、機械学習を取り入れることで業務負担を軽減できるはずです。
一年前は「AI」と言われて真っ先にターミネーターが思い浮かぶレベルだったので、今や Kaggle デビューを決意するに至った勉強会に感謝しかないです。会社のデータ分析基盤や機械学習の浸透に一役買っていきたいです。
*1:Kaggle:企業や研究者がデータを投稿し、世界中の統計家やデータ分析家がその最適モデルを競い合う、予測モデリング及び分析手法関連プラットフォーム及び運営会社を指します。