You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

流式加载Common Voice微调Whisper ASR时Tokenizer报错求助

问题:训练Whisper ASR时提示"You need to specify either text or text_target"

我正尝试从Hugging Face下载大型语音数据集,为节省磁盘空间采用流式模式加载。数据加载过程一切正常,但训练Whisper ASR模型时出现报错:'You need to specify either text or text_target',该报错来自tokenization_utils_base.py。我已尝试通过tokenizer(text=batch['text'])或tokenizer(text_target=batch['text'])为batch设置labels,但问题仍未解决。

相关代码如下:

common_voice = load_dataset("mozilla-foundation/common_voice_11_0", "en", split="train", use_auth_token=True, streaming=True)
...

batch['labels'] = tokenizer(text=batch['text']).input_ids
...

trainer = Seq2SeqTrainer(
    args=training_args,
    model=model,
    train_dataset=Dataset['train'],
    eval_dataset=Dataset['train'],
    data_collator=data_collator,
    compute_metrics=compute_metrics,
    tokenizer=processor,)

Trainer.train()

附上报错截图,希望得到解决帮助。


解决方案
  • 修正tokenizer调用逻辑:Whisper作为Seq2Seq模型,训练时需要明确用text_target参数标记目标文本序列,且要使用processor封装的tokenizer(而非单独调用tokenizer)。修正后的标签生成代码应为:

    batch['labels'] = processor.tokenizer(text_target=batch['text']).input_ids
    
  • 完善预处理函数:确保预处理流程同时生成模型必需的input_features(语音特征)和labels,示例预处理函数如下:

    def preprocess_function(batch):
        # 提取语音特征
        audio = batch["audio"]
        batch["input_features"] = processor.feature_extractor(
            audio["array"], sampling_rate=audio["sampling_rate"]
        ).input_features[0]
        
        # 生成目标标签
        batch["labels"] = processor.tokenizer(text_target=batch["text"]).input_ids
        return batch
    
    # 将预处理函数应用到流式数据集
    common_voice = common_voice.map(preprocess_function)
    
  • 检查数据加载与Trainer参数:

    • 确认train_dataset和eval_dataset指向正确的预处理后数据集(比如上述代码中的common_voice,而非错误的Dataset['train']);
    • 使用Whisper专属的数据收集器WhisperDataCollatorWithPadding,它能正确处理语音特征和标签的对齐填充:
      from transformers import WhisperDataCollatorWithPadding
      data_collator = WhisperDataCollatorWithPadding(processor=processor)
      

内容的提问来源于stack exchange,提问作者PJAX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:22:23