搭建RAG易错点
2026/7/4 5:46:36 网站建设 项目流程

错误信息Assertion 'input[0] != 0' failed + torch.multinomial

概率分布出现全零行numerical underflow)导致的

一、dtype=torch.float16

float16 最小正数约 5.96×10⁻⁸,temperature 缩放后 softmax 尾部概率超出此范围,被舍入为 0;bfloat16 下限约 1.17×10⁻³⁸,不会发生截断。
修改前
dtype=torch.float16
修改后
torch_dtype=torch.bfloat16 # 数值范围更大,softmax 不易下溢

二、缺少 top_p

没有对概率分布做截断,低概率区域全部参与采样,放大了数值不稳定的风险

classChatRequest(BaseModel):top_p:float=0.9# 新增,截断低概率 token

三、generate() 加入 top_p 和 eos_token_id

outputs=model.generate(...top_p=request.top_p,eos_token_id=tokenizer.eos_token_id,# 新增)

四、pad_token_id 可能为 None

Qwen tokenizer 某些版本 pad_token_id=None,传入 generate 会静默出错

pad_token_id=tokenizer.pad_token_idiftokenizer.pad_token_idisnotNoneelsetokenizer.eos_token_id

五、temperature 安全处理

do_sample=request.temperature>0gen_temperature=max(request.temperature,1e-6)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询