Gemma 3 4b It Speech
Gemma-3-MM是基于Gemma-3-4b-it扩展的多模态指令模型,新增语音处理能力,可处理文本、图像和音频输入,生成文本输出。
Downloads 383
Release Time : 3/22/2025
Model Overview
开源多模态指令模型,在Gemma-3基础上扩展语音处理能力,支持英语和韩语的语音识别与翻译任务。
Model Features
多模态处理能力
可同时处理文本、图像和音频输入,生成文本输出
长上下文支持
支持128K token的上下文长度(1B模型为32K)
语音适配器
通过添加596B参数的LoRA适配器扩展语音处理功能
多语言支持
支持英语和韩语的语音识别与翻译
Model Capabilities
文本生成
语音识别
语音翻译
多模态理解
Use Cases
语音转写
英语语音转录
将英语语音转换为文本
在LibriSpeech清洁版测试集上达到94.28 BLEU分数
韩语语音转录
将韩语语音转换为文本
在Zeroth测试集上达到94.91 BLEU分数
语音翻译
英韩翻译
将英语语音翻译为韩语文本
在Covost2测试集上达到31.55 BLEU分数
🚀 Gemma 3 MM模型卡片
Gemma-3-MM 是一个开源的多模态指令模型,它在原始Gemma-3模型的基础上进行了扩展,增加了语音处理能力。这些模型利用了原始Gemma-3模型中的语言和视觉研究成果,并通过语音适配器融入了额外的语音处理能力。该模型可以处理文本、图像和音频输入,生成文本输出,并且具有128K的令牌上下文长度(1B模型为32K)。
🚀 快速开始
运行环境准备
首先,升级你的Transformers库。现在支持在聊天模板中使用音频输入。
$ pip install -U transformers
运行模型
根据不同的使用场景,你可以选择以下两种方式运行模型:
基于聊天模板运行模型
from transformers import AutoProcessor, AutoModel
import torch
model_id = "junnei/gemma-3-4b-it-speech"
revision = "main" # 或者 "korean"。
model = AutoModel.from_pretrained(
model_id, device_map="auto", revision = revision, trust_remote_code=True
).eval()
processor = AutoProcessor.from_pretrained(
model_id, revision = revision, trust_remote_code=True
)
messages = [
{
"role": "user",
"content": [
{"type": "audio", "audio": "https://huggingface.co/microsoft/Phi-4-multimodal-instruct/resolve/main/examples/what_is_shown_in_this_image.wav"},
{"type": "text", "text": "将这段音频转录为文本。"}
]
}
]
inputs = processor.apply_chat_template(
messages, add_generation_prompt=True, tokenize=True,
return_dict=True, return_tensors="pt"
)
with torch.inference_mode():
generate_ids = model.generate(**inputs, max_new_tokens=128, do_sample=False)
generate_ids = generate_ids[:, inputs['input_ids'].shape[1] :]
response = processor.batch_decode(
generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(response)
# 这段音频里说了什么?
基于原始数据运行模型
from io import BytesIO
from urllib.request import urlopen
import soundfile
from PIL import Image
# 从URL获取音频数据
url = "https://huggingface.co/microsoft/Phi-4-multimodal-instruct/resolve/main/examples/what_is_shown_in_this_image.wav"
audio, sr = soundfile.read(BytesIO(urlopen(url).read()))
audio_token = '<start_of_audio>'
messages = [
{'role': 'user', 'content': audio_token + '将这段音频翻译成韩语。'}
]
prompt = processor.tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
inputs = processor(text=prompt, audio=[audio], add_special_tokens=False, return_tensors="pt")
with torch.inference_mode():
generate_ids = model.generate(**inputs, max_new_tokens=128, do_sample=False)
generate_ids = generate_ids[:, inputs['input_ids'].shape[1] :]
response = processor.batch_decode(
generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(response)
模型微调
这里有一个微调脚本:链接
你必须更改输出目录、上传目录,并适配你的数据集
python finetune_speech.py
✨ 主要特性
- 多模态处理:能够处理文本、图像和音频输入,生成文本输出。
- 语音处理能力:在原始Gemma-3模型的基础上增加了语音处理能力。
- 长上下文长度:具有128K的令牌上下文长度(1B模型为32K)。
📦 安装指南
升级Transformers库:
$ pip install -U transformers
💻 使用示例
基础用法
基于聊天模板运行模型,示例代码如下:
from transformers import AutoProcessor, AutoModel
import torch
model_id = "junnei/gemma-3-4b-it-speech"
revision = "main" # 或者 "korean"。
model = AutoModel.from_pretrained(
model_id, device_map="auto", revision = revision, trust_remote_code=True
).eval()
processor = AutoProcessor.from_pretrained(
model_id, revision = revision, trust_remote_code=True
)
messages = [
{
"role": "user",
"content": [
{"type": "audio", "audio": "https://huggingface.co/microsoft/Phi-4-multimodal-instruct/resolve/main/examples/what_is_shown_in_this_image.wav"},
{"type": "text", "text": "将这段音频转录为文本。"}
]
}
]
inputs = processor.apply_chat_template(
messages, add_generation_prompt=True, tokenize=True,
return_dict=True, return_tensors="pt"
)
with torch.inference_mode():
generate_ids = model.generate(**inputs, max_new_tokens=128, do_sample=False)
generate_ids = generate_ids[:, inputs['input_ids'].shape[1] :]
response = processor.batch_decode(
generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(response)
# 这段音频里说了什么?
高级用法
基于原始数据运行模型,示例代码如下:
from io import BytesIO
from urllib.request import urlopen
import soundfile
from PIL import Image
# 从URL获取音频数据
url = "https://huggingface.co/microsoft/Phi-4-multimodal-instruct/resolve/main/examples/what_is_shown_in_this_image.wav"
audio, sr = soundfile.read(BytesIO(urlopen(url).read()))
audio_token = '<start_of_audio>'
messages = [
{'role': 'user', 'content': audio_token + '将这段音频翻译成韩语。'}
]
prompt = processor.tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
inputs = processor(text=prompt, audio=[audio], add_special_tokens=False, return_tensors="pt")
with torch.inference_mode():
generate_ids = model.generate(**inputs, max_new_tokens=128, do_sample=False)
generate_ids = generate_ids[:, inputs['input_ids'].shape[1] :]
response = processor.batch_decode(
generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(response)
📚 详细文档
评估
模型评估指标和结果。这里有一个评估脚本用于评估模型。
ASR评估结果
基准测试 | 任务 | BLEU ↑ | CER ↓ | WER ↓ | 结果 |
---|---|---|---|---|---|
Covost2 | ASR (英语) | 86.09 | 4.12 | 7.83 | 链接 |
Fleurs | ASR (英语) | 89.61 | 2.28 | 5.23 | 链接 |
LibriSpeech-Clean | ASR (英语) | 94.28 | 0.98 | 2.91 | 链接 |
LibriSpeech-Other | ASR (英语) | 87.60 | 3.10 | 6.55 | 链接 |
AST评估结果
基准测试 | 任务 | BLEU ↑ | 结果 |
---|---|---|---|
Covost2 | AST (零样本,英语 - 韩语) | 31.55 | 链接 |
Fleurs | AST (零样本,英语 - 韩语) | 11.05 | 链接 |
(实验性) ASR:韩语分支
由于未应用韩语归一化器,分数较低。
基准测试 | 任务 | BLEU ↑ | CER ↓ | WER ↓ | 结果 |
---|---|---|---|---|---|
Zeroth | ASR (韩语) | 94.91 | 1.31 | 2.50 | 链接 |
Fleurs | ASR (韩语) | 62.83 | 9.08 | 23.0 | 链接 |
Covost2 | ASR (韩语) | 43.66 | 22.5 | 41.4 | 链接 |
模型详情
- 开发者:junnei
- 模型类型:多模态(文本、视觉、语音)语言模型
- 支持语言:多语言
- 许可证:Gemma
- 基础模型:google/gemma-3-4b-it
- 灵感来源:Phi-4-multimodal-instruct
训练详情
- 训练方式:在基础Gemma-3-4b-it模型上添加了一个596B参数的语音LoRA适配器。
- 训练资源限制:由于计算资源有限,该模型仅在ASR(自动语音识别)和AST(自动语音翻译)任务上,使用A100 1 GPU对有限的数据集和轮次进行了训练。
- 训练数据限制:训练数据仅限于英语和韩语,且音频时长小于30秒。
数据集
ASR / AST
局限性
请注意,该模型仅用于实验目的,是一个概念验证(PoC),不适合用于生产环境。为了提高模型的性能和可靠性,以下方面需要进一步开发:
- 更多计算资源:需要更多的计算资源进行扩展训练。
- 任务范围:目前,该模型仅适用于视觉 - 语言任务和音频 - 语言任务(ASR/AST)。
- 音频时长限制:由于计算资源不足,该模型主要识别时长小于30秒的音频文件。因此,对于较长的音频输入,准确性可能会显著下降。
- 未来计划:如果可能,将对模型进行训练以支持语音 - 视觉任务和更多的音频 - 语言任务。
🔧 技术细节
- 模型在原始Gemma-3模型的基础上,通过语音适配器融入了额外的语音处理能力。
- 训练时在基础Gemma-3-4b-it模型上添加了一个596B参数的语音LoRA适配器。
📄 许可证
本模型使用的许可证为 Gemma。
📖 引用
@article{gemma3mm_2025,
title={Gemma-3-MM: Multimodal Language Models with Speech Capabilities},
author={Seongjun Jang},
year={2025}
}
Qwen2 Audio 7B
Apache-2.0
Qwen2-Audio是通义千问大音频语言模型系列,支持语音聊天和音频分析两种交互模式。
音频生成文本
Transformers English

Q
Qwen
28.26k
114
Qwen2 Audio 7B GGUF
Apache-2.0
Qwen2-Audio是先进的小规模多模态模型,支持音频与文本输入,无需依赖语音识别模块即可实现语音交互。
音频生成文本 English
Q
NexaAIDev
5,001
153
Ultravox V0 5 Llama 3 3 70b
MIT
Ultravox是基于Llama3.3-70B和Whisper构建的多模态语音大语言模型,支持语音和文本输入,适用于语音代理、翻译等场景。
音频生成文本
Transformers Supports Multiple Languages

U
fixie-ai
3,817
26
Ultravox V0 4
MIT
Ultravox 是一款基于 Llama3.1-8B-Instruct 和 Whisper-medium 的多模态语音大语言模型,能够同时处理语音和文本输入。
音频生成文本
Transformers Supports Multiple Languages

U
fixie-ai
1,851
48
Aero 1 Audio
MIT
轻量级音频模型,擅长语音识别、音频理解及执行音频指令等多元任务
音频生成文本
Transformers English

A
lmms-lab
1,348
74
Ultravox V0 4 1 Mistral Nemo
MIT
Ultravox 是一个基于 Mistral-Nemo 和 Whisper 的多模态模型,可同时处理语音和文本输入,适用于语音代理、语音翻译等任务。
音频生成文本
Transformers Supports Multiple Languages

U
fixie-ai
1,285
25
Ultravox V0 6 Qwen 3 32b
MIT
Ultravox是一个多模态语音大语言模型,能够理解和处理语音输入,支持多种语言和噪声环境。
音频生成文本
Transformers Supports Multiple Languages

U
fixie-ai
1,240
0
Omniaudio 2.6B
Apache-2.0
全球最快、最高效的端侧部署音频语言模型,2.6B参数的多模态模型,可同时处理文本和音频输入。
音频生成文本 English
O
NexaAIDev
1,149
265
Qwen2 Audio 7B Instruct 4bit
这是Qwen2-Audio-7B-Instruct的4位量化版本,基于阿里巴巴云原版Qwen模型开发,是一个音频-文本多模态大语言模型。
音频生成文本
Transformers

Q
alicekyting
1,090
6
Ultravox V0 5 Llama 3 2 1b ONNX
MIT
Ultravox是一个多语言音频转文本模型,基于LLaMA-3-2.1B架构优化,支持多种语言的语音识别和转录任务。
音频生成文本
Transformers Supports Multiple Languages

U
onnx-community
1,088
3
Featured Recommended AI Models
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers Supports Multiple Languages

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers English

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 Chinese
R
uer
2,694
98