Findy Tools
開発ツールのレビューサイト

コミュニティサクセスプラットフォーム「Commune」の機械学習アーキテクチャ

Xのツイートボタン
このエントリーをはてなブックマークに追加
Xのツイートボタン
このエントリーをはてなブックマークに追加

コミュニティサクセスプラットフォーム「Commune」の機械学習アーキテクチャ

最終更新日 投稿日
commune2.jpg

アーキテクチャの工夫ポイント

コミューンでは、あらゆる組織とひとのコミュニケーションをなめらかにするコミュニティサクセスプラットフォーム「Commune」を提供しています。

こちらの機械学習基盤のアーキテクチャは、エンドユーザーに提供している推薦システムにおける構成となっています。コミューンでは、本体アプリケーション含めてGoogle Cloud を採用しており、機械学習システムもそれに合わせる形でGoogle Cloud の各種マネージドサービスを採用することにしました。

エンドユーザーに行う推薦として、関連した投稿を出すレコメンドやユーザー毎にパーソナライズしたレコメンドを行うために、Google Cloud のVertex AI Pipelines を用いて機械学習パイプラインを構築しています。Vertex AI Pipelines はコンポーネント単位で実行管理することができるため、コンポーネント毎のマシンスペックの割り当て、適切な粒度での処理の分割、再利用性などがしやすく少人数で開発や運用をするには良いサービスだと感じています。その機械学習パイプラインを定期実行する方法として、Cloud Scheduler + Cloud Functions でパイプライントリガーを実装しました。工夫として、新しくサービスを提供する企業が増えた場合に自動的にそれを検知し、対象となるテナントの自動追加を行い、実行すべき機械学習パイプラインを制御しています。

もう1つ機械学習基盤の特徴は、本体アプリケーションとのインターフェースとして機械学習用のAPI すなわちML-API を用意しているところです。ML-API の役割としては、バッチにより生成された推薦リストをリクエストに応じて取り出して、本体アプリケーションに返すことはもちろんですが、AB テスト時のテナント・ユーザー振り分けを行ったり、モデル改善や効果検証に必要なログ出力をML-API からも行ったり、必要に応じて推薦リストのフィルタリングやハンドリングを行ったりする役割も担っています。

現在の課題と今後の改善予定

現在、機械学習パイプラインでのモデル作成における実験基盤があまり整備されていないというのが課題の1つです。Vertex AI Experiments に一部パラメータ等を保存していますが、保存すべきメトリクスが不十分だったり、保存した結果を上手く活用することができていない状況です。例えば、推薦システムでは、推薦リストの多様性等を考慮するためにメトリクスを計算し、偏りがあればモデル改善のヒントにするといったアクションを取れますが、そういったことはまだできていません。そのため実験基盤の選定や何をメトリクスとして記録すべきかなどから議論していく必要があります。

他には、機械学習システムの信頼性に対する取り組みが不足していることが課題としてあります。検証中や実装中の機械学習機能はどんどん増えているものの、それらの機能群が安定して価値を出し続けるための用意は十分とは言えません。また、信頼性と言っても様々な観点があるかと思いますが、特に”モニタリング”を通したシステム、データ、モデルの状態を正しく把握することに努めるべきだと感じています。何かしらシグナルがあった時にいち早くそれに気づき、その原因を理解し、改善のためのアクションを起こせないようでは十分とは言えないと考えています。まずは最低限行っているシステムモニタリングのレベルを引き上げるべく、可視化している結果を分析したり、自分達の肌感覚と定量の数値を擦り合わせたり(正常な状態や上手く動いているといった状態を理解して定義)していきたいです。今後はSRE for ML やML Reliability Engineering のような動きをしていけると良いなと考えています。

◆執筆:プロダクト&データ部 ML/DS チームテックリードマネージャー 柏木正隆 @asteriam_fp

【サービス公式サイト】
https://commune.co.jp/

会社情報

コミューン株式会社

コミューン株式会社

コミューン株式会社は、 組織とひととのつながりを支えるプラットフォームをはじめ、コミュニティづくりからカスタマーサクセスに寄り添う支援まで、様々なプロダクトやサービスを展開しています。