Skip to main content
Dedicated model inference (DMI) lets you serve a model on reserved hardware, providing several advantages over serverless models:
  • Better performance: Dedicated GPUs provide higher throughput, lower latency, and more predictable performance.
  • No hard rate limits: You’re only limited by the capacity of your selected hardware, plus the bounds of your autoscaling configuration.
  • Fine-tuned models: Deploy a model you fine-tuned from a supported base model.
  • Cost-efficient at scale: DMI bills per-GPU-minute, which is cheaper at high utilization than serverless models (which bill per-token).
Dedicated model inference uses the same inference APIs as serverless models, so you can prototype on serverless, then deploy on DMI without changing your application code.
If you’re running a stock model in production and want a defined SLA without managing hardware, contact sales for provisioned throughput.

Get started

Quickstart

Deploy and call your first endpoint in a few minutes.

Concepts

The DMI resource model and development workflow.

Manage deployments

Create, scale, stop, and delete your deployments.

Supported models

Browse the list of Together-hosted models you can deploy.

Upload a fine-tuned model

Deploy a model you fine-tuned from a supported base model.

Migrate from v1

Migrate a dedicated endpoint to the new DMI resource model.

Together CLI

The easiest way to manage dedicated model inference is by using the Together CLI. Each command creates and wires up the underlying resources for you: To learn more about the underlying resources, see Concepts.

Project scope

The tg beta commands, the management API, and the Python SDK’s client.beta.* methods operate within a Together AI project. The CLI reads the project from the TOGETHER_PROJECT_ID environment variable, or you can pass --project on any command. If neither is set, it uses the project associated with your API key. In the Python SDK, pass project_id to Together() or set TOGETHER_PROJECT_ID. Otherwise, call client.whoami().project_id before project-scoped API calls.

Development workflow

To create a deployment, run the tg beta endpoints deploy command, passing the model and endpoint name. This creates an endpoint, attaches a deployment, and routes all traffic to it:
The command prints the new endpoint’s inference name (<project_slug>/<endpoint_name>): this is the endpoint string you pass as the model parameter on inference requests. Once the deployment is ready, send inference requests to the endpoint using the same inference API as serverless models. Pass the endpoint string as the model parameter:
deploy bundles the endpoint, deployment, and traffic-routing steps for you. To run those steps individually, or to drive them from the Python and TypeScript SDKs, see Manage deployments. For a step-by-step walkthrough, follow the quickstart. For more details on the DMI resource model, see Concepts.

Key features

Pricing

Dedicated model inference bills per minute by hardware while a deployment runs, regardless of model or request volume. Each running replica bills independently and stops billing as soon as it scales down. For more details, see Pricing.