alt.freeweights.olmo / MolmoPoint-8B
From: allenai <huggingface.co/allenai>Newsgroups: alt.freeweights.olmoSubject:

MolmoPoint-8B

Date: 2026-11-14Commit: 188130fSigned: 2DC28CC7B26A283B ✓

Image text to text model with 8.7B parameters. Safetensors weights, 34.7 GB in all. Published by allenai under Apache-2.0.

8.7B params34.7GBMolmoPoint-8Bsafetensorspermissive
FactsParams8.7BSize34.7 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get allenai/MolmoPoint-8B
# manifest sha256 b41f297e90dd… · 34.7 GB · 33 files
$ fw verify ./MolmoPoint-8B allenai/MolmoPoint-8B
From sourceHosted (signed)allenai/MolmoPoint-8BLast check: 2026-11-14 21:13 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of Qwen3-8B.

Works with

Overview

Size
34.7 GB
Weights
34.7 GB (safetensors)
Parameters
8.7B
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
33, each with a sha256
Publisher
allenai
Added
2026-11-14
Section
alt.freeweights.olmo
Lineage

Original release from the publisher.

Base model: Qwen/Qwen3-8B

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:13 UTCpassed

Model card

From the publisher at commit 188130f. Shown as plain text with links; images open at the publisher.

MolmoPoint-8B#

MolmoPoint-8B is a fully-open VLM developed by the Allen Institute for AI (Ai2) that support image, video and multi-image understanding and grounding. It has new pointing mechansim that improves image pointing, video pointing, and video tracking, see our technical report for details.

Note the huggingface MolmoPoint model does not support training, see our github repo for the training code.

Quick links:

Quick Start#

Setup Conda Environment#
conda create --name transformers4571 python=3.11
conda activate transformers4571
pip install transformers==4.57.1
pip install torch pillow einops torchvision accelerate decord2

Inference#

We recommend running MolmoPoint with logits_processor=model.build_logit_processor_from_inputs(model_inputs) to enforce points tokens are generated in a valid way.

In MolmoPoint, instead of coordinates points will be generated as a series of special tokens, decoding the tokens back into points requires some additional metadata from the preprocessor. The metadata is returned by the preprocessor using the return_pointing_metadata flag. Then model.extract_image_points and model.extract_video_points do the decoding, they return a list of ({image_id|timestamps}, object_id, pixel_x, pixel_y) output points.

Image Pointing Example:#
from transformers import AutoProcessor, AutoModelForImageTextToText
import torch
import numpy as np

checkpoint_dir = "allenai/MolmoPoint-8B"  # or path to a converted HF checkpoint

model = AutoModelForImageTextToText.from_pretrained(
    checkpoint_dir,
    trust_remote_code=True,
    dtype="auto",
    device_map="auto",
)

processor = AutoProcessor.from_pretrained(
    checkpoint_dir,
    trust_remote_code=True,
    padding_side="left",
)

image_messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "Point to the boats"},
            {"type": "image", "image": "https://assets.thesparksite.com/uploads/sites/5550/2025/01/aerial-view-of-boats-yachts-water-bike-and-woode-2023-11-27-04-51-17-utc.jpg"},
            {"type": "image", "image": "https://storage.googleapis.com/ai2-playground-molmo/promptTemplates/Stock_278013497.jpeg"},
        ]
    }
]

inputs = processor.apply_chat_template(
    image_messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt",
    return_dict=True,
    padding=True,
    return_pointing_metadata=True
)
metadata = inputs.pop("metadata")
inputs = {k: v.to("cuda") for k, v in inputs.items()}

with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
    output = model.generate(
        **inputs,
        logits_processor=model.build_logit_processor_from_inputs(inputs),
        max_new_tokens=200
    )

generated_tokens = output[:, inputs["input_ids"].size(1):]
generated_text = processor.post_process_image_text_to_text(generated_tokens, skip_special_tokens=False, clean_up_tokenization_spaces=False)[0]
points = model.extract_image_points(
    generated_text,
    metadata["token_pooling"],
    metadata["subpatch_mapping"],
    metadata["image_sizes"]
)

