こんにちは、研究員の三宅です。インターネットでは @monochromegane として活動しています。これまで、ムームードメインやminneといったサービスの運用開発を担当していましたが、今期よりペパボ研究所の研究員として研究開発に携わることになりましたので今後の取り組みと抱負について書いていきます。
ペパボ研究所となめらかなシステム
今回携わることになったペパボ研究所は
ペパボ研究所(略称「ペパ研」)は、事業を差別化できる技術を作り出すために「なめらかなシステム」というコンセプトの下で研究開発に取り組む組織です。アカデミックな水準における新規性・有効性・信頼性を追求する研究を行うとともに、研究開発した技術を実際のシステムとして実装・提供することを通して、事業の成長に貢献します。
という組織です。また、「なめらかなシステム」とは以下のように定義されています。
- システムにとってのユーザや、システムを構成するサーバ等の要素が、どのようなカテゴリに属するか、いかなる特徴を持つかを、精緻に認識する
- その際、ユーザやシステム管理者といった人間に労苦を強いるような明示的な操作を課さない
- 1.および2.で得たより精緻なカテゴリや個別の特徴、あるいはそれらの間の関係性に基づき、その時々の状況に応じて最適なサービスを提供する
これまで僕はサービスの運用開発の傍ら、行動ログを活用したサービス改善を行うための基盤づくりなどを行ってきました。行動ログやそれを元にした機械学習によりシステムの挙動を動的に変化させていくというアプローチはある意味でなめらかなシステムであり、ペパ研ではこれらの取り組みで得た知見を活かし、より発展させていきたいと思います。
今後の取り組み
機械学習を切り口に、サービスのなめらかさを向上していきます。
例えば、下図はあるサービスの時間単位のアクセス数をLSTMと呼ばれる手法で予測してみたものです。
LSTM(Long Short Term Memory)は時系列データを扱うRNN(Recurrent Neural Network)と呼ばれる手法で困難とされていた長期依存性の学習も可能としたモデルです。今回は24期(1日分)のアクセス数とカレンダー情報を入力とし、1期先のアクセス数を予測しています。2期先の予測には前回の予測を入力に含めながら24期先までの予測を行っています。1週間分の予測を行いましたがそれなりに特徴を捉えられているのではないかと思います。
ここでこのモデルを元にインスタンス数の増減をスケジューリングする仕組みを考えてみます。
ログ基盤を通じて、サービスのアクセス数を機械学習基盤(仮)に渡して学習、結果をAPIで取得できるようにして予測結果を元に最適なインスタンス数を割り出して調整できればよさそうです。この仕組みで言うところのログ基盤からアクセス数を受けて学習を行う部分はなめらかなシステムの1. いかなる特徴を持つかを、精緻に認識する
に、ログ基盤と機械学習基盤の連携は2. 人間に明示的な操作を課さない
に、インスタンス数の増減が3. その時々の状況に応じて最適なサービスを提供する
にあたります。
今回は1. いかなる特徴を持つかを、精緻に認識する
部分に機械学習を用いる仕組みを検討しましたが、今後モデルの研究を進める中で3. その時々の状況に応じて最適なサービスを提供する
の状況判断の部分を機械学習で担えるようにしたいとも思っています。いずれにせよ、なめらかなシステムを実現するにあたり機械学習は有用であり、直近はこれらの仕組みを実現する基盤づくりに着手しながら、有効なモデルの開発や運用方法について研究開発を行う予定です。
抱負
これまでシステムはあくまでサービスの構成要素であり、それらを俯瞰してどういう状況にあるか、そこから何を行うべきかといった判断する、いわばサービスの「意識」となる役割は人間が担ってきました。なめらかなシステムはこれらの役割をシステムに譲渡していくことです。そこにはユーザー向けの機能だけでなくサービス自身の運用に纏わるマーケティングやディレクションも含まれることでしょう。おそらく薄皮のようななめらかな層をどれだけ重ねれば「意識」となるのか今はまだわかりませんが、これをアカデミックな水準で実現していくペパ研の一員となれたことをうれしく思いますし、実際に実現するのは僕だという気概で研究開発を進めていきます。
今後も研究開発の成果やサービスへの導入事例などをどんどん紹介していければと思います。これからもよろしくお願い致します。
【PR】パートナー積極採用中!
ペパボ研究所では、新しいパートナーを求めています。詳細については、当研究所のトップページをご覧ください。