模型:
MU-NLPC/whisper-large-v2-audio-captioning
语言:
en许可:
cc-by-nc-4.0用于自动音频字幕的Transformer编码器-解码器模型。与语音转文本不同,字幕可以描述音频片段的内容,例如突出的声音或环境噪音。这个任务有很多实际应用,例如为听力障碍者提供对音频信息的访问权限,或者提高音频内容的可搜索性。
模型将音频片段(最长30秒)作为输入传递给编码器,并将关于字幕风格的信息作为强制前缀传递给解码器。
最简示例:
# Load model checkpoint = "MU-NLPC/whisper-large-v2-audio-captioning" model = WhisperForAudioCaptioning.from_pretrained(checkpoint) tokenizer = transformers.WhisperTokenizer.from_pretrained(checkpoint, language="en", task="transcribe") feature_extractor = transformers.WhisperFeatureExtractor.from_pretrained(checkpoint) # Load and preprocess audio input_file = "..." audio, sampling_rate = librosa.load(input_file, sr=feature_extractor.sampling_rate) features = feature_extractor(audio, sampling_rate=sampling_rate, return_tensors="pt").input_features # Prepare caption style style_prefix = "clotho > caption: " style_prefix_tokens = tokenizer("", text_target=style_prefix, return_tensors="pt", add_special_tokens=False).labels # Generate caption model.eval() outputs = model.generate( inputs=features.to(model.device), forced_ac_decoder_ids=style_prefix_tokens, max_length=100, ) print(tokenizer.batch_decode(outputs, skip_special_tokens=True)[0])
示例输出: clotho > 字幕:雨水倾泻而下,雷声在背景中隆隆作响。
样式前缀会影响字幕的样式。模型了解3种样式:audioset > 关键词:,audiocaps > 字幕:,以及clotho > 字幕:。 它在Clotho上进行了微调,并且这是预期的“默认”样式。
WhisperTokenizer必须以 language="en" 和 task="transcribe" 进行初始化。
我们的模型类WhisperForAudioCaptioning可以在我们的git存储库或此处的HuggingFace模型存储库中找到。该类重写了默认的Whisper generate方法,以支持强制解码器前缀。
该模型是通过原始语音到文本openai/whisper-large-v2权重进行初始化的。然后,它在(1)带有合成标签的AudioSet子集、(2)AudioCaps字幕数据集和(3)Clotho v2.1字幕数据集的混合上进行了预训练。最后,它在Clotho v2.1上进行微调,以便将模型专注于特定样式的字幕。对于每个训练输入,模型都会了解数据的来源,以便在所有3种样式中模拟字幕风格。
在预训练期间,每个批次中的样本比例大约为12:3:1(AudioSet:AudioCaps:Clotho)。预训练共采用了13500个步骤,批次大小为32,学习率为2e-5。微调仅在Clotho上进行,模型训练了2200个步骤,批次大小为32,学习率为4e-6。在微调期间,除了fc1层之外的所有层都被冻结。
有关培训方案的更多信息,请参阅技术报告。
元数据中报告的指标是使用5个搜索束进行的Clotho v2.1测试集生成的字幕计算得出的。
whisper-tiny | whisper-small | whisper-large-v2 | |
---|---|---|---|
SacreBLEU | 13.77 | 15.76 | 16.50 |
METEOR | 0.3452 | 0.3781 | 0.3782 |
CIDEr | 0.3404 | 0.4142 | 0.4331 |
SPICE | 0.1077 | 0.1234 | 0.1257 |
SPIDEr | 0.2240 | 0.2687 | 0.2794 |
模型生成的字幕可能会误导或不真实,即使它们看起来令人信服。这种产生幻觉尤其发生在未在微调数据中出现的领域。
虽然OpenAI的原始语音到文本检查点是在多语言数据上训练的,但我们的训练仅包含英文字幕,因此不支持其他语言的预期。
模型权重以非商业许可证CC BY-NC 4.0发布,因为该模型是在用于非商业用途的数据集上进行微调的。
如果您想讨论此事,请通过电子邮件与我们联系,电子邮件地址为kadlcik@mail.muni.cz或ahajek@mail.muni.cz。