Merlin
Merlin copied to clipboard
[RMP] Add YouTube DNN ranking model to Merlin Models
Problem:
Merlin models doesn't support the popular YouTube DNN ranking model. In order to be useful to customers as a library support for commonly used models is required.
Goals:
- Add support for YouTube DNN ranking
Constraints:
Proposed starting point:
Reference Material
Merlin Core
- [ ] Create a tag for example weights (to be used independently or in conjunction with
Tags.TARGET)
Merlin Transforms (NVT)
- [ ] Create an operator for generating multiple powers of continuous features (square/root, cube/root, etc)?
Merlin Models
- [ ] Add a block for generating multiple powers of continuous features (square/root, cube/root, etc)?
- [ ] Update the dataloader to be able to handle example weights (return as part of the targets or create a new output?)
- [ ] Add support for example weights (using underlying Keras sample weight functionality?)
- [ ] Need to decide which part goes to data pre-processing vs models
Serving (Merlin Systems?)
- [ ] Figure out how to handle the exponential function used at serving time (and the unexplained W matrix)
I am confused about why that transform needs to be in NVT? I think we have a Block in Merlin-models that does the continuous-power source. Or is this not what you have in mind? @sararb @karlhigley
I think it could go in either place, but it seems like a feature transformation to me (which is potentially applicable in other ways.) I didn't realize that block existed though, so that's good to know.