Docs
silvic trains and serves LightGBM-compatible models through its Rust crates and Python package. The ray extra adds dependencies for distributed training with silvic.ray:
pip install silvic
pip install "silvic[ray]"
Training accepts LightGBM parameter names:
import silvic
import silvic.serve
params = {"objective": "lambdarank", "num_leaves": 53, "device_type": "auto"}
train_set = silvic.Dataset(
X, label=y, group=query_sizes, categorical_feature=[131, 132]
)
booster = silvic.train(params, train_set, num_boost_round=1500)
scores = booster.predict(X_test)
fast_scores = silvic.serve.Predictor(booster).predict(X_test)
Requirements
Package and crates
silvic-python- The
silvicPython package: LightGBM’s Python API, scikit-learn estimators, and training across Ray actors. silvic-core- Parameters, binning, objectives, metrics, leaf-wise trees on integer histograms, LightGBM model text, and the CPU backend.
silvic-gpu- The Metal and CUDA backends, from one kernel source compiled at run time.
silvic-neuron- AWS Neuron training and explicit float32 serving, with NKI kernels and the native runtime.
silvic-net- TCP ring collectives for distributed training.
silvic-serve- Exact scoring of LightGBM models on CPU SIMD lanes or explicitly selected NVIDIA CUDA devices.
silvic-triton- A Triton Inference Server backend serving LightGBM models with
silvic-serve, where the FIL backend’s configs serve unchanged but for its name.