Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lessons Learnt From Consolidating ML Models in a Large Scale Recommendation System #1033

Open
AkihikoWatanabe opened this issue Sep 5, 2023 · 2 comments

Comments

@AkihikoWatanabe
Copy link
Owner

@AkihikoWatanabe
Copy link
Owner Author

AkihikoWatanabe commented Oct 2, 2023

推薦システムには様々なusecaseが存在しており、それらは別々に運用されることが多い。

  • user-item recommendation
  • item-item recommendation
  • query-item recommendation
  • category-item recommendation

このような運用はシステムの技術負債を増大させ、長期的に見るとメンテナンスコストが膨大なものとなってしまう。また、多くの推薦システムには共通化できる部分がある。
これら異なるusecaseの推薦システムをmulti-taskなモデルに統合し技術負債を軽減した経験が記述されている。

@AkihikoWatanabe
Copy link
Owner Author

これが
image
このようなsingle multi-task modelを学習する構造に置き換わり、
image
その結果

  • code量とデプロイの管理・メンテナンスコストの低減
  • 保守性の向上
    • 単一化されたコードベースが、緊急時の対応を容易にした
  • あるユースケースで新たなfeatureを試し効果があった場合、他のユースケースに迅速に展開可能(同じパイプラインなので)
    • ただし、multi taskの場合は特定のタスクに効果があったfeatureの導入により他タスクの性能が低下する懸念がある
    • が、タスク間の関連性が高い場合(今回のような場合)、それは問題とならなかったことが記述されている
  • 柔軟な設計の実現
    • 複数のユースケースを一つのモデルに統合することは、複数のユースケースを組み込むための柔軟な設計が求められる
    • これを実現したことにより、拡張性が増大した
  • 結論
    • このような統合がコードを簡略化し、イノベーションを加速させ、システムの保守性を向上させるシナリオが多くある
    • ただし、ランキングの対象が異なっていたり、入力として活用する特徴量が大きく異なるモデル間で、このような統合の実施に適しているかは自明ではない

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant