推薦システムの開発に使っているツール

推薦チームでは、モデルの開発・改善や、デプロイを簡単に行うための様々なツールを用意しています。以下はそのなかでも自分たちで内製しているツールの一覧です。

機械学習モデルの開発に使うツール

feature store

モデルの学習に使う特徴量を定期的に計算し、それをBigQuery上にエクスポートして管理しています。

recomx

モデルの学習パイプラインの中の共通部分をまとめたライブラリです。

recommendation-evaluator

オンラインテストに出す前のランキングの性能を、過去データを使って低コストでシミュレーションするツールです。カスタマイズして様々な指標を簡単に実装することも可能で、施策でやりたいことを実現できそうなのかを評価することが可能です。

SARA (Seamless Accessible Resource Allocator)

ローカルのPCに大量のコンピューターリソースが存在するかのような開発体験を提供するツールです。これにより、エンジニアは本番運用時とほとんど同じ環境で開発を行うことができます。

servicex-python

マイクロサービス共通ライブラリであるservicexのPython実装です。servicexについては マイクロサービス共通ライブラリ "servicex" の紹介 を参照してください。

vrec-ranking-comparator

変更前後のコードで作成されるランキングで、結果が変わらないことを確認するためのツールです。これはコードのリファクタやライブラリアップデートを行うときなどに、GitHub Actionsのジョブとして利用されます。

機械学習モデルのリリースに使うツール

visit-recommendation-project

Wantedly Visit の募集の集合からクエリに対して適切なフィルタリング・オーダリングを行ってユーザーに返すサービスです。作成したランキングを本番環境にリリースしたり、オンラインテストを行ったりする際に利用します。

visit-recommendation-scout

Wantedly Visit上にいるユーザの集合からクエリに対して適切なフィルタリング・オーダリングを行ってリクルーターに返すサービスです。作成したランキングを本番環境にリリースしたり、オンラインテストを行ったりする際に利用します。
上記2つについてはWantedlyのPodcast発表資料でも触れられています。

その他の外部ツール

上に挙げた以外にも、推薦チームでは開発時に様々なツールを使用しています。
  • Argo workflow
  • BigQuery
  • Looker
  • Repro

話を聞きに行きたい