news 2026/4/18 10:45:17

模型加载时trust_remote_code 的作用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
模型加载时trust_remote_code 的作用

问题

在模型加载的时候,我们会观察到 trust_remote_code这个参数

model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True)

从名字上看,就是相信远程代码.如果我们的模型是完全下载到本地的,哪里来的远程代码呢?

解释

我们使用Transformer加载模型的时候,一般下载的文件只有权重文件(.bin、.safetensors)、配置(config.json)、tokenizer.json 等静态资源,不一定列出对应的自定义 modeling_*.py 源码文件
py文件用于指定模型是怎么运行的,如果是Transformer框架里面自带的类,就不需要另外下载远程py文件,

例子

一个典型例子就是你现在看的 Qwen3-30B-A3B 这类模型,它在仓库里自带了自定义的 Python 源码(例如自定义的 Qwen3MoeForCausalLM 模型类、注意力层、MoE 结构等),因此必须依赖 trust_remote_code=True 才能正常加载这些类。
但是我们通过浏览https://modelscope.cn/models/Qwen/Qwen3-30B-A3B/files
也没有发现对应的py文件,那是因为py文件并没有通过modelscope开放.

我们怎么看到py文件??

想看源码可以怎么做
在本地先用:

AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-30B-A3B", trust_remote_code=True)

载入一次模型。

载入完成后,到本机的缓存目录下(如 Hugging Face 对应

~/.cache/huggingface/modules/transformers_modules/

,ModelScope 也有类似目录)去找包含 qwen3_moe、Qwen3MoeForCausalLM 等名字的 .py 文件,就能看到真正的实现。

在无网络机器部署

在没有外网的环境部署这类需要下载远程 Python 代码的模型,思路是:

在有网环境:
用 trust_remote_code=True 正常 from_pretrained 一次,把模型、tokenizer 和远程代码都拉进本机缓存。
然后用 save_pretrained()(或直接 git clone 模型仓库)把权重、配置和代码保存到你自己的目录或镜像仓库里。

from transformers import AutoModelForCausalLM, AutoTokenizer model_id = "Qwen/Qwen3-30B-A3B" # 也可以是 modelscope 对应的 id tok = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True) save_dir = "./qwen3-30b-a3b-offline" tok.save_pretrained(save_dir) model.save_pretrained(save_dir)

在无网环境:
拷贝这个目录到离线机器。
用 from_pretrained(“本地路径”, trust_remote_code=True, local_files_only=True) 这样的方式加载,只从本地读文件,不再访问外网。

from transformers import AutoModelForCausalLM, AutoTokenizer local_dir = "/path/to/qwen3-30b-a3b-offline" tok = AutoTokenizer.from_pretrained( local_dir, trust_remote_code=True, local_files_only=True, ) model = AutoModelForCausalLM.from_pretrained( local_dir, trust_remote_code=True, local_files_only=True, )

local_files_only=True 确保完全离线,如果少文件会直接报错而不是悄悄访问外网。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 2:06:22

如何复现论文中的大模型方法并解决实际问题

关键词:人工智能大模型 人工智能培训 大模型培训 具身智能培训 智能体 VLA 将论文中的大模型方法应用于实际问题,是一个从“理论”到“实践”的转化过程。以下是系统化的步骤和建议,帮助你高效地实现这一目标: 一、理解论文方法的…

作者头像 李华
网站建设 2026/4/18 2:00:38

基于SpringBoot+Vue的学生捐赠物品管理系统设计与实现毕设

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot和Vue的学生捐赠物品管理系统。该系统旨在解决当前学生捐赠物品管理过程中存在的诸多问题,如信息不透明、捐…

作者头像 李华
网站建设 2026/4/18 1:57:18

java计算机毕业设计校园办公管理系统 高校无纸化协同办公平台的设计与实现 基于Java的智慧校园行政事务管理系统

计算机毕业设计校园办公管理系统n97i39(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。当“让数据多跑路、让师生少跑腿”成为高校治理的新常态,传统纸质签批、Excel …

作者头像 李华
网站建设 2026/4/18 2:02:28

基于SpringBoot+Vue的药物评价交流平台毕设

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在构建一个基于SpringBootVue的药物评价交流平台,以实现药物信息的共享、评价与交流。具体研究目的如下: 首先,本研究…

作者头像 李华
网站建设 2026/4/17 7:29:21

当工具变量遇上深度学习:DeepIV如何看透因果?

引子:从“涨价”不一定“减量”说起 生活中有许多看似反常的经济现象。比如,每逢节假日,机票价格飙升,但出游的人数却不减反增,各大航司的机票销售依旧火爆。如果我们天真地把“价格”和“销量”这两个数据点直接拿给…

作者头像 李华
网站建设 2026/4/18 1:57:14

Windows10 永久关闭预览窗格

在 Windows 10 中,预览窗格(Preview Pane)可以方便地快速查看文件内容(如文本、图片、视频等),但如果你希望永久关闭它,即使在重启后也不会自动开启,可以按照以下方法操作&#xff1…

作者头像 李华