Instructions to use paperinstruments/Ultramarine-1-Flash with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use paperinstruments/Ultramarine-1-Flash with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="paperinstruments/Ultramarine-1-Flash") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("paperinstruments/Ultramarine-1-Flash") model = AutoModelForMultimodalLM.from_pretrained("paperinstruments/Ultramarine-1-Flash", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use paperinstruments/Ultramarine-1-Flash with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "paperinstruments/Ultramarine-1-Flash" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "paperinstruments/Ultramarine-1-Flash", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/paperinstruments/Ultramarine-1-Flash
- SGLang
How to use paperinstruments/Ultramarine-1-Flash with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "paperinstruments/Ultramarine-1-Flash" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "paperinstruments/Ultramarine-1-Flash", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "paperinstruments/Ultramarine-1-Flash" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "paperinstruments/Ultramarine-1-Flash", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use paperinstruments/Ultramarine-1-Flash with Docker Model Runner:
docker model run hf.co/paperinstruments/Ultramarine-1-Flash
You need to agree to share your Hugging Face information to access this model
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
By accessing Ultramarine 1 Flash, you agree to the Ultramarine 1 Flash License. Model Providers, as defined in the license, must enter into a separate agreement with Paper Instruments.
Log in or Sign Up to review the conditions and access this model content.
Ultramarine 1 Flash
Introduction
Ultramarine 1 Flash is a multimodal model built for knowledge work, specializing in enterprise operations, finance, law, and consulting. Based on GLM-5.3-Flash, it is 320B total parameters and 18B active parameters with 1M total context.
Read the full technical report.
Serve Ultramarine 1 Flash Locally
Ultramarine 1 Flash mostly keeps GLM-5.3-Flash's architecture and FP8 scheme. The shared experts and a few other modules are in BF16 and declared in config.json. We serve it with SGLang on four B300 GPUs:
python -m sglang.launch_server \
--model-path paperinstruments/Ultramarine-1-Flash \
--tp-size 4 \
--disable-shared-experts-fusion \
--context-length 262144 \
--reasoning-parser glm45 \
--tool-call-parser glm47 \
--speculative-algorithm EAGLE
We tested this command with SGLang v0.5.22 (lmsysorg/sglang:v0.5.22). On Blackwell GPUs, SGLang selects the attention, MoE and KV-cache settings from the GLM-5.3-Flash SGLang cookbook by default. Our setup differs in two ways:
--disable-shared-experts-fusion, which keeps the BF16 shared experts separate.- A 262,144-token context. Raise
--context-lengthto use the full 1,048,576 tokens.
Reference the cookbook for other hardware.
Recommended settings
- Sampling:
temperature=1.0,top_p=0.95. - Context length: GLM-5.3-Flash natively supports a 1,048,576-token context window. Adjust your harness's context and compaction settings based on performance.
- Run Ultramarine in an agent harness. We open-sourced our harness, training, and evaluation code here: feather-train.
- Install Paper Office (
paper-docx,paper-pptx,paper-xlsx) in your harness for safer office file editing.
Training
| Setting | Value |
|---|---|
| Base model | GLM-5.3-Flash |
| Loss | CISPO |
| Optimizer | AdamW |
| Batch size | 64 × 8 |
| LoRA rank | 64 |
| Learning rate | 5 × 10⁻⁵ |
| Sampling config | temp = 1, top_p = 1, top_k = -1 |
| Context window | 131,072 tokens |
| Max agent turns | 250 |
| Compaction trigger | At 85% of the context window or when 30,000 tokens remain, whichever occurs first |
License
Ultramarine 1 Flash is released under the Ultramarine 1 Flash License.
Citation
@techreport{paperinstruments2026ultramarine,
title = {Ultramarine 1 Flash: Scaling Non-Verifiable RL},
author = {{Paper Instruments}},
institution = {Paper Instruments},
year = {2026},
url = {https://www.paperinstruments.com/blog/ultramarine}
}
- Downloads last month
- -
Model tree for paperinstruments/Ultramarine-1-Flash
Base model
zai-org/GLM-5.3-Flash