# points as a list of [object_id, image_num, x, y]
# For multiple images, `image_num` is the index of the image the point is in
print(np.array(points))
Video Pointing Example:#
video_path = "https://storage.googleapis.com/oe-training-public/demo_videos/many_penguins.mp4"
video_messages = [
    {
        "role": "user",
        "content": [
            dict(type="text", text="Point to the penguins"),
            dict(type="video", video=video_path),
        ]
    }
]

inputs = processor.apply_chat_template(
    video_messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt",
    return_dict=True,
    padding=True,
    return_pointing_metadata=True
)
metadata = inputs.pop("metadata")
inputs = {k: v.to("cuda") for k, v in inputs.items()}

with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
    output = model.generate(
        **inputs,
        logits_processor=model.build_logit_processor_from_inputs(inputs),
        max_new_tokens=200
    )

    generated_tokens = output[:, inputs['input_ids'].size(1):]
    generated_text = processor.post_process_image_text_to_text(generated_tokens, skip_special_tokens=False, clean_up_tokenization_spaces=False)[0]
    video_points = model.extract_video_points(
        generated_text,
        metadata["token_pooling"],
        metadata["subpatch_mapping"],
        metadata["timestamps"],
        metadata["video_size"]
    )

    # points as a list of [object_id, image_num, x, y]
    # For tracking, object_id uniquely identifies objects that might appear multiple frames.
    print(np.array(video_points))

License and Use#

This model is licensed under Apache 2.0. It is intended for research and educational use in accordance with Ai2’s Responsible Use Guidelines. This model is trained on third party datasets that are subject to academic and non-commercial research use only. Please review the sources to determine if this model is appropriate for your use case.

Files

33 files · 34.7 GBWeights 34.7 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 33 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
README.md5.62 KB7a9a05c8c063dde21a5db403bcccb5a2ee77076235a9ac45270caaadba0abfd2
added_tokens.json846 KB085c97dbff1bc599095fb572e8e21fc5e7bed8ceb5a9a465314c7f136d62ec74
chat_template.jinja3.17 KBec66862fda57dc1aef90a21b2a0f64c18a280e2483206449bd251a73b8993101
config.json3.12 KBc7c7969a1992a465088f0ccbcec642deb1733269b47cfb2d425953396dea197f
configuration_molmo2.py13.9 KB1405b6760579de537521829b9641c8362d5d50e7ef2bdbe3434d2de4a2fc6416
configuration_molmo_point.py9.07 KBb22b9c7b3d2e45463a6e3a93a84084c8fa82202050cba11e34b115be27642fd7
convert_molmo2_to_hf.py20.8 KB5dc96cf125c6dbebd5a1afefe79651489a24733cbdc15b4caf46e8a671f5e30d
convert_molmo_point_to_hf.py18.1 KBae4a8dad7a528a959ee405d42008843a85199b4c4d40a28f0208724276948268
generation_config.json117 B103506d168927632c8f627d470611ec14e5bc38246470173713b5c28762026b0
image_processing_molmo2.py22.2 KB22fcc160210a3a648b6d618171686c40b900f512107f532c266af7792ac00511
merges.txt1.67 MB8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5
model-00001-of-00008.safetensors4.97 GB19ab63a529d72b101000396a03df34f2dc32e8d744b0c5cec50f0542eea6b8db
model-00002-of-00008.safetensors4.63 GB19fbea500ac2cb32175131e3009b4aebfc3c373e48b07ea51783b1049df34761
model-00003-of-00008.safetensors4.63 GBc66ec2e00cd832d67a5f24ace0e4330e13627b82444784986062df6a2a973ac4
model-00004-of-00008.safetensors4.63 GB20b4298b55a145d9ccdef463ffe3c344cbfd90e7fa67d0778d50f66688dacd27
model-00005-of-00008.safetensors4.63 GBeeac368f9670bad559e45aceea971ff78db86fafee604f17e28c1e58932a27de
model-00006-of-00008.safetensors4.63 GB3738d142536fdc8e9217e7a853240006aff3fe5c157d982cff3e52addb05f011
model-00007-of-00008.safetensors4.09 GBb0af4940b1b827e995397de33114310c838b8edece415819de119d4f403d420f
model-00008-of-00008.safetensors2.49 GBb87b59f8beb9a114e4867e522e3ec5116d05442f199901b48b1beb4fda6962d1
model.safetensors.index.json67.9 KB2ec4ec268051299d387aae82f887a1011e651b9e4ee48a2a8160f6096e508db8
modeling_molmo2.py71.6 KBd3cafcb5300dee41dc9b6d6e8b59e7d3b710bce0408672e8fd78a3bcb28669ce
modeling_molmo_point.py82.0 KBaaf4f863dfb717f498e503b8e39f82c0effaded743fdfecc64271f26f08fcb01
preprocessor_config.json556 B55095e6b866bc23016b010af76125ca6f6fc3360057a193f888294a4a5030b04
processing_molmo2.py18.2 KB73fee7d5cc24e64fdecff90b07e2fea1985113394ffaaf9b87f42e40f3fb4aeb
processing_molmo_point.py17.1 KBcaa6a157bf1c7cfaabd6091859d2c67db353426cdd69760a90467c8dc0418639
processor_config.json346 B90f6eea70ac5ee31221d5a83790f20ed6f4240521d5aba8ba776746e2600c6f4
special_tokens_map.json7.99 KB7af6f09d819fce2662d3be59766042b6d20835104745049754cc61e1755c33fd
tokenizer.json17.4 MB2f437033cf8ca3315943460f7b7681d01130795107d9a99dc124fd9d6898e932
tokenizer_config.json5.69 MB89d00c976c5e6b506941ac046faa4786159f71abe3275a0a417559beb6a62225
video_preprocessor_config.json984 Bab16df7a17cb94cf57daeab7c6760a8be8cfad1fa37258cb86ad48d09ffd1815
video_processing_molmo2.py37.7 KBaaeffabdee0b11f93fb380093df1738964340ea072ba6352bd3f371cc0df835e
vocab.json2.78 MBca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
188130f961 pinned now manifest updated, same commit2026-11-14 21:13 UTC33 files · 34.7 GB
188130f9612026-11-14 21:13 UTC33 files · 34.7 GB

