Model reference · open weights

Aria-sequential_mlp

LLMs rhymes-ai Vision + text 1 build Open weights 24 dl/mo

Aria-sequential_mlp is an open-weight language model from rhymes-ai. Aria-sequential_mlp (BF16) weighs 50.6 GB; the smallest configuration that runs it is H100 80 GB.

  • Aria-sequential_mlp is a 25.3B parameter image-text-to-text model developed by rhymes-ai.
  • It is a fork of the Aria model that replaces grouped GEMM with a sequential MLP to simplify quantization using open-source libraries.
  • The model supports English and is distributed under the apache-2.0 licence.

Summary of the rhymes-ai/Aria-sequential_mlp model card, 2026-10-01

What it is

Released byrhymes-ai
Released2024-10-17
Parameters25.3B
VRAM50.6 GB for the weights

What it runs on

Memory and cards for Aria-sequential_mlp (BF16)

50.6 GBweights, file size
287 MBcache per 1K tokens
2.6 GBruntime overhead, at least
65,536 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … L40S 48 GB
6 smaller cards
———
A100 80 GB102all 64K78.2 GB
H100 80 GB82all 64K78.1 GB
RTX PRO 6000 Blackwell 96 GB143all 64K93.8 GB
DGX Spark (GB10) 128 GB unified205all 64K107 GB
H200 141 GB338all 64K138 GB
B200 180 GB4812all 64K176 GB
2× L40S 48 GB
tensor parallel
133all 64K44.0 GB a card
4× RTX 4090 24 GB
tensor parallel
133all 64K23.4 GB a card
4× RTX 3090 24 GB
tensor parallel
133all 64K23.4 GB a card
4× RTX 5090 32 GB
tensor parallel
266all 64K31.0 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
155.5 GB62.6 GB
564.9 GB100 GB
872.0 GB128 GB
1690.8 GB203 GB
32128 GB354 GB
64203 GB654 GB

One card, with vLLM's small-card settings.

From the model card

What rhymes-ai says about Aria-sequential_mlp

Read the model card

This is a fork of the rhymes-ai/Aria model. The only modification is replacing grouped GEMM with a sequential MLP. In this configuration, each expert is implemented as a torch.nn.Linear layer executed in sequence. This adjustment simplifies quantization with current open-source libraries, which are optimized for nn.Linear layers.

While the sequential MLP approach aids in easier quantization, using grouped GEMM provides the advantage of faster training speed.

Quick Start

Installation

pip install transformers==4.45.0 accelerate==0.34.1 sentencepiece==0.2.0 torchvision requests torch Pillow
pip install flash-attn --no-build-isolation

Inference

import requests
import torch
from PIL import Image
from transformers import AutoModelForCausalLM, AutoProcessor

model_id_or_path = "rhymes-ai/Aria-sequential_mlp"

model = AutoModelForCausalLM.from_pretrained(model_id_or_path, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True)

processor = AutoProcessor.from_pretrained(model_id_or_path, trust_remote_code=True)

image_path = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png"

image = Image.open(requests.get(image_path, stream=True).raw)

messages = [
    {
        "role": "user",
        "content": [
            {"text": None, "type": "image"},
            {"text": "what is the image?", "type": "text"},
        ],
    }
]

text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(text=text, images=image, return_tensors="pt")
inputs["pixel_values"] = inputs["pixel_values"].to(model.dtype)
inputs = {k: v.to(model.device) for k, v in inputs.items()}

with torch.inference_mode(), torch.cuda.amp.autocast(dtype=torch.bfloat16):
    output = model.generate(
        **inputs,
        max_new_tokens=500,
        stop_strings=[""],
        tokenizer=processor.tokenizer,
        do_sample=True,
        temperature=0.9,
    )
    output_ids = output[0][inputs["input_ids"].shape[1]:]
    result = processor.decode(output_ids, skip_special_tokens=True)

print(result)

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms