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

LLaMA-Factory评估非官方模型触发TypeError,求解决方案

解决LLaMA-Factory评估非官方Llama衍生模型的TypeError问题

问题根源

这个TypeError大多是因为LLaMA-Factory默认逻辑针对官方Meta Llama模型设计,像beomi的韩语Llama这类衍生模型,在配置结构、tokenizer关联或模板适配性上和官方模型存在差异,导致代码中某个路径/参数读取为空值。

具体修复方案

1. 显式指定Tokenizer路径

部分衍生模型的tokenizer未被LLaMA-Factory自动识别,评估时手动指定tokenizer路径,确保和模型路径一致:

python src/train_bash.py \
    --stage sft \
    --do_eval \
    --dataset mmlu \
    --model_name_or_path beomi/llama-2-ko-7b \
    --tokenizer_name_or_path beomi/llama-2-ko-7b \
    --output_dir ./results \
    --per_device_eval_batch_size 4 \
    --max_samples 100

2. 补全模型配置缺失字段

检查本地缓存的beomi模型目录(通常在~/.cache/huggingface/hub/models--beomi--llama-2-ko-7b)下的config.json,确认是否存在"model_type": "llama"字段,若缺失则手动添加并保存,再重新运行评估。

3. 指定适配的Prompt模板

非官方模型可能使用不同的聊天格式,LLaMA-Factory默认模板不匹配会引发参数错误。尝试指定韩语适配模板(若LLaMA-Factory内置该模板):

python src/train_bash.py \
    --stage sft \
    --do_eval \
    --dataset mmlu \
    --model_name_or_path beomi/llama-2-ko-7b \
    --template llama2_ko \
    --output_dir ./results \
    --per_device_eval_batch_size 4

如果没有现成的韩语模板,可在llama_factory/templates目录下新建模板文件,参考官方llama2模板修改为适配韩语的格式。

4. 切换LLaMA-Factory稳定版本

部分新版本对非官方模型兼容性不足,可切换到经过验证的稳定版本(比如v0.5.0):

git checkout v0.5.0
pip install -r requirements.txt

前置验证步骤

先单独确认模型和tokenizer能正常加载,排除模型本身问题:

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("beomi/llama-2-ko-7b")
tokenizer = AutoTokenizer.from_pretrained("beomi/llama-2-ko-7b")
print("模型与Tokenizer加载正常")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 03:18:11