SurrealML enables machine learning models to be greatly simplified, ensuring reproducibility and consistency in machine learning pipelines. Running on our Rust engine, models can be built in Python, and imported in to SurrealDB for inference within the database runtime.
SurrealML is a new file type for working with PyTorch and SKLearn models in Python. This file format, powered by our Rust runtime, allows machine learning model developers to train models in Python, and save the model and metadata to a portable and open-source file format.
With support for model versioning, machine learning pipelines can be greatly simplified, bringing consistency and reproducibility to data normalisation and model inference, allowing for execution across multiple different Python versions, environments, and platforms.
Using our Rust-based SurrealML runtime, the file header stores the model name, description, version, and data normalisation logic. This means that the processing logic that is required for all data, as it is passed into a model for inference purposes, no longer has to sit separately in a Python deployment.
With embedded metadata and data normalisation logic stored within the SurrealML file, and surrounding the pre-trained internal model, SurrealML files can be ingested into SurrealDB, enabling model inference within the Rust-based SurrealDB runtime. The database runtime understands what arguments and values the model expects, allowing any data within the database to be inferred against the supplied model.
We are taking the flexibility and ecosystem of machine learning in Python, and bringing it alongside the power and performance of Rust and SurrealDB. Whether working with raw data inputs, or simplified model arguments, SurrealDB extends the power of Python machine-learning, without changing the traditional approach to implementing machine-learning workflows in Python.