Hi everybody,
Thanks for your help in launching SIG Recommenders! We are pleased to announce that the first meeting of the SIG will take place on Dec 15 5-6pm PST. Everyone is welcome to join the video meeting at Google Meet:
Or you can dial in through phone call:
(US) +1 617-675-4444
(CN) +86 400 842 3238
Then PIN: 422 990 351 4853#
Please feel free to invite any colleagues or contacts who are interested in joining the conversation. We will maintain public meeting notes in a notes doc for future reference and transparency.
SIG Recomenders (RFC, charter) will focus on building helpful librairies related to building large-scale recommendation systems usingTensorFlow. They will be contributed and maintained by the community, as a complementary to TensorFlow Core and TensorFlow Recommenders.
We want to make it easier and faster to build TensorFlow based large-scale recommendation systems. We’re excited to have you on board.
In this first meeting we will introduce the SIG Leads, describe our focus areas, and welcome feedback and ideas to facilitate community contributions to github.com/tensorflow/recommenders-addons. Then we will focus on discuss two initial RFCs to kick off the contributions:
“Sparse Domain Isolation for Supporting large-scale Sparse Weights Training“ from Tencent: RFC, PR
“Embedding Variable” from Alibaba: RFC
[Action needed] If you have any agenda items or topics that you would like to discuss at the meeting on Dec 15, please let us know by Dec 13.
Best Regards,
Shuangfeng on behalf of SIG Recommenders
Attendees: Haidong Rong (Tencent), Yong Li (Alibaba), Bo Liu (Pinterest), Wei Wei (Google), Yuefeng Zhou (Google), Zhenyu Tan (Google), Derek Cheng (Google), Shuangfeng Li (Google), Maciej Kula (TF Recommeners TL), Sanjoy Das (TF for GPU), Wesley Huang (iQiyi), Dennis Zhao (Smartnews), Bairen Yi (SIG Networking lead), Ouyang Irvine (Xiaomi), Tao Peng (Alibaba), Zhichao Wang (Weibo), Tongxuan Liu (Alibaba), and more folks in the meeting (about 35 folks in the first meeting).
Introduce SIG Recommenders, focus area, and welcome ideas for contributions to github.com/tensorflow/recommenders-addons (5 min)
Introduce SIG leads and their responsibilities (5 min)
Emails: recommend...@tensorflow.org
Community leads
Bo Liu, Pinterest, b...@pinterest.com (focusing serving)
Haidong Rong, Tencent WeChat, rhdon...@gmail.com (ML infra)
Yong Li, Alibaba, jiufe...@alibaba-inc.com (ML infra, PAI)
Co-leads and sponsors from Google
Yuefeng Zhou, TensorFlow, yuef...@google.com (distributed training)
Zhenyu Tan, TensorFlow, tanz...@google.com (Keras modelling and performance, TF Core APIs)
Wei Wei, TensorFlow, we...@google.com (Developer Relations)
Derek Cheng, Google Brain, zch...@google.com (Google Brain, AML for RecSys, TF Recommenders)
Discuss two RFCs to kick off the contributions:
“Sparse Domain Isolation for Supporting Dynamic Sparse Weights Training“, presented by Haidong Rong from Tencent: RFC, PR , Slides (20min)
Eager Mode support? Estimators will use graph mode
Have eager mode support, but not tested enough yet.
Whether we need to change TF Core
Necessary change to TF Core is merged, and others can be added to TF Recommenders addons repo. PR to be created, and we can refer to an old sample PR to Core.
More optimizations might need small changes in TF Core, and can be done later.
TrainableWrapper in distribution mode; which type is id in __init__?
id is single tensor, and ids will be sliced to different PS, reference.
Serving support: just a single machine? How to work with multiple machines?
So far TF serving only support models in single machine. If you hope to serve models in multiple machines, a classic resolution is using tf-serving to process the dense parameters on one worker and make sparse weights loaded into some custom distributed (K-V)service for worker looking up.
Feature column support: can work together with Feature Column?
Should be OK, Tencent internally has used it.
Trainable variable: Can be reused cross look_up function but not create a new one in each call?get_variable API
Create a new one TrainableWrapper in each embedding_lookup call, you can call many times on dynamic_embedding.Variable by different ids to create different TrainableWrapper for complex algorithm demand.
Keras compatibility
Don’t have enough testing with Keras, but should be roughly compatible.
“Embedding Variable” from Alibaba: RFC Slides(20min) - presented by Tongxuan
Since it uses delta checkpointing, how does loading work?
Loading is similar to the current way.
This RFC doesn’t need wrapper (which may cause stale gradient issue)
TF 2 support? Keras preprocessing layers.
Will be taken care of later.
Is changes to optimizers needed?
We need to have a new set of optimizers in recommender addons that users can only use.
Or create a wrapper for optimizers
When and where can we find the code?
Will contribute to SIG repo.
Both RFCs (Haidong, Chen Ding / Tongxuan)
Contribute RFC and PR to github.com/tensorflow/recommenders-addons
Please follow up with the contributing guide.
Review with SIG again in future, when we have something for community try
Get feedback from the community, before the SIG meetings
Add benchmarks and tests to do comparison
Add demo (i.e., wide+deep) for trying out