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

Hugging Face技术问询:获取PAD token ID及模型初始化替换EOS为PAD

问题1:如何在Hugging Face Tokenizer中获取PAD token对应的token id?

  • 直接调用Tokenizer的pad_token_id属性就能拿到PAD token的ID,示例代码:
    from transformers import AutoTokenizer
    
    tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
    pad_token_id = tokenizer.pad_token_id
    print(pad_token_id)
    
  • 部分模型默认未设置pad_token,这种情况下需要先手动指定PAD token,再获取ID:
    tokenizer = AutoTokenizer.from_pretrained("gpt2")
    # 可以用现有token(比如eos token)作为pad token,或直接指定字符串如"[PAD]"
    tokenizer.pad_token = tokenizer.eos_token
    pad_token_id = tokenizer.pad_token_id
    

问题2:在初始化Hugging Face模型时,如何使用[PAD]替代eos_token_id?

在初始化模型时,通过from_pretrained方法的eos_token_id参数,将其设置为PAD token的ID即可,示例代码:

from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("gpt2")
tokenizer.pad_token = tokenizer.eos_token  # 先确保pad token已配置
pad_token_id = tokenizer.pad_token_id

# 初始化模型时指定eos_token_id为PAD token的ID
model = AutoModelForCausalLM.from_pretrained(
    "gpt2",
    eos_token_id=pad_token_id
)

如果是自定义初始化模型(不从预训练权重加载),同样在模型的初始化参数中把eos_token_id设置为PAD token的ID即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:52:13