alt.freeweights.granite / granite-speech-3.2-8b
From: ibm-granite <huggingface.co/ibm-granite>Newsgroups: alt.freeweights.graniteSubject:

granite-speech-3.2-8b

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

Automatic speech recognition model with 8.5B parameters. Safetensors weights, 17.0 GB in all. Published by ibm-granite under Apache-2.0.

8.5B params17.0GBgranite-speech-3.2-8bsafetensorspermissive
FactsParams8.5BSize17.0 GBFormatssafetensorsTaskautomatic speech recognitionLicenseApache-2.0From sourcepermissive
$ fw get ibm-granite/granite-speech-3.2-8b
# manifest sha256 89efc39abf23… · 17.0 GB · 27 files
$ fw verify ./granite-speech-3.2-8b ibm-granite/granite-speech-3.2-8b
From sourceHosted (signed)ibm-granite/granite-speech-3.2-8bLast check: 2026-11-15 02:44 UTC

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

Fine-tune of granite-3.2-8b-instruct.

Works with

Overview

Size
17.0 GB
Weights
17.0 GB (safetensors)
Parameters
8.5B
Formats
safetensors
Task
automatic speech recognition
License
Apache-2.0 (permissive)
Files
27, each with a sha256
Publisher
ibm-granite
Added
2026-11-15
Section
alt.freeweights.granite
Lineage

Original release from the publisher.

Base model: ibm-granite/granite-3.2-8b-instruct

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 02:44 UTCpassed

Model card

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

Granite-speech-3.2-8b#

Model Summary: Granite-speech-3.2-8b is a compact and efficient speech-language model, specifically designed for automatic speech recognition (ASR) and automatic speech translation (AST). Granite-speech-3.2-8b uses a two-pass design, unlike integrated models that combine speech and language into a single pass. Initial calls to granite-speech-3.2-8b will transcribe audio files into text. To process the transcribed text using the underlying Granite language model, users must make a second call as each step must be explicitly initiated.

The model was trained on a collection of public corpora comprising diverse datasets for ASR and AST as well as synthetic datasets tailored to support the speech translation task. Granite-speech-3.2 was trained by modality aligning granite-3.2-8b-instruct (https://huggingface.co/ibm-granite/granite-3.2-8b-instruct) to speech on publicly available open source corpora containing audio inputs and text targets.

Evaluations:

We evaluated granite-speech-3.2-8b alongside other speech-language models (SLMs) in the less than 8b parameter range as well as dedicated ASR and AST systems on standard benchmarks. The evaluation spanned multiple public benchmarks, with particular emphasis on English ASR tasks while also including AST for En-X translation.

Image: image/png

Image: image/png

Image: image/png

Release Date: April 2nd, 2025

License: Apache 2.0

Supported Languages: English

Intended Use: The model is intended to be used in enterprise applications that involve processing of speech inputs. In particular, the model is well-suited for English speech-to-text and speech translations from English to some major European languages such as French, Spanish, Italian, German, Portuguese as well as Japanese and Mandarin. For tasks that exclusively involve text-based input, we suggest using our Granite large language models, which are optimized for text-only processing and offer superior performance compared to this model.

Generation:#

Granite Speech model is in the process of being supported natively in transformers from the main branch. In the interim, below is a simple example of how to use the granite-speech-3.2-8b model.

Usage with transformers#

First, make sure to build the latest version of transformers:

pip install transformers>=4.49 peft torchaudio

Install a torchaudio backend, such as:

pip install soundfile

Then run the code:

import torch
import torchaudio
from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq
from huggingface_hub import hf_hub_download

device = "cuda" if torch.cuda.is_available() else "cpu"

model_name = "ibm-granite/granite-speech-3.2-8b"
speech_granite_processor = AutoProcessor.from_pretrained(
    model_name, trust_remote_code=True)
tokenizer = speech_granite_processor.tokenizer
speech_granite = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_name, trust_remote_code=True).to(device)

# prepare speech and text prompt, using the appropriate prompt template

audio_path = hf_hub_download(repo_id=model_name, filename='10226_10111_000000.wav')
wav, sr = torchaudio.load(audio_path, normalize=True)
assert wav.shape[0] == 1 and sr == 16000 # mono, 16khz

# create text prompt
chat = [
    {
        "role": "system",
        "content": "Knowledge Cutoff Date: April 2024.\nToday's Date: December 19, 2024.\nYou are Granite, developed by IBM. You are a helpful AI assistant",
    },
    {
        "role": "user",
        "content": "<|audio|>can you transcribe the speech into a written format?",
    }
]

text = tokenizer.apply_chat_template(
    chat, tokenize=False, add_generation_prompt=True
)

# compute audio embeddings
model_inputs = speech_granite_processor(
    text,
    wav,
    device=device, # Computation device; returned tensors are put on CPU
    return_tensors="pt",
).to(device)
 
model_outputs = speech_granite.generate(
    **model_inputs,
    max_new_tokens=200,
    num_beams=4,
    do_sample=False,
    min_length=1,
    top_p=1.0,
    repetition_penalty=1.0,
    length_penalty=1.0,
    temperature=1.0,
    bos_token_id=tokenizer.bos_token_id,
    eos_token_id=tokenizer.eos_token_id,
    pad_token_id=tokenizer.pad_token_id,
)

# Transformers includes the input IDs in the response.
num_input_tokens = model_inputs["input_ids"].shape[-1]
new_tokens = torch.unsqueeze(model_outputs[0, num_input_tokens:], dim=0)

output_text = tokenizer.batch_decode(
    new_tokens, add_special_tokens=False, skip_special_tokens=True
)
print(f"STT output = {output_text[0].upper()}")

Model Architecture:

The architecture of granite-speech-3.2-8b consists of the following components:

(1) Speech encoder: 10 conformer blocks trained with Connectionist Temporal Classification (CTC) on character-level targets on the subset containing only ASR corpora (see configuration below). In addition, our CTC encoder uses block-attention with 4-seconds audio blocks and self-conditioned CTC from the middle layer.

Configuration parameterValue
Input dimension160 (80 logmels x 2)
Nb. of layers10
Hidden dimension1024
Nb. of attention heads8
Attention head size128
Convolution kernel size15
Output dimension42

(2) Speech projector and temporal downsampler (speech-text modality adapter): we use a 2-layer window query transformer (q-former) operating on blocks of 15 1024-dimensional acoustic embeddings coming out of the last conformer block of the speech encoder that get downsampled by a factor of 5 using 3 trainable queries per block and per layer. The total temporal downsampling factor is 10 (2x from the encoder and 5x from the projector) resulting in a 10Hz acoustic embeddings rate for the LLM. The encoder, projector and LoRA adapters were fine-tuned/trained jointly on all the corpora mentioned under Training Data.

(3) Large language model: granite-3.2-8b-instruct with 128k context length (https://huggingface.co/ibm-granite/granite-3.2-8b-instruct).

(4) LoRA adapters: rank=64 applied to the query, value projection matrices

Training Data:

Overall, our training data is largely comprised of two key sources: (1) publicly available datasets (2) Synthetic data created from publicly available datasets specifically targeting the speech translation task. A detailed description of the training datasets can be found in the table below:

NameTaskNb. hoursSource
CommonVoice-17 EnglishASR2600https://huggingface.co/datasets/mozilla-foundation/common_voice_17_0
MLS EnglishASR44000https://huggingface.co/datasets/facebook/multilingual_librispeech
LibrispeechASR1000https://huggingface.co/datasets/openslr/librispeech_asr
VoxPopuli EnglishASR500https://huggingface.co/datasets/facebook/voxpopuli
AMIASR100https://huggingface.co/datasets/edinburghcstr/ami
YODAS EnglishASR10000https://huggingface.co/datasets/espnet/yodas
CommonVoice-17 En->JaAST2600translated with granite-3.2-8b and phi-4
CommonVoice-17 En->DeAST2600translated with granite-3.2-8b and phi-4
MLS Englishother44000transcripts description provided by granite-3.1-8b
CREMA-DSER3https://github.com/CheyneyComputerScience/CREMA-D
MELDSER7https://github.com/declare-lab/MELD

Infrastructure: We train Granite Speech using IBM's super computing cluster, Blue Vela, which is outfitted with NVIDIA H100 GPUs. This cluster provides a scalable and efficient infrastructure for training our models over thousands of GPUs. The training of this particular model was completed in 10 days on 32 H100 GPUs.

Ethical Considerations and Limitations: The use of Large Speech and Language Models may involve risks and ethical considerations that people should be aware of. These risks may include bias and fairness, misinformation, and autonomous decision-making. We urge the community to use granite-speech-3.2-8b in a manner consistent with IBM's Responsible Use Guide or similar responsible use structures. IBM recommends using this model for automatic speech recognition tasks. The model's modular design improves safety by limiting how audio inputs can influence the system. If an unfamiliar or malformed prompt is received, the model simply echoes it with its transcription. This minimizes the risk of adversarial inputs, unlike integrated models that directly interpret audio and may be more exposed to such attacks. Note that more general speech tasks may pose higher inherent risks of triggering unwanted outputs.

To enhance safety, we recommend using granite-speech-3.2-8b alongside Granite Guardian. Granite Guardian is a fine-tuned instruct model designed to detect and flag risks in prompts and responses across key dimensions outlined in the IBM AI Risk Atlas. Its training, which includes both human-annotated and synthetic data informed by internal red-teaming, enables it to outperform similar open-source models on standard benchmarks, providing an additional layer of safety.

Resources

Files

27 files · 17.0 GBWeights 17.0 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 27 files with their sha256
FileSizesha256
.gitattributes1.58 KBcfcc33c10167b0ef9100d7065260675b834256156625f511c6707ad32ef123f2
10226_10111_000000.wav540 KB6ee3e432f4ce88415747f0549628bfef0df742365813d38b18bf28067a40cd51
README.md10.3 KB02942d315d657bfbc185a5f35ce4a954fbc4193cce88187cd72df29156a80ec6
adapter_config.json717 B35819d927a7285e9fc7995566c8603acd4a21410b591083683d5147bd2380e29
adapter_model.safetensors68.2 MBe5795a9e05dcf02b82e6e3c934ac68b7e5c1522bdc9c7c86fb7a61f846d5adf7
added_tokens.json109 Ba1dc6b8e5c3230bda9bc11b1467db9bab30632a407356db19fa686faa3833271
config.json2.79 KBe01c0411584f9b3e5090c53d5650fab6960f7f0b225f53c5ef36a9e9775e7131
configuration_granite_speech.py4.54 KB4161358cd5b5fefd299c751ae085618202009fd77e862a9b1b29b42b7507d565
generation_config.json137 Bb1a3c4f3e690c4ae30146444849b3e176c41d83f3e88fa7f571580d167db5308
merges.txt442 KB303127a244b0078878156c17229f36d11b7a3a3f8e47b7cfdbb304ff46be5030
model-00001-of-00009.safetensors2.00 GB3995536316905c2e9216bea3060c531be819405bf74816a7813f9eb7750bf5f0
model-00002-of-00009.safetensors1.99 GB5aa399b0955532caf6add8c5bccfd85d7707121df4a929dbeb920ad2e63debf9
model-00003-of-00009.safetensors1.99 GBca6984101e4527c30a6686422385c938bddd68464ba2568afaac4546d553ad06
model-00004-of-00009.safetensors1.99 GBe481f464ba3c5a092f0f6e4603efd00f31d888f467fe67f0d229ccc2ff5837fa
model-00005-of-00009.safetensors1.99 GBf0173f47577f467112f60c49d45bf064992b208a1684a34fbf7a51bd1323a7dd
model-00006-of-00009.safetensors1.99 GBe7ec084d5412236e866a3c11bb8159379fcbc927fefd36256c112e7bcb702864
model-00007-of-00009.safetensors1.99 GBe24b8776b8347f07dd4fe08d0c46d1512da72050adecb9cbf699ce75596c60a6
model-00008-of-00009.safetensors1.99 GB91a59d704ffc2986c21fdd5d0706bea4eb3097ffc4186d1f33620798fd8d91ef
model-00009-of-00009.safetensors1.02 GB498899241400eadac5627b03129bbcb758d75ec05265e0037f2a51c021f51b36
model.safetensors.index.json68.1 KB4956330df4e3eba95da6bb0329dc811fe2b487ffa1b86747df91badc61ce14df
modeling_granite_speech.py62.6 KB2ff1c8f8135612a9b32ed8e05c125c25c36578a1a7852cfba1943b87c160caa2
preprocessor_config.json2 B44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
processing_granite_speech.py10.1 KB356da43aa87d21d378722ae37858f0b19b59f5970c4118611fba0565c9f69738
special_tokens_map.json701 B596d752bf46f5cace1f6826b52ed7d913347a4eea0ecce8ab2f869471ca40369
tokenizer.json3.48 MBc919158c0105236eff2de3386aa317a79046ddaa4d03cd1475990253401c02b2
tokenizer_config.json9.05 KB1308d6a38827659c32dd3230ed9dbed49f2eb7e78856a1e54422215a04b6311f
vocab.json777 KB80ab859339a2525fdfbda14bc39df02dffb824aefdaf86426217bbb146d17e01
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
d5835026ea pinned now2026-11-15 02:44 UTC27 files · 17.0 GB

Use it

$ fw get ibm-granite/granite-speech-3.2-8b
# manifest sha256 89efc39abf23… · 17.0 GB · 27 files
$ fw verify ./granite-speech-3.2-8b ibm-granite/granite-speech-3.2-8b
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/ibm-granite/granite-speech-3.2-8b.json --dir ./granite-speech-3.2-8b $ python3 fw.py verify ./granite-speech-3.2-8b ./ibm-granite__granite-speech-3.2-8b.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download ibm-granite/granite-speech-3.2-8b --revision d5835026ead54ba48927de4f6ed12b67848444f3 --local-dir ./granite-speech-3.2-8b
transformersSpeech recognition with the transformers pipeline.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import pipeline asr = pipeline("automatic-speech-recognition", model="ibm-granite/granite-speech-3.2-8b", revision="d5835026ead54ba48927de4f6ed12b67848444f3") print(asr("audio.wav")["text"])

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
02942d315d657bfbc185a5f35ce4a954fbc4193cce88187cd72df29156a80ec6
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: ibm-granite <huggingface.co/ibm-granite>Newsgroups: alt.freeweights.graniteSubject: granite-speech-3.2-8bDate: 2026-11-15Commit: d583502Signed: 2DC28CC7B26A283B ✓
Upstream
ibm-granite/granite-speech-3.2-8b
Pinned commit
d5835026ead54ba48927de4f6ed12b67848444f3
Manifest
granite-speech-3.2-8b.json · .minisig
Manifest sha256
89efc39abf23acaaaa6365dcf14016f77047d9efaa60c73dfb08122e820760aa
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 02:44 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/ibm-granite/granite-speech-3.2-8b.json $ curl -O https://freeweights.allternit.com/manifests/ibm-granite/granite-speech-3.2-8b.json.minisig $ minisign -Vm granite-speech-3.2-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

ibm-granite/granite-3.2-8b-instruct · this model is a finetune of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download ibm-granite/granite-speech-3.2-8b
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. granite-speech-3.2-8b.json. Provenance. Takedown history: none.
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.Edu.seed1
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.Edu.seed2
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.Edu.seed3
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.seed1
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.seed2
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.seed3