Model reference · open weights
dots3-note-prev is an open-weight language model from dots-studio. dots3-note-prev (BF16) weighs 577 GB; the smallest configuration that runs it is 8× A100 80 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the dots-studio/dots3-note-prev model card, 2026-10-01
What it is
| Released by | dots-studio |
|---|---|
| Released | 2026-08-09 |
| Parameters | 288.4B |
| VRAM | 577 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … 8× H100 80 GB 13 smaller cards | ||||
| 8× A100 80 GB tensor parallel | 5 | 1 | 47K | 78.2 GB a card |
| 4× B200 180 GB tensor parallel | 32 | 8 | 261K | 176 GB a card |
| 8× H200 141 GB tensor parallel | 113 | 28 | all 512K | 138 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 581 GB | 582 GB |
| 5 | 582 GB | 590 GB |
| 8 | 584 GB | 596 GB |
| 16 | 588 GB | 611 GB |
| 32 | 596 GB | 642 GB |
| 64 | 611 GB | 704 GB |
One card, with vLLM's small-card settings.
From the model card
🌐 Tech Blog | 📄 Full Report (coming soon)
dots3-note preview is the first open-weight model in the dots3 family. It is a Mixture-of-Experts model with 280B total parameters, 16B activated parameters, and support for a context length of up to 512K tokens. The model can understand text, images, video, and audio, and produces text outputs.
dots3-note preview is optimized for a broad range of tasks, including:
The dots3 family is designed to include models with different trade-offs among capability, latency, and inference cost. dots3-note preview is the most lightweight member of the family.
| Property | Value |
|---|---|
| Architecture | Multimodal MoE |
| Total Parameters | 280B |
| Activated Parameters | 16B |
| MTP | 1 shared layer, 1.13B |
| Number of Layers | 1 dense + 45 MoE |
| Hidden Size | 5120 |
| FFN Hidden Size | 13824 (dense), 1536 (per expert) |
| Experts | 256 routed + 1 shared, top-8 |
| Attention | 13 DSA + 33 SWA (~1:3) |
| DSA | Top-2048 |
| Context Length | 512K |
| Vocabulary Size | 152K |
| Vision Encoder | MoE ViT, 7B total, 1.2B activated |
| Audio Encoder | Dense, 800M |
| Supported Precision | BF16, FP8 |
| Input | Text, image, video, audio |
| Output | Text |
| Model Name | Description | HuggingFace | ModelScope |
|---|---|---|---|
| dots3-note-prev | Preview multimodal model | 🤗 Model | Model |
| dots3-note-prev-fp8 | FP8-quantized preview multimodal model | 🤗 Model | Model |
Recommended: serve the FP8 checkpoint on one 8-GPU node with SGLang or vLLM.
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:8000/v1", api_key="EMPTY")
response = client.chat.completions.create(
model="dots3-note-prev",
messages=[
{"role": "user", "content": "Hello! Can you briefly introduce yourself?"},
],
temperature=1.0,
top_p=0.95,
max_tokens=256,
# Set enable_thinking=True for reasoning; False returns a direct response.
extra_body={"chat_template_kwargs": {"enable_thinking": False}},
)
print(response.choices[0].message.content)
For a multimodal request, replace messages with one of these public examples:
examples = {
"image": [
{"type": "image_url", "image_url": {"url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/cats.png"}},
{"type": "text", "text": "How many cats are in this image?"},
],
"audio": [
{"type": "audio_url", "audio_url": {"url": "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/mary_had_lamb.mp3"}},
{"type": "text", "text": "Transcribe this nursery rhyme."},
],
"video": [
{"type": "video_url", "video_url": {"url": "https://huggingface.co/datasets/merve/vlm_test_images/resolve/main/concert.mp4"}},
{"type": "text", "text": "Describe the performance and what can be heard."},
],
}
messages = [{"role": "user", "content": examples["image"]}]
Video inputs include their audio track when available.
The commands below target FP8 on one 8-GPU node. BF16 requires more memory. Tune the context length to available memory, concurrency, and input modalities.
Native support is available on vLLM main. Transformers #47844 and SGLang #33829 are still under review; until they are merged, use the PR revisions below.
First install mutually compatible PyTorch and torchvision builds supported by your NVIDIA driver. For audio and video, also install a PyTorch-compatible torchcodec (included below) and FFmpeg with your system package manager. Then install Transformers #47844:
pip install accelerate pillow torchcodec kernels==0.16.0 "transformers @ git+https://github.com/huggingface/transformers.git@refs/pull/47844/head"
Run a minimal local inference:
from transformers import AutoModelForMultimodalLM, AutoProcessor
model_id = "dots-studio/dots3-note-prev-fp8"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, dtype="auto", device_map="auto")
messages = [
{"role": "user", "content": "Hello! Please briefly introduce yourself."},
]
inputs = processor.tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
enable_thinking=False,
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=128)
print(processor.decode(outputs[0, inputs.input_ids.shape[1] :], skip_special_tokens=TruQuoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.