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

Bunny-v1_0-3B-zh

Date: 2026-11-15Commit: a67cbd0Signed: 2DC28CC7B26A283B ✓

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

3.2B params6.33GBBunny-v1_0-3B-zhsafetensorspermissive
FactsParams3.2BSize6.33 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get BAAI/Bunny-v1_0-3B-zh
# manifest sha256 4815f29e319e… · 6.33 GB · 16 files
$ fw verify ./Bunny-v1_0-3B-zh BAAI/Bunny-v1_0-3B-zh
From sourceHosted (signed)BAAI/Bunny-v1_0-3B-zhLast check: 2026-11-15 04:13 UTC

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

Works with

Overview

Size
6.33 GB
Weights
6.32 GB (safetensors)
Parameters
3.2B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
16, 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 04:13 UTCpassed

Model card

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

Model Card#

Image: Logo

📖 Technical report | 🏠 Code | 🐰 Demo

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.

Bunny-v1.0-3B-zh employs MiniCPM-2B as the language model and SigLIP as the vision encoder. The model focuses on Chinese and achieves 64.9 on MMBench-CN test split.

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

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-zh',
    torch_dtype=torch.float16, # float32 for cpu
    device_map='auto',
    trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(
    'BAAI/Bunny-v1_0-3B-zh',
    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][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

16 files · 6.33 GBWeights 6.32 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 16 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md3.65 KB12e87c1a6f04c365989298ebfb7273ca33a4fc97f8a26344f8b61b0ba45e1bfb
config.json1.51 KB6a54d49ef01cffe3d90f0dcae9b877dec2bfb5b90e4b2a2c05ca1cc1fd56e41e
configuration_bunny_minicpm.py9.95 KB72c6c7945ae9c5f1242e10f5f5aceb9e704d9e62a09d673ecd53d82e21564d67
generation_config.json102 Bac6e7bb85a56c8864a08c40dc52bd0ffd621b7ee86340ac42bdc7627b79ba764
icon.png812 KB3e291453e6d163cd244bbffa176aa07a13ee38a260d0a004d5e153b119cd18bb
images/example_1.png245 KB58c5c9898c5359bcf53797711e3d954c8ef529e141cb012ffc433376933839e7
images/example_2.png74.6 KBd25e79a65b225aedffdc864cfa037f2384d146e4e87a101af25ebe930660eee1
model-00001-of-00002.safetensors4.99 GB0484a26572f4bacd5bf6a2e9c25856f202cdffc9992713c84d27872fde8c9a8f
model-00002-of-00002.safetensors1.33 GBa06b93bac54c2bcf8d5e65adbfc717568963b2e565b03e7b3a155645500eb0db
model.safetensors.index.json86.1 KB4d68e51436a06a81dfe1174ccccae48243772eedd76438084534b2bf55bda897
modeling_bunny_minicpm.py86.7 KB296ce874c7bcea672b9bcce82e4afe4ab8ce16c503aa44d209151a496f4809c9
special_tokens_map.json414 B6fa06efa2785e450051989a6f8fb4416b10149ded485ddd3f127a40734f5cfd0
tokenizer.json6.20 MB42f73d01995bd71c88647b13ac696b36d84d5126d0c7cbaef6f8d872d5c97dff
tokenizer.model1.99 MBc9aafcd7da1f5611dab6be545db74d5552a2ccc9c2a12c72ea7be63aac4a25d7
tokenizer_config.json1.13 KB657cde33d35738723b27761195ebb143de25581287477189f175a0520ec4bae6
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
a67cbd092d pinned now2026-11-15 04:13 UTC16 files · 6.33 GB

Use it

$ fw get BAAI/Bunny-v1_0-3B-zh
# manifest sha256 4815f29e319e… · 6.33 GB · 16 files
$ fw verify ./Bunny-v1_0-3B-zh BAAI/Bunny-v1_0-3B-zh
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-zh.json --dir ./Bunny-v1_0-3B-zh $ python3 fw.py verify ./Bunny-v1_0-3B-zh ./BAAI__Bunny-v1_0-3B-zh.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download BAAI/Bunny-v1_0-3B-zh --revision a67cbd092d1d47fa2686d5e9e8744446a249db6e --local-dir ./Bunny-v1_0-3B-zh
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-zh", revision="a67cbd092d1d47fa2686d5e9e8744446a249db6e") model = AutoModelForCausalLM.from_pretrained("BAAI/Bunny-v1_0-3B-zh", revision="a67cbd092d1d47fa2686d5e9e8744446a249db6e", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve BAAI/Bunny-v1_0-3B-zh --revision a67cbd092d1d47fa2686d5e9e8744446a249db6e

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
12e87c1a6f04c365989298ebfb7273ca33a4fc97f8a26344f8b61b0ba45e1bfb
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-3B-zhDate: 2026-11-15Commit: a67cbd0Signed: 2DC28CC7B26A283B ✓
Upstream
BAAI/Bunny-v1_0-3B-zh
Pinned commit
a67cbd092d1d47fa2686d5e9e8744446a249db6e
Manifest
Bunny-v1_0-3B-zh.json · .minisig
Manifest sha256
4815f29e319eee96f25c76a44c5ea58cdb50784a22d4208238e80c61bc0cbe1e
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:13 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

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