alt.freeweights.text / Bunny-v1_0-3B
From: BAAI <huggingface.co/BAAI>Newsgroups: alt.freeweights.textSubject:

Bunny-v1_0-3B

Date: 2026-11-15Commit: 0958a10Signed: 2DC28CC7B26A283B ✓

Text generation model with 3.2B parameters. Safetensors weights, 6.37 GB in all. Published by BAAI under Apache-2.0.

3.2B params6.37GBBunny-v1_0-3Bsafetensorspermissive
FactsParams3.2BSize6.37 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get BAAI/Bunny-v1_0-3B
# manifest sha256 f1f5ff1daa6a… · 6.37 GB · 19 files
$ fw verify ./Bunny-v1_0-3B BAAI/Bunny-v1_0-3B
From sourceHosted (signed)BAAI/Bunny-v1_0-3BLast check: 2026-11-15 03:38 UTC

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

Works with

Overview

Size
6.37 GB
Weights
6.36 GB (safetensors)
Parameters
3.2B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
19, each with a sha256
Publisher
BAAI
Added
2026-11-15
Section
alt.freeweights.text
Lineage

Original release from the publisher.

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-15 03:38 UTCpassed

Model card

From the publisher at commit 0958a10. Shown as plain text with links; images open at the publisher.

Model Card#

Image: Logo

📖 Technical report | 🏠 Code | 🐰 Demo

This is the merged weights of bunny-phi-2-siglip-lora.

Bunny is a family of lightweight but powerful multimodal models. It offers multiple plug-and-play vision encoders, like EVA-CLIP, SigLIP and language backbones, including Llama-3-8B, Phi-1.5, StableLM-2, Qwen1.5, MiniCPM and Phi-2. To compensate for the decrease in model size, we construct more informative training data by curated selection from a broader data source. Remarkably, our Bunny-v1.0-3B model built upon SigLIP and Phi-2 outperforms the state-of-the-art MLLMs, not only in comparison with models of similar size but also against larger MLLM frameworks (7B), and even achieves performance on par with 13B models.

The model is pretrained on LAION-2M and finetuned on Bunny-695K. More details about this model can be found in GitHub.

Image: comparison

Quickstart#

Here we show a code snippet to show you how to use the model with transformers.

Before running the snippet, you need to install the following dependencies:

pip install torch transformers accelerate pillow

If the CUDA memory is enough, it would be faster to execute this snippet by setting CUDA_VISIBLE_DEVICES=0.

Users especially those in Chinese mainland may want to refer to a HuggingFace mirror site.

import torch
import transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
from PIL import Image
import warnings

# disable some warnings
transformers.logging.set_verbosity_error()
transformers.logging.disable_progress_bar()
warnings.filterwarnings('ignore')

# set device
device = 'cuda'  # or cpu
torch.set_default_device(device)

# create model
model = AutoModelForCausalLM.from_pretrained(
    'BAAI/Bunny-v1_0-3B',
    torch_dtype=torch.float16, # float32 for cpu
    device_map='auto',
    trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(
    'BAAI/Bunny-v1_0-3B',
    trust_remote_code=True)

# text prompt
prompt = 'Why is the image funny?'
text = f"A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: <image>\n{prompt} ASSISTANT:"
text_chunks = [tokenizer(chunk).input_ids for chunk in text.split('<image>')]
input_ids = torch.tensor(text_chunks[0] + [-200] + text_chunks[1], dtype=torch.long).unsqueeze(0).to(device)

# image, sample images can be found in images folder
image = Image.open('example_2.png')
image_tensor = model.process_images([image], model.config).to(dtype=model.dtype, device=device)

# generate
output_ids = model.generate(
    input_ids,
    images=image_tensor,
    max_new_tokens=100,
    use_cache=True,
    repetition_penalty=1.0 # increase this to avoid chattering
)[0]

print(tokenizer.decode(output_ids[input_ids.shape[1]:], skip_special_tokens=True).strip())

License#

This project utilizes certain datasets and checkpoints that are subject to their respective original licenses. Users must comply with all terms and conditions of these original licenses. The content of this project itself is licensed under the Apache license 2.0.

Files

19 files · 6.37 GBWeights 6.36 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 19 files with their sha256
FileSizesha256
.gitattributes1.56 KB04bc81cb0b1a143a2f8bbeb55e04b607a85d509407eec07eb1cc47cea0e42284
README.md3.51 KBa5c39943d636e4d0fc2913cf8638cc4d8e70fe991ae1231551688182a7dcc791
added_tokens.json1.08 KBeca8e90d1be6af3afeb1a37f070f9492645c551a9fb2e1ce2a4a8b21f04ffc8b
comparison.png1.53 MB21e9aecaf96b617919dd8bd78784bd0861ef15847eba2f0cf75c7ef97a29def4
config.json1.27 KBe67db3e03314ef9f0a0b8287703861467f7cde1b33b841668b718e59bc0a0742
configuration_bunny_phi.py11.6 KB8b834593882c354d53c982886838fe856091ad0b07a3204f092d8a88d23a10b0
generation_config.json119 B3ecc16ca864a6cf02d8694283053f616f81176b393113aadd66dfa75de4ad4ef
icon.png812 KB3e291453e6d163cd244bbffa176aa07a13ee38a260d0a004d5e153b119cd18bb
images/example_1.png245 KB58c5c9898c5359bcf53797711e3d954c8ef529e141cb012ffc433376933839e7
images/example_2.png74.6 KBd25e79a65b225aedffdc864cfa037f2384d146e4e87a101af25ebe930660eee1
merges.txt456 KB1ce1664773c50f3e0cc8842619a93edc4624525b728b188a9e0be33b7726adc5
model-00001-of-00002.safetensors4.99 GB9b7ce30881a80cd65a6940407dbb187196a01e3a67b8cc68c8344b54a67f5812
model-00002-of-00002.safetensors1.37 GB4c7a7f10f13decfcef6ce40e7853123b9219daa6d7729298c17d50e59b55799c
model.safetensors.index.json88.7 KB54c0d1dfc3c9a7399086f8921d963c0a4902aba362bd89a456945b15021c2fd6
modeling_bunny_phi.py102 KB32a850b44eae93626349dd2f12bc59cab68f01d3f441f772a9e6ce8b7d77401b
special_tokens_map.json441 B10b8c8852c1e1f70b54d9aff61728408c28971c0e97a6c5a7b2debbd1d3e9c0c
tokenizer.json2.11 MB337da36be7a71a6e88aa9148967a7bc8736f4b47c7de8e19ba92b89e80734cfc
tokenizer_config.json7.34 KB1906c7514a738bd743a05d7d95c8e9aeddb4d8c9ffdda4fb6ee05653fb6b97c4
vocab.json798 KB3ba3c3109ff33976c4bd966589c11ee14fcaa1f4c9e5e154c2ed7f99d80709e7
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
0958a104bd pinned now2026-11-15 03:38 UTC19 files · 6.37 GB

Use it

$ fw get BAAI/Bunny-v1_0-3B
# manifest sha256 f1f5ff1daa6a… · 6.37 GB · 19 files
$ fw verify ./Bunny-v1_0-3B BAAI/Bunny-v1_0-3B
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/BAAI/Bunny-v1_0-3B.json --dir ./Bunny-v1_0-3B $ python3 fw.py verify ./Bunny-v1_0-3B ./BAAI__Bunny-v1_0-3B.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download BAAI/Bunny-v1_0-3B --revision 0958a104bd39a448fc310b3d1b1fc3d398dc3fcb --local-dir ./Bunny-v1_0-3B
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("BAAI/Bunny-v1_0-3B", revision="0958a104bd39a448fc310b3d1b1fc3d398dc3fcb") model = AutoModelForCausalLM.from_pretrained("BAAI/Bunny-v1_0-3B", revision="0958a104bd39a448fc310b3d1b1fc3d398dc3fcb", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve BAAI/Bunny-v1_0-3B --revision 0958a104bd39a448fc310b3d1b1fc3d398dc3fcb

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-15
Text in
README.md
Text sha256
a5c39943d636e4d0fc2913cf8638cc4d8e70fe991ae1231551688182a7dcc791
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: BAAI <huggingface.co/BAAI>Newsgroups: alt.freeweights.textSubject: Bunny-v1_0-3BDate: 2026-11-15Commit: 0958a10Signed: 2DC28CC7B26A283B ✓
Upstream
BAAI/Bunny-v1_0-3B
Pinned commit
0958a104bd39a448fc310b3d1b1fc3d398dc3fcb
Manifest
Bunny-v1_0-3B.json · .minisig
Manifest sha256
f1f5ff1daa6ab1c562930707873e993ecb906a19235fe63a1884b5dbec400cf1
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:38 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/BAAI/Bunny-v1_0-3B.json $ curl -O https://freeweights.allternit.com/manifests/BAAI/Bunny-v1_0-3B.json.minisig $ minisign -Vm Bunny-v1_0-3B.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

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download BAAI/Bunny-v1_0-3B
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. Bunny-v1_0-3B.json. Provenance. Takedown history: none.
From: laion <huggingface.co/laion>Subject: a2-rl-e2egit_large-50-32B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-large-15-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-v2-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_pymethods2test-large-80-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_unitsyn-python-large-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_mix_h2_language_proportional-65-8B