You need to enable JavaScript to run this app. 如何理解mBART中的decoder_start_token_id与forced_bos_token_id参数
优惠活动
大模型
产品
解决方案
定价
更多

如何理解mBART中的decoder_start_token_id与forced_bos_token_id参数

mBART系列模型decoder_start_token_id与forced_bos_token_id使用指南

参数含义差异

  • decoder_start_token_id:属于模型配置层参数,定义了解码器启动自回归生成时输入的第一个token。mBART预训练阶段就是用目标语言的语言ID作为解码器的起始输入,该参数修改后会全局生效,适合固定单目标语言的生成场景。
  • forced_bos_token_id:属于generate方法的调用层参数,作用是强制将生成结果的首token替换为指定ID,优先级高于模型配置中的decoder_start_token_id,不需要修改模型全局配置,适合多目标语言切换的生成场景。

不同mBART变体的参数选择

facebook/mbart-large-cc25

该版本为初代mBART预训练模型,官方示例推荐修改模型全局配置的decoder_start_token_id为目标语言ID,使用逻辑完全对齐预训练规则,示例代码如下:

from transformers import MBartForConditionalGeneration, MBartTokenizer
model = MBartForConditionalGeneration.from_pretrained("facebook/mbart-large-cc25")
tokenizer = MBartTokenizer.from_pretrained("facebook/mbart-large-cc25", src_lang="en_XX", tgt_lang="zh_CN")
# 固定解码器起始token为中文ID
model.config.decoder_start_token_id = tokenizer.lang_code_to_id["zh_CN"]
inputs = tokenizer("Hello world", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=100)

facebook/mbart-large-50 系列

该版本为优化后的50语言预训练模型,官方推荐直接在generate调用时传入forced_bos_token_id参数即可,无需修改模型全局配置,切换目标语言时仅需修改传参值即可,示例代码如下:

from transformers import MBartForConditionalGeneration, MBart50Tokenizer
model = MBartForConditionalGeneration.from_pretrained("facebook/mbart-large-50")
tokenizer = MBart50Tokenizer.from_pretrained("facebook/mbart-large-50", src_lang="en_XX")
inputs = tokenizer("Hello world", return_tensors="pt")
# 生成中文结果
outputs = model.generate(**inputs, forced_bos_token_id=tokenizer.lang_code_to_id["zh_CN"], max_new_tokens=100)
# 切换生成法语结果
outputs = model.generate(**inputs, forced_bos_token_id=tokenizer.lang_code_to_id["fr_XX"], max_new_tokens=100)

使用注意

  • 不要同时配置两个参数,避免逻辑冲突,forced_bos_token_id的优先级更高,会覆盖decoder_start_token_id的设置
  • 所有mBART变体必须指定对应目标语言的ID作为起始token,未指定的情况下默认使用未知语言ID,会出现输出乱码、内容不符合预期的问题
  • 经过特定双语任务微调后的mBART模型,如果微调阶段已经固定了目标语言的起始token,无需额外传参即可正常生成对应语言的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 17:39:03