Use it

$ fw get allenai/MolmoPoint-8B
# manifest sha256 b41f297e90dd… · 34.7 GB · 33 files
$ fw verify ./MolmoPoint-8B allenai/MolmoPoint-8B
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/allenai/MolmoPoint-8B.json --dir ./MolmoPoint-8B $ python3 fw.py verify ./MolmoPoint-8B ./allenai__MolmoPoint-8B.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download allenai/MolmoPoint-8B --revision 188130f961c8e0888a34e11121a1423c461a01ba --local-dir ./MolmoPoint-8B
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("allenai/MolmoPoint-8B", revision="188130f961c8e0888a34e11121a1423c461a01ba") model = AutoModelForImageTextToText.from_pretrained("allenai/MolmoPoint-8B", revision="188130f961c8e0888a34e11121a1423c461a01ba", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve allenai/MolmoPoint-8B --revision 188130f961c8e0888a34e11121a1423c461a01ba

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
7a9a05c8c063dde21a5db403bcccb5a2ee77076235a9ac45270caaadba0abfd2
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: allenai <huggingface.co/allenai>Newsgroups: alt.freeweights.olmoSubject: MolmoPoint-8BDate: 2026-11-14Commit: 188130fSigned: 2DC28CC7B26A283B ✓
Upstream
allenai/MolmoPoint-8B
Pinned commit
188130f961c8e0888a34e11121a1423c461a01ba
Manifest
MolmoPoint-8B.json · .minisig
Manifest sha256
b41f297e90dd897f1d4653b1b0c7ceff88f321f3adb3ebb283c984bc832a192f
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:13 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/allenai/MolmoPoint-8B.json $ curl -O https://freeweights.allternit.com/manifests/allenai/MolmoPoint-8B.json.minisig $ minisign -Vm MolmoPoint-8B.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

Qwen/Qwen3-8B · this model is a finetune of it

1 model in the catalog name this one as their parent.

Fine-tunes
1
Fine-tunes 1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download allenai/MolmoPoint-8B
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. MolmoPoint-8B.json. Provenance. Takedown history: none.
From: bartowski <huggingface.co/bartowski>Subject: allenai_Olmo-3-7B-Instruct-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_Olmo-3-7B-Think-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_Olmo-3.1-32B-Instruct-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_Olmo-3.1-32B-Think-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_olmOCR-2-7B-1025-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_olmOCR-7B-0225-preview-GGUF