2 ms·
In this case, they are talking about xgboost inference, which can verge on the hungry side of things, but this is no match for deep learning, although word embe
by tucnak 4y ago
In this case, they are talking about xgboost inference, which can verge on the hungry side of things, but this is no match for deep learning, although word embeddings and transformers are supported[1] by PostgresML regardless. GPUs are supported[2] for Transformers as well as xgboost, so this approach is also kind of future-proof in the sense that you're not going to ever be limited by your compute, as well as the size of your replica set. But now, yes, to answer your original question— yes, for the most part typical regression-type task inference is marginally slower than fetching and involves crossing the process boundary, can't be easily parallelised, and so on. Hopefully, this is something that could be dealt with on PostgresML side, as Postgres exposes some neat parallelism primitives AFAIK. COMBINEFUNC is how you make your aggregates parallel and with SERIALFUNC potentially multinode-friendly, although here I'm not sure as I haven't maintained custom aggregates over a high-availability Postgres cluster... At any rate, this is a clear area of future research; now that there's inference, how to best parallelise it in the model of Postgres.
[1] https://postgresml.org/user_guides/transformers/setup/ https://postgresml.org/user_guides/transformers/setup/
[2] https://postgresml.org/user_guides/setup/gpu_support/ https://postgresml.org/user_guides/setup/gpu_support/
- ComputerGuru 4y agoCan you train xgboost on a GPU and use that model to make predications on the CPU?
- tucnak 4y agoSure!