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

使用TRL库在HuggingFace空间训练时遭遇PermissionError权限问题

解决HuggingFace空间Docker环境下TRL训练权限拒绝问题

核心问题定位

你遇到的PermissionError: [Errno 13] Permission denied是因为训练代码尝试创建Qwen3-0.6B-SFT目录时,当前用户没有对应目录的写入权限——这和HF_TOKEN本身权限无关,主要是Docker容器内的文件系统权限配置问题。

具体解决方案

  • 指定可写的输出/缓存目录
    不要用默认的当前工作目录,直接把模型输出和缓存路径指向容器内的/tmp目录(该目录默认全局可写):

    # 在训练代码中修改输出目录
    trainer = SFTTrainer(
        model=model,
        train_dataset=dataset,
        output_dir="/tmp/Qwen3-0.6B-SFT",  # 替换为/tmp下的路径
        args=training_args,
    )
    # 同时设置transformers缓存目录
    import os
    os.environ["TRANSFORMERS_CACHE"] = "/tmp/huggingface_cache"
    
  • 调整Docker容器用户权限
    在Dockerfile中添加用户权限配置,避免用root用户运行(部分HuggingFace Spaces环境限制root写入):

    # 创建非root用户并切换
    RUN useradd -m appuser
    USER appuser
    # 设置工作目录为用户可写路径
    WORKDIR /home/appuser
    
  • 检查工作目录权限
    如果坚持使用自定义工作目录,在Dockerfile中赋予该目录可写权限:

    WORKDIR /app
    RUN chmod 777 /app  # 测试用,生产环境建议缩小权限范围
    

报错信息复现

创建Qwen3-0.6B-SFT目录时触发PermissionError: [Errno 13] Permission denied

内容的提问来源于stack exchange,提问作者Vishal Joshi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 09:12:05