推薦システムの開発に使っているツール
推薦チームでは、モデルの開発・改善や、デプロイを簡単に行うための様々なツールを用意しています。以下はそのなかでも自分たちで内製しているツールの一覧です。
これらのツールと後述する外部ツールの全体像は以下の通りです。

機械学習モデルの開発に使うツール
feature store
モデルの学習に使う特徴量を定期的に計算し、それをBigQuery上にエクスポートして管理しています。
recomx
モデルの学習パイプラインの中の共通部分をまとめたライブラリです。BQ / GCS とのデータのやり取りなど、どの施策でも共通して利用出来る処理をまとめています。
recommendation-evaluator
オンラインテストに出す前のランキングの性能を、過去データを使って低コストでシミュレーションするツールです。カスタマイズして様々な指標を簡単に実装することも可能で、施策でやりたいことを実現できそうなのかを評価することが可能です。
SARA (Seamless Accessible Resource Allocator)
SARA は Kubernetes の サンドボックスクラスタ内に指定のリソースで頻繁に必要になるアセット(PVC や Claude Codeなど) をデフォルトで備えた Pod を起動・管理するためのツールです。このツールにより、ローカルのPCに大量のコンピューターリソースが存在するかのような開発体験を提供することができ、エンジニアは本番運用時とほとんど同じ環境で開発を行うことができます。
servicex-python
マイクロサービス共通ライブラリである servicex の Python 実装です。servicex については マイクロサービス共通ライブラリ "servicex" の紹介 を参照してください。
機械学習モデルのリリースに使うツール
visit-recommendation-project
Wantedly Visit の募集の集合からクエリに対して適切なフィルタリング・オーダリングを行ってユーザーに返すサービスです。作成したランキングを本番環境にリリースしたり、オンラインテストを行ったりする際に利用します。
visit-recommendation-scout
Wantedly Visit上にいるユーザーの集合からクエリに対して適切なフィルタリング・オーダリングを行ってリクルーターに返すサービスです。作成したランキングを本番環境にリリースしたり、オンラインテストを行ったりする際に利用します。
上記2つについてはWantedlyのPodcastや発表資料でも触れられています。ランキングの条件分岐やテスト形式をスキーマファイルに書くと必要なプログラムが自動生成される仕組みが整っているため、データサイエンティスト単独でも安全にデプロイしやすくなっています。
その他の外部ツール
上に挙げた以外にも、推薦チームでは開発時に様々なツールを使用しています。
Argo workflow
BigQuery
Looker
Grafana
話を聞きに行きたい
最終更新