近期入手LLM,使用transformers的from_pretrained函数导入库外代码和预训练模型。由于有修改原文件代码的需求,发现了一个奇怪的现象:
- 明明给定了代码和预训练模型路径,但代码运行后显示执行的是cache内的缓存代码
- 修改cache缓存路径中的代码,运行后代码会自动还原
- 服务器不能连接huggingface,但代码却可以缓存到cache中去
经过检查from_pretrained代码发现,每次载入外部代码和模型时会将给定路径中的代码文件拷贝一份至cache缓存路径,故而出现上述现象。