Hugging Face 模型缓存占用过大怎么办?教你一招避坑
博客主页瑕疵的CSDN主页 Gitee主页瑕疵的gitee主页⏩ 文章专栏《热点资讯》被Hugging Face缓存坑到硬盘告急30秒解决目录昨天跑模型硬盘突然弹出“No space left on device”。一查~/.cache/huggingface/hub 直接占满20G。我当场傻眼——就跑了个小模型缓存怎么比模型还大根源就俩字懒。Hugging Face默认把模型缓存塞进系统缓存目录不自动清理。每次加载新模型它就复制一份到这个坑里。我试过跑5次缓存直接叠成山。就像你买衣服不扔旧的衣柜直接炸了。错误示范不设缓存路径fromtransformersimportAutoModel# 用默认缓存路径每次跑都新增modelAutoModel.from_pretrained(bert-base-uncased)# 缓存路径~/.cache/huggingface/hub运行后缓存目录疯狂增长。磁盘告急不是意外是必然。正确姿势指定缓存路径importos# 1. 全局设置环境变量推荐os.environ[HUGGINGFACE_HUB_CACHE]/mnt/d/hf_cache# 指向大容量盘# 2. 或在加载时指定更灵活modelAutoModel.from_pretrained(bert-base-uncased,cache_dir/mnt/d/hf_cache# 显式指定路径不依赖环境变量)关键注释cache_dir参数直接控制本次加载的缓存位置比环境变量更安全避免污染全局。选个大硬盘路径比如D盘彻底避开系统盘。环境变量HUGGINGFACE_HUB_CACHE是全局生效但优先用cache_dir避免其他脚本意外影响。看这个目录就是罪魁祸首。避坑总结永远别用默认路径。跑模型前先想“缓存放哪” 选个有100G的盘。清理老缓存如果已经爆了直接删目录rm-rf~/.cache/huggingface/hub# 别犹豫确认没进程在用别信“缓存是好事”。缓存省时间但占空间是真坑。我上周被坑了三次现在脚本里必须带cache_dir。测试时用小模型。先试distilbert-base-uncased别一上来就跑gpt-j-6b。我踩过坑第一次用默认路径跑完模型发现磁盘只剩1%。重装系统花了2小时——就为了一个缓存。现在代码里一写cache_dir心里就踏实。记住Hugging Face的缓存不是自动清理的。你得主动管它不然硬盘会先你一步崩溃。最后吐槽这设计真像“给用户挖坑然后说‘你没看文档’”