Why did we open-source our inference engine? Read the post
← All Posts ← Back to all comparisons

SIE vs Modal: Modal wins on bursty compute; SIE wins on sustained inference

Short version: choose Modal when request volume is spiky, scaling to zero matters and your team does not want to operate GPU infrastructure. Choose SIE when inference runs steadily, several models share the workload, or prompts and documents must stay inside your cloud account.

Modal and SIE solve different layers. Modal is a serverless compute platform that runs Python functions, containers, batch jobs and GPU workloads. SIE is an open-source inference engine with model APIs, scheduling and a production Kubernetes stack.

The practical comparison is usually narrower: a Modal function wrapping sentence-transformers versus an SIE deployment serving the same checkpoint.

Modal turns Python functions into remote CPU or GPU workloads. You select resources in code, deploy the application and pay for compute by the second. Functions scale to zero by default.

That operating model fits prototypes, bursty indexing jobs and services with long idle periods. Modal also handles general compute outside inference, including training, sandboxes and parallel batch work. SIE does not try to replace those capabilities.

Cold starts are the price of scale-to-zero. Modal documents two sources: waiting for a container to become ready and initialization work inside the new container. Model download and weight loading can dominate the second part.

Modal provides cold-start controls. scaledown_window keeps a container idle for longer, while min_containers and buffer_containers keep warm capacity available. Each control spends more to reduce latency. The default maximum idle time is 60 seconds; scaledown_window can be set from two seconds to 20 minutes.

SIE makes inference a long-lived platform service

SIE runs locally as one server or in production as a Kubernetes cluster. Applications call typed encode, score, extract and generate operations, plus OpenAI-compatible endpoints.

Models load on demand and share worker capacity. The production stack includes a load-balancing gateway, KEDA autoscaling, Grafana dashboards and Terraform modules for AWS, GCP and Azure.

You own that stack. GPU node pools, cluster upgrades, capacity planning and incidents now belong to your team or to Superlinked Cloud. Teams without Kubernetes experience should price that work honestly.

SIE can scale workers to zero through KEDA. If you enable that path, the next request still pays for pod, node and model startup. Keep minimum capacity warm when predictable request latency matters.

DecisionSIEModal
Product layerInference engine and production clusterServerless compute platform
Deployment accountYour AWS, GCP, Azure or on-premises environmentModal-managed infrastructure across cloud providers
Billing modelYour infrastructure bill, usually hourly or reserved computeGPU, CPU and memory billed by the second
Idle behaviourConfigurable warm capacity or KEDA scale-to-zeroScales to zero by default; warm containers are configurable
Model interfaceBuilt-in embedding, reranking, extraction, OCR and generation APIsApplication team writes or deploys the inference interface
Multi-model operationOne cluster with on-demand loading and evictionModel layout follows your Functions, Classes or Endpoints
OperationsYour team owns Kubernetes and GPU capacityModal owns the compute control plane
Best fitSustained, shared, private-cloud inferenceBursty workloads and fast deployment with little infrastructure work

Modal’s L4 costs about $0.80 per active GPU hour

Modal listed an Nvidia L4 at **0.000222persecondon25August2026.Thatequals0.000222 per second** on 25 August 2026. That equals 0.7992 per GPU hour. CPU and memory charges sit on top.

L4 duty during a 720-hour monthActive GPU hoursModal GPU charge
10%72$57.54
25%180$143.86
50%360$287.71
100%720$575.42

These figures are arithmetic from Modal’s list price, not a benchmark or full invoice. They exclude CPU, memory, storage, regional multipliers and subscription fees.

SIE has no universal hourly number because you choose the cloud, GPU, purchase model and cluster shape. Use this comparison:

Modal monthly compute = active GPU seconds × Modal rate + CPU + memory
SIE monthly compute = GPU node hourly rate × running hours + cluster overhead

At low duty cycle, Modal usually wins because the GPU disappears between bursts. At high duty cycle, compare the same GPU class directly and include the number of models each deployment keeps available. SIE’s economic case gets stronger when several models share one pool instead of running as separate warm containers.

There is no public matched Modal-function versus SIE-cluster throughput benchmark. Claims about a universal break-even point would be fiction. Measure container uptime, cold starts, batch formation and model count with production-shaped traffic.

Cold starts are a latency and cost decision

Modal gives you a useful dial. Scale to zero minimizes idle cost. Keeping min_containers above zero reduces cold starts and moves the bill toward always-on compute.

SIE gives you the same underlying choice at cluster level. Warm workers keep models close to requests. Scale-to-zero workers save idle spend and reintroduce startup latency.

For an interactive agent path, measure p95 and p99 after realistic idle periods. Average latency hides the first request that a user actually waits for.

For overnight document processing, cold starts matter far less. Modal can start hundreds of containers for a batch and release them when it finishes. SIE fits better when the same worker pool stays busy across ingestion and online traffic.

The data boundary differs

Modal processes workloads in Modal-managed infrastructure. Its security documentation says Server and Auto Endpoint request and response payloads are not stored, while Function inputs and outputs can be retained for up to seven days. Modal encrypts data in transit and at rest, supports region selection and has completed SOC 2 Type 2.

SIE runs inside your cloud account or on-premises environment. Application requests reach infrastructure you control, which can simplify policies that prohibit sending prompts, documents or extracted entities through an external compute provider.

That does not make Modal insecure. It changes the trust boundary and the evidence your security team must review.

Pick Modal when variable demand dominates

Modal is the better choice when:

  • Traffic is sparse or unpredictable and scale-to-zero creates meaningful savings.
  • A small team needs a GPU endpoint without operating Kubernetes.
  • The workload includes batch compute or training beyond model serving.
  • Python-first deployment and per-function resource selection fit the application.

The first production endpoint can be very short, and Modal owns the hard parts underneath it.

Pick SIE when inference needs one operating layer

SIE is the better choice when:

  • Embeddings, reranking, extraction and generation need one shared endpoint.
  • Sustained traffic keeps GPU capacity busy for much of the day.
  • Requests must stay inside your cloud account or an air-gapped environment.
  • Your platform team already operates Kubernetes and wants cloud portability.

SIE removes model-serving duplication. It does not remove infrastructure ownership.

A typical Modal deployment wraps the model in a class:

import modal
app = modal.App("embeddings")
image = modal.Image.debian_slim().pip_install("sentence-transformers")
@app.cls(image=image, gpu="L4")
class Embedder:
@modal.enter()
def load(self):
from sentence_transformers import SentenceTransformer
self.model = SentenceTransformer("BAAI/bge-small-en-v1.5")
@modal.method()
def embed(self, texts: list[str]):
return self.model.encode(texts, normalize_embeddings=True).tolist()

SIE moves model serving into a pre-built API:

from sie_sdk import SIEClient
from sie_sdk.types import Item
client = SIEClient("http://sie.your-cluster.internal:8080")
result = client.encode(
"BAAI/bge-small-en-v1.5",
[Item(text=text) for text in texts],
)

Modal keeps infrastructure out of your repository. SIE keeps model-serving code out of each application.

Migrating without changing the vector space

Keep the same checkpoint, pooling mode and normalization. Compare outputs on a fixed corpus before pointing production traffic at the new endpoint. Re-embedding is usually unnecessary when retrieval metrics stay inside your acceptance threshold.

The Modal to SIE migration guide maps Modal Classes, Volumes, Secrets and deployment commands to SIE and Kubernetes equivalents.

FAQ

Is SIE cheaper than Modal?

Only when the workload and infrastructure rates say so. Modal is hard to beat for low-duty-cycle GPU work. SIE becomes more attractive as utilization rises, several models share a pool and your team already owns the platform layer.

Does SIE eliminate cold starts?

Warm SIE workers avoid per-request container and model startup. A cluster configured to scale workers or GPU nodes to zero will still have a cold path. Set minimum capacity from the latency target.

Is Modal only for prototypes?

No. Modal provides autoscaling endpoints, region controls and enterprise security options. The decision is about control, workload shape and operating model, not production readiness.

Can I keep the same embedding index?

Usually, if both deployments run the same checkpoint with matching pooling and normalization. Verify cosine similarity and retrieval results before deciding.

Sources

Open source inference for agents

Open-source inference for the models behind your agents. Run it yourself, or let us run it for you.

Github 2.8K

Contact us

Tell us about your use case and we'll get back to you shortly.

Apply for an inference grant

Free capacity on our hosted cluster for selected projects. Tell us what you run and we reply by email.