Model reference · open weights

fuyu

LLMs adept Vision + text 1 build Non-commercial 21k dl/mo

fuyu is an open-weight language model from adept. fuyu-8b (BF16) weighs 18.8 GB; the smallest configuration that runs it is 2× RTX 4060 Ti 16 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • Fuyu-8B is a 9.4B parameter multimodal transformer developed by Adept AI for image-text-to-text tasks.
  • It features a 16,384 token context length and is designed to support arbitrary image resolutions for digital agents.
  • The model is released under the CC-BY-NC-4.0 license.

Summary of the adept/fuyu-8b model card, 2026-10-01

What it is

Released byadept
Released2023-10-17
Parameters9.4B
VRAM18.8 GB for the weights

What it runs on

Memory and cards for fuyu-8b (BF16)

18.8 GBweights, file size
590 MBcache per 1K tokens
899 MBruntime overhead, at least
16,384 tokenscontext max
CardRequests at onceContext maxMemory
8K each
RTX 3060 12 GB … RTX 4060 Ti 16 GB
2 smaller cards
RTX 3090 24 GB6K23.4 GB
RTX 4090 24 GB6K23.4 GB
RTX 5090 32 GB2all 16K31.0 GB
L40S 48 GB5all 16K44.0 GB
A100 80 GB12all 16K78.2 GB
H100 80 GB10all 16K78.1 GB
RTX PRO 6000 Blackwell 96 GB14all 16K93.8 GB
DGX Spark (GB10) 128 GB unified16all 16K107 GB
H200 141 GB23all 16K138 GB
B200 180 GB31all 16K176 GB
2× RTX 4060 Ti 16 GB
tensor parallel
2all 16K15.4 GB a card
2× RTX 5090 32 GB
tensor parallel
8all 16K31.0 GB a card
2× L40S 48 GB
tensor parallel
13all 16K44.0 GB a card
4× RTX 4090 24 GB
tensor parallel
14all 16K23.4 GB a card
4× RTX 3090 24 GB
tensor parallel
14all 16K23.4 GB a card
Memory needed at each load
Requests at once8K tokens each
124.5 GB
543.9 GB
858.4 GB
1697.0 GB
32174 GB
64329 GB

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

From the model card

What adept says about fuyu

Read the model card

We’re releasing Fuyu-8B, a small version of the multimodal model that powers our product. The model is available on HuggingFace. We think Fuyu-8B is exciting because:

  1. It has a much simpler architecture and training procedure than other multi-modal models, which makes it easier to understand, scale, and deploy.
  2. It’s designed from the ground up for digital agents, so it can support arbitrary image resolutions, answer questions about graphs and diagrams, answer UI-based questions, and do fine-grained localization on screen images.
  3. It’s fast - we can get responses for large images in less than 100 milliseconds.
  4. Despite being optimized for our use-case, it performs well at standard image understanding benchmarks such as visual question-answering and natural-image-captioning.

Please note that the model we have released is a base model. We expect you to need to finetune the model for specific use cases like verbose captioning or multimodal chat. In our experience, the model responds well to few-shotting and fine-tuning for a variety of use-cases.

Model

Fuyu-8B is a multi-modal text and image transformer trained by Adept AI.

Architecturally, Fuyu is a vanilla decoder-only transformer - there is no image encoder. Image patches are instead linearly projected into the first layer of the transformer, bypassing the embedding lookup. We simply treat the transformer decoder like an image transformer (albeit with no pooling and causal attention). See the below diagram for more details.

This simplification allows us to support arbitrary image resolutions. To accomplish this, we treat the sequence of image tokens like the sequence of text tokens. We remove image-specific position embeddings and feed in as many image tokens as necessary in raster-scan order. To tell the model when a line has broken, we simply use a special image-newline character. The model can use its existing position embeddings to reason about different image sizes, and we can use images of arbitrary size at training time, removing the need for separate high and low-resolution training stages.

Model Description

  • Developed by: Adept-AI
  • Model type: Decoder-only multi-modal transformer model
  • License: CC-BY-NC
  • Model Description: This is a multi-modal model that can consume images and text and produce text.
  • Resources for more information: Check out our blog post.

Evaluation

Though not the focus of this model, we did evaluate it on standard image understanding benchmarks:

Eval TaskFuyu-8BFuyu-MediumLLaVA 1.5 (13.5B)QWEN-VL (10B)PALI-X (55B)PALM-e-12BPALM-e-562B
VQAv274.277.48079.586.176.280.0
OKVQA60.663.1n/a58.666.155.566.1
COCO Captions141138n/an/a149135138
AI2D64.573.7n/a62.381.2n/an/a

How to Use

You can load the model and perform inference as follows:

from transformers import FuyuProcessor, FuyuForCausalLM
from PIL import Image
import requests

# load model and processor
model_id = "adept/fuyu-8b"
processor = FuyuProcessor.from_pretrained(model_id)
model = FuyuForCausalLM.from_pretrained(model_id, device_map="cuda:0")

# prepare inputs for the model
text_prompt = "Generate a coco-style caption.\n"
url = "https://huggingface.co/adept/fuyu-8b/resolve/main/bus.png"
image = Image.open(requests.get(url, stream=True).raw)

inputs = processor(text=text_prompt, images=image, return_tensors="pt").to("cuda:0")

# autoregressively generate text
generation_output = model.generate(**inputs, max_new_tokens=7)
generation_text = processor.batch_decode(generation_output[:, -7:], skip_special_tokens=True)
assert generation_text == ['A blue bus parked on the side of a road.']

N.B.: The token |SPEAKER| is a placeholder token for image patch embeddings, so it will show up in the model context (e.g., in the portion of generation_output representing the model context). |NEWLINE| is the "image newline" token, denoting new rows in the raster scan order input of the image patches. \x04 is the "beginning of answer" token.

Fuyu can also perform some question answering on natural images and charts/diagrams (thought fine-tuning may be required for good performance):

text_prompt = "What color is the bus?\n"
url = "https://huggingface.co/adept/fuyu-8b/resolve/main/bus.png"
image = Image.open(requests.get(url, stream=True).raw)

inputs = processor(text=text_prompt, images=image, return_tensors="pt").to("cuda:0")

generation_output = model.generate(**inputs, max_new_tokens=6)
generation_text = processor.batch_decode(generation_output[:, -6:], skip_special_tokens=True)
assert generation_text == ["The bus is blue.\n"]

text_prompt = "What is the highest life expectancy at birth of male?\n"
url = "https://huggingface.co/adept/fuyu-8b/resolve/main/chart.png"
image = Image.open(requests.get(url, stream=True).raw)

model_inputs = processor(text=text_prompt, images=image, return_tensors="pt").to("cuda:0")

generation_output = model.generate(**model_inputs, max_new_tokens=16)
generation_text = processor.batch_decode(generation_output[:, -16:], skip_special_tokens=True)
assert generation_text == ["The life expectancy at birth of males in 2018 is 80.7.\n"]

For best performance, it's recommended to end questions with \n, as shown above!

Uses

Direct Use

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