Amazon SageMaker Pricing: What It Costs and How to Cut It
8 min read
Pricing
AWS

Table of Contents
Amazon SageMaker has no license fee. You pay for the AWS compute, storage, and data transfer your machine learning work consumes, billed per second with no upfront commitment.
That sounds simple until the first bill lands. SageMaker splits into more than a dozen billable features, each with its own instance rates. A notebook you forgot to shut down and a real-time endpoint running overnight both cost money, whether or not anyone touched them.
This guide breaks down how the pricing works, what common instances cost, where the bill hides, and how to bring it under control. If you are pricing an inference workload, read the endpoint section first. That one choice drives most of your spend.
What SageMaker pricing actually covers
SageMaker is not one product with one price. It is a bundle of ML features that each bill on their own compute, and AWS charges you for the underlying service you touch.
Four cost drivers show up on nearly every bill:
Compute instances are the largest line item. ml.-prefixed instances run from a few cents an hour for a small CPU to over $28 an hour for high-end GPUs.
Storage covers the EBS volumes attached to notebooks and the data you keep in S3.
Data transfer applies when data moves in and out of your endpoints.
Add-on features like Feature Store, Data Wrangler, and Processing jobs bill separately on top.
To estimate a bill, you pick the feature (training, notebook, or inference), then the instance, then the hours. The same logic applies to a training run or a chatbot endpoint. For the raw side that SageMaker marks up, see our guide to AWS EC2 pricing.
How SageMaker billing works
Three pricing models sit underneath every feature.
On-demand is the default. You pay per second with no commitment, which suits experiments and spiky work.
Savings Plans trade a one- or three-year usage commitment for up to 64% off, flexing automatically across instance families, sizes, and regions, per the AWS SageMaker AI pricing page.
Free Tier gives two months of limited use to test the waters.
The Free Tier allocations are small enough that a real workload burns through them fast:
Feature | Free Tier allowance (first 2 months) |
|---|---|
Studio / notebook | 250 hours of ml.t3.medium |
Real-time inference | 125 hours of ml.m5.xlarge |
Training | 50 hours of ml.m5.xlarge |
Serverless inference | 150,000 seconds |
If you are weighing commitment models, our breakdown of Savings Plans vs Reserved Instances explains the trade-offs.
SageMaker instance pricing
Instance rates turn the abstract model into dollars. These are on-demand notebook and inference rates in us-east-1. They change by region and over time, so confirm against AWS before you budget.
Instance | vCPU | Memory | Type | On-demand / hour |
|---|---|---|---|---|
ml.t3.medium | 2 | 4 GiB | Standard CPU | ~$0.05 |
ml.m5.large | 2 | 8 GiB | Standard CPU | ~$0.115 |
ml.c5.large | 2 | 4 GiB | Compute CPU | ~$0.102 |
ml.r5.large | 2 | 16 GiB | Memory CPU | ~$0.151 |
ml.g4dn.xlarge | 4 | 16 GiB | GPU | ~$0.7364 |
ml.g5.2xlarge | 8 | 32 GiB | GPU | ~$1.52 |
ml.p3.2xlarge | 8 | 61 GiB | GPU | ~$3.825 |
The jump from CPU to GPU is the number that catches teams off guard. A GPU endpoint is roughly 15 to 30 times the hourly cost of a small CPU notebook, and it bills around the clock. For a wider view of accelerator rates, see our AI GPU pricing breakdown.
The three inference options, and why the choice decides your bill
If you are deploying a model, SageMaker gives you three endpoint types. Picking the wrong one is the most common way to overspend.
Real-time inference runs a dedicated instance 24/7 for low-latency responses. It bills continuously, even when idle. Use it only when traffic is steady and latency is strict.
Serverless inference scales to zero and bills per millisecond of compute plus a per-request charge. Light or spiky traffic can cost a few dollars a month.
There is one hard catch: serverless inference does not support GPU. It is CPU-only, which rules it out for large language models and most computer-vision models. This is the exact wall practitioners hit when trying to serve a quantized LLM cheaply.
An engineer in the r/aws community put it plainly: serverless will not work because there is no GPU support, and inference times out after 60 seconds, so CPU responses run past the limit. For an LLM, your real options are a GPU real-time endpoint or a per-token API.
Asynchronous and Batch Transform queue requests and spin compute up only while a job runs, then release it. For workloads that tolerate delay, batch is far cheaper than an always-on endpoint. To go deeper, our guide on how to reduce inference cost maps levers by serving pattern.
Worked example: the same model, three ways
Say you serve a small model and need one instance's worth of compute. Here is what the endpoint choice does to a monthly bill:
Scenario | Instance/model | Math | Monthly cost |
|---|---|---|---|
Real-time, always-on GPU | ml.g5.2xlarge at $1.52/hr | $1.52 × 730 hrs | ~$1,110 |
Real-time, always-on CPU | ml.m5.xlarge at ~$0.269/hr | $0.269 × 730 hrs | ~$196 |
Serverless, spiky CPU traffic | 1M requests, 100ms each | per-ms compute + per-request | ~$5 |
The lesson is blunt. An always-on GPU endpoint left running is over 200 times the cost of serverless for light traffic. If your traffic is not constant, an always-on endpoint is the wrong default.
SageMaker vs running the model yourself on EC2
A fair question: if you bring your own model, do you even need SageMaker? Not necessarily.
SageMaker managed instances carry a roughly 20 to 40% premium over the equivalent raw EC2 rate. In exchange, it sets up autoscaling, load balancing, and logging for you.
The premium looks different on other clouds, so if you are comparing options, our Azure VM pricing guide shows the equivalent trade on Azure.
The same r/aws engineer runs a quantized Mixtral-8x7B on a bare EC2 g5.2xlarge for $1.212 an hour in us-east-1, loading the model from S3 himself. He notes SageMaker adds nothing special for that job, since it is really just an EC2 instance with a model loaded onto it.
Here is the premium in numbers for a comparable GPU box:
Path | Instance | Hourly | Monthly (always-on) |
|---|---|---|---|
Raw EC2 | g5.2xlarge | ~$1.212 | ~$885 |
SageMaker | ml.g5.2xlarge | ~$1.52 | ~$1,110 |
Managed premium | ~25% | ~$225 / month |
The trade is real. SageMaker saves you the setup and operational plumbing; if you already know how to run the server, you can skip the markup. The warning applies to both paths: whenever a GPU instance is on, you pay, interaction or not. Our AWS Fargate vs EC2 comparison covers the self-managed side of this trade.
Where SageMaker bills sneak up on you
The sticker price is rarely the problem. The surprises are. Three recur:
Zombie notebooks: A notebook bills for every hour it is up, not just the hours you use it. A forgotten ml.g4dn.xlarge notebook at $0.7364/hr runs to about $537 a month doing nothing.
Orphaned EBS volumes: Deleting a notebook can leave its storage volume behind, still billing.
Managed-service premium: Every ml. instance already sits above the raw EC2 rate before you optimize anything.
None of these show up as a single scary line item. They accumulate across teams and regions, which is why they are hard to catch by eye. Tagging every SageMaker resource by team or project is the first defense; our guide to AWS tagging covers the tag strategy that makes this spend traceable.
How to reduce SageMaker costs
A handful of moves recover most of the waste:
Use spot for training: Managed Spot Training cuts training compute by up to 90% in exchange for interruptible capacity, per AWS documentation.
Prefer batch over real-time when latency does not matter. You pay only for the compute a job actually uses.
Turn on autoscaling for real-time endpoints so instance count tracks traffic instead of peaking all day.
Auto-shut-down idle notebooks with lifecycle configuration scripts so a forgotten instance stops billing on its own.
Right-size the instance: Most teams provision a bigger GPU than the model needs and never revisit it.
Right-sizing is the highest-return habit. See our GPU cost optimization guide and, for spotting waste, GPU usage monitoring. If you would rather not manage GPUs at all, a per-token service like Amazon Bedrock removes the always-on instance entirely.
Why SageMaker cost attribution is the real challenge
Cutting the rate is the easy half. The harder problem is knowing who and what drove the spend.
AI spend rarely stops at SageMaker. Teams also run tools priced by seat or usage, like Cursor pricing, and each one needs the same attribution.
Within SageMaker itself, training, notebooks, and inference from many teams land on shared instances. A single bill rarely tells you which model, feature, or customer the cost belongs to. That is a cost-allocation problem, not a pricing one.
This is where a FinOps practice earns its keep. Tying SageMaker and GPU spend back to a team, product, or unit of output turns a vague monthly number into a decision. It is the foundation of any FinOps for AI program.
From there, practices like chargeback vs showback make cost visible to the teams creating it, and a clear method to track AI cost keeps attribution current as workloads shift.
How Amnic helps optimize SageMaker cost
Amnic sits on top of your AWS bill and turns raw SageMaker line items into spend you can actually manage. It does three things the AWS console does not.
Attribution: Amnic maps SageMaker training, notebook, and inference spend to the team, product, or feature that caused it, so a shared GPU bill stops being a mystery.
Anomaly and waste detection: It flags the zombie notebooks, orphaned volumes, and idle GPU endpoints that quietly inflate the bill, before they compound across a month.
Shared visibility: Engineering and finance see the same numbers, which is what makes right-sizing and Savings Plan decisions stick instead of stalling in a spreadsheet.
The result is not just a lower SageMaker bill, but one every team understands and owns. To see where SageMaker fits in the larger picture, our roundup of AWS cost optimization tools shows the full stack.
Conclusion
SageMaker pricing is pay-as-you-go with no license fee, but the bill is only as predictable as your instance choices.
Match the endpoint type to your traffic, remember that serverless has no GPU, right-size the instance, and shut down what you are not using. Then close the loop with allocation, so every dollar of SageMaker and GPU spend traces back to the team and outcome that created it.
That last step is what separates a lower bill from a bill you actually understand.
FAQs
Is SageMaker a paid service on AWS?
Yes. SageMaker has no license fee, but you pay for the compute, storage, and data transfer it uses, billed per second. A two-month Free Tier lets you test small workloads first.
Does SageMaker serverless inference support GPU?
No. Serverless inference is CPU-only, which rules it out for LLMs and most computer-vision models. Those need a GPU real-time endpoint or a per-token API like Amazon Bedrock.
What is the cheapest SageMaker instance?
The ml.t3.medium at roughly $0.05 an hour is the entry-level CPU option for notebooks and light processing. It is fine for development, not for serving a GPU model.
How much does a SageMaker GPU endpoint cost?
A real-time ml.g5.2xlarge endpoint runs about $1.52 an hour in us-east-1, near $1,110 a month if left on continuously. Rates vary by region.
How can I reduce SageMaker costs?
Use spot training for non-urgent jobs, batch or async inference instead of always-on endpoints, autoscaling, and auto-shutdown scripts for idle notebooks. Right-sizing and cost allocation recover the rest.
Do I need SageMaker to serve my own model?
No. You can run a model on a raw EC2 GPU instance for less, since SageMaker adds a 20 to 40% managed premium. SageMaker is worth it when you want autoscaling and logging handled for you.
Better visibility and management into AI Tokens?
Start with a 30 day trial
Connect leading LLMs
24 hour time to value
Stay ahead of AI Spend

Make AI spend visible, controllable, and accountable.
Gain insights into your AI token costs at a team, customer, business unit and individual user level to measure and manage AI utilization.
Recommended Articles

Azure VM Pricing: What Actually Drives the Bill and How to Cut It
Read More

Cursor Pricing Explained: Plans, Credits, and What You Will Actually Pay
Read More

Snowflake Pricing Explained: Credits, Storage, and What You Actually Pay
Read More

Databricks Pricing Explained: DBUs, Tiers, and Real Costs
Read More

OpenRouter Pricing: How the Fees, Credits, and BYOK Costs Actually Work
Read More

Grok API Pricing Explained: Per-Token Costs, Caching, and Real Examples
Read More






