triton-inference-server / fil_backend

FIL backend for the Triton Inference Server
Apache License 2.0
71 stars 36 forks source link

[FEA] Support categorical features when serving XGBoost models #389

Open gfalcone opened 5 months ago

gfalcone commented 5 months ago

Hello !

XGBoost recently enabled developers to use categorical features in its models (Nvidia did an article on that : https://developer.nvidia.com/blog/categorical-features-in-xgboost-without-manual-encoding/).

From what I understand, we can load a XGBoost model trained on categorical features within the FIL_BACKEND.

However, the FIL_BACKEND only supports float in inputs, which means that we have to do some kind of ensemble (PYTHON_BACKEND + FIL_BACKEND) to accepts strings (steps described here : https://github.com/triton-inference-server/fil_backend/blob/main/notebooks/categorical-fraud-detection/Fraud_Detection_Example.ipynb)

It would make things easier to accept strings in the FIL_BACKEND. Would it be possible to do that ?

hcho3 commented 5 months ago

It is currently not possible to accept string inputs in the FIL backend. The feature will require substantial amount of developer resource on our end. (The current model storage does not store label encoding, so it needs to be revamped). I will mark this as a feature request.

gfalcone commented 5 months ago

Thank you for your reply @hcho3 !