网易首页 > 网易号 > 正文 申请入驻

modelscope v1.37.1 修复 trust_remote_code 兼容性问题:一次看懂 2026-05-22 最新补丁版全部更新

0
分享至




2026年5月22日,modelscope 发布了 v1.37.1 这个补丁版本。
从官方给出的说明来看,这次更新的核心非常明确:修复 trust_remote_code 在多个场景下的兼容性问题
虽然它是一个 patch release,但从实际改动文件和代码分布来看,这次更新涉及面并不小,覆盖了模型基类、多个视觉模型、音频管线、管线构建器、训练器构建器、预处理器、注册机制、自动模型工具、镜像构建脚本以及版本号更新等多个部分。

一、v1.37.1 官方更新说明

本次版本发布信息如下:

  • • 版本:v1.37.1

  • • 发布时间:2026年5月22日

  • • 更新类型:Patch release

  • • 核心修复:Fix compatibility issues with trust_remote_code across multiple scenarios

也就是说,官方明确强调的不是新增大功能,而是围绕 trust_remote_code 的跨场景兼容性问题做了集中修复。

从变更记录看,这次版本共包含:

  • • 7 commits

  • • 16 files changed

  • • 3 contributors

  • • 43 additions

  • • 24 deletions

说明这次更新虽然是补丁版本,但实际代码联动范围比较广,且改动集中在安全加载、信任远程代码、白名单逻辑、管线和模型加载流程这些关键路径上。

二、本次更新的整体核心:trust_remote_code 兼容性修复

如果只用一句话概括 v1.37.1,那就是:

让 trust_remote_code 在更多场景下能正确生效,同时避免在某些受信任模型或特定模块中出现不必要的参数传递和兼容性问题。

从修改文件来看,这次更新围绕以下几类场景展开:

  1. 1. 基类模型加载时的 trust_remote_code 判断优化

  2. 2. pipeline 构建时对模型来源的信任判断优化

  3. 3. trainer 构建时对模型来源的信任判断优化

  4. 4. 预处理器加载接口补齐 trust_remote_code 参数

  5. 5. 多个具体模型、pipeline 中 check_trust_remote_code 的调用方式统一

  6. 6. 注册和构建逻辑中去除不该传递给非 modelscope 模块的 trust_remote_code 参数

  7. 7. 白名单机制扩展到 iic 和 damo

  8. 8. Docker CPU 镜像里的依赖版本约束调整

  9. 9. 版本号提升到 1.37.1,发布日期同步更新

下面逐项展开。

三、docker 相关更新 1. docker/Dockerfile.ubuntu:CPU 镜像依赖约束调整

docker/Dockerfile.ubuntu 中,CPU 分支的安装命令发生了变化:

原来是:

  • pip install --no-cache-dir huggingface-hub transformers peft diffusers -U

现在改成:

  • pip install --no-cache-dir huggingface-hub "transformers<5.9" peft diffusers -U

这说明在 CPU 镜像环境下,transformers 被增加了版本上限约束,限制为 <5.9

这类修改通常是为了保持与现有代码或依赖组合的兼容性。虽然这里没有展开具体原因,但从补丁版本定位和本次整体更新主题看,它属于兼容性修复链路中的一环。

2. docker/Dockerfile.ubuntu.old:新增镜像构建模板

docker/Dockerfile.ubuntu.old 发生了新增内容,内容包括:

  • FROM {base_image}

  • ARG CUR_TIME={cur_time}

  • RUN echo $CUR_TIME

  • • 通过 GIT_LFS_SKIP_SMUDGE=1 克隆 modelscope 仓库指定分支

  • • 进入 modelscope 目录执行 pip install . -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

  • • 最后删除临时目录并清理 pip 缓存

这一部分显示出 Docker 构建模板中加入了时间戳和分支变量替换机制,也和后面的 build_image.py 修改形成呼应。

3. docker/build_image.py:补充 cur_time 变量替换

docker/build_image.py 中两处 generate_dockerfile() 逻辑都新增了:

  • content = content.replace('{cur_time}', formatted_time)

也就是说,Dockerfile 模板中的 {cur_time} 会被实际构建时间替换掉。

这和上面的 docker/Dockerfile.ubuntu.old 里的:

  • ARG CUR_TIME={cur_time}

  • RUN echo $CUR_TIME

是配套的,说明镜像构建流程加入了时间信息注入。

四、模型基类 base_model.py 的关键修复

这是本次更新最重要的文件之一。

1. 初始化时 trust_remote_code 的判断变化

modelscope/models/base/base_model.py 中,原来是:

  • self.trust_remote_code = kwargs.get('trust_remote_code', False)

现在改成:

  • self.trust_remote_code = kwargs.get('trust_remote_code', False) or check_model_from_owner_group(model_dir)

这意味着:
如果用户没有显式开启 trust_remote_code,但模型属于受信任的 owner group,那么也会自动认为 trust_remote_code 为真。

2. from_pretrained 逻辑增强

from_pretrained 中新增:

  • _model_trusted = check_model_from_owner_group(model_name_or_path)

  • trust_remote_code = trust_remote_code or _model_trusted

也就是说,加载模型时会先判断模型是否属于受信任来源,再与用户传入的 trust_remote_code 合并。

3. default_args 的传递条件收紧

原来逻辑是:

  • • 只要 trust_remote_code 为真,就把它放入 default_args

现在改成:

  • if trust_remote_code and not _model_trusted:

  • • 才设置 default_args = {'trust_remote_code': trust_remote_code}

这点非常关键。
它表示:如果模型本身已经是可信来源,就没有必要再把 trust_remote_code 作为默认参数强行传递下去。

这类处理的作用就是减少不必要的参数污染,同时提高和下游构建流程的兼容性。

五、多个具体模型中的 check_trust_remote_code 调用调整

本次更新中,多个模型文件都把原来的:

  • self.check_trust_remote_code()

改成了带 model_dir 参数的形式,例如:

  • self.check_trust_remote_code(self.model_dir)

  • self.check_trust_remote_code(model_dir=model_dir)

涉及文件包括:

  • modelscope/models/cv/anydoor/anydoor_model.py

  • modelscope/models/cv/image_view_transform/image_view_transform_infer.py

  • modelscope/models/cv/tinynas_detection/detector.py

  • modelscope/models/cv/video_depth_estimation/dro_model.py

1. anydoor_model.py

这里原来是:

  • self.check_trust_remote_code()

现在变为:

  • self.check_trust_remote_code(self.model_dir)

说明该模型在校验远程代码信任状态时,明确依赖模型目录信息。

2. image_view_transform_infer.py

这里原来是:

  • self.check_trust_remote_code()

现在变为:

  • self.check_trust_remote_code(model_dir=model_dir)

同样是在初始化阶段把模型目录显式传给信任校验逻辑。

3. tinynas_detection/detector.py

这里原来是:

  • self.check_trust_remote_code()

现在变为:

  • self.check_trust_remote_code(model_dir=model_dir)

4. video_depth_estimation/dro_model.py

这里原来也是:

  • self.check_trust_remote_code()

现在变为:

  • self.check_trust_remote_code(model_dir=model_dir)

这一组改动的共同方向很明显:
统一把模型目录作为信任判断的上下文输入,避免仅靠默认状态做判断带来的兼容性问题。

六、音频 pipeline 的修复

modelscope/pipelines/audio/linear_aec_pipeline.py 中,check_trust_remote_code 的调用也被调整。

原来类似是:

  • • 调用 self.check_trust_remote_code(...)

现在补充了:

  • model_dir=model

也就是在提示信息之外,明确把模型路径传进去。

这表明该音频 pipeline 在加载模块时,也需要依赖模型目录来判断是否允许远程代码执行。

从改动结构看,这部分不仅仅是提示文案微调,而是加载上下文更完整了。

七、disco_guided_diffusion pipeline 的修复

modelscope/pipelines/multi_modal/disco_guided_diffusion_pipeline/disco_guided_diffusion.py 中有两处调整。

1. check_trust_remote_code 增加 model_dir 参数

原来只传了提示信息,现在增加了:

  • model_dir=model

也就是说,和其他模型/管线一样,信任判断时加入模型目录参数。

2. 删除了重复或冗余的 trust_remote_code 检查

原来文件中存在一段:

  • self.trust_remote_code = kwargs.get('trust_remote_code', False)

  • self.check_trust_remote_code(...)

这部分在本次更新中被删除。

这说明这个 pipeline 的 trust_remote_code 处理逻辑进行了收敛,避免重复判断或重复传参。

八、pipeline builder 的重要调整

modelscope/pipelines/builder.py 是这次更新的核心文件之一,因为它直接影响 pipeline 构建流程。

1. 引入受信任模型判断

新增导入:

  • from modelscope.utils.automodel_utils import check_model_from_owner_group

并且在 pipeline() 函数中:

  • • 先从 model 中提取 model_id

  • • 再计算 _model_trusted = check_model_from_owner_group(model_id)

  • • 然后: trust_remote_code = trust_remote_code or _model_trusted

也就是说,pipeline 构建时也加入了“受信任来源自动放行”的逻辑。

2. build_pipeline 的 default_args 传递方式改变

原来逻辑是直接:

  • return build_pipeline(cfg, task_name=task, default_args={'trust_remote_code': trust_remote_code})

现在改成:

  • • 如果 _model_trusted ,直接 return build_pipeline(cfg, task_name=task)

  • • 否则才:

    • return build_pipeline(cfg, task_name=task, default_args={'trust_remote_code': trust_remote_code})

这和 base_model.py 的改法是一致的:
受信任模型不再额外传递 trust_remote_code 参数。

这类变化对于修复跨场景兼容性非常重要,因为很多构建链路并不希望收到这个参数,尤其是当目标对象并不是 modelscope 内部对象时。

九、preprocessors/base.py:补齐 trust_remote_code 参数

modelscope/preprocessors/base.py 中的 from_pretrained 签名新增了:

  • trust_remote_code=False

这个修改非常直接:
说明预处理器加载也开始支持统一的远程代码信任控制。

虽然这段 diff 只展示了方法签名变化,但从版本主题看,它是完整修复链路的一部分,确保预处理器在从远程仓库加载时具备与模型、pipeline 一致的控制入口。

十、trainer builder 的调整

modelscope/trainers/builder.py 也加入了与 pipeline 类似的逻辑。

新增导入:

  • from modelscope.utils.automodel_utils import check_model_from_owner_group

并且在 build_trainer() 中:

  • • 从 default_args 中取出 model

  • • 解析 model_id

  • • 计算 trust_remote_code = default_args.get('trust_remote_code', False) or check_model_from_owner_group(model_id)

这说明 trainer 的构建逻辑也开始基于模型来源自动判断是否可信。

这与 pipeline 和 base_model 的改动思路统一:
只要模型属于特定受信任来源,就可以自动进入可信路径,减少对外显式参数的依赖。

十一、automodel_utils.py:增强模型来源检查

modelscope/utils/automodel_utils.py 中,check_model_from_owner_group 的开头判断从:

  • if not model_dir:

变成:

  • if not model_dir or not isinstance(model_dir, str):

这个修复看起来很小,但很关键。
它意味着这个函数现在会先排除非字符串类型输入,避免在某些场景下因为传入列表、对象或其他类型而导致兼容性问题。

结合上面的 pipeline、trainer、base_model 改动,说明这个函数在本次版本里被更多地方调用,因此需要更稳健的输入防护。

十二、registry.py:去除非 modelscope 模块的 trust_remote_code 参数

modelscope/utils/registry.py 中有一处非常值得注意的改动。

新增逻辑:

  • • 如果 obj_cls.__module__ 不是以 modelscope 开头

  • • 就执行 args.pop('trust_remote_code', None)

这意味着:
当要构造的类并不是 modelscope 自己的模块时,trust_remote_code 这个参数会被移除,不再传给外部类构造函数。

这一点正是“跨场景兼容性修复”的典型做法。
因为很多第三方类并不接受这个参数,如果强行传递,就容易出现构造失败或参数冲突。

所以这次更新本质上是在 registry 这一层做了参数隔离,防止 trust_remote_code 被错误地扩散到不需要它的对象上。

十三、版本号更新

modelscope/version.py 中进行了版本升级:

  • __version__ = '1.37.0' 改为 __version__ = '1.37.1'

同时发布说明日期也更新为:

  • __release_datetime__ = '2026-05-20 23:59:59'

这和本次版本发布信息是对应的。

十四、本次更新的文件清单意义总结

从本次改动涉及的文件来看,更新覆盖范围非常明确:

  • • Docker 构建链路

  • • 模型基类

  • • 多个视觉模型

  • • 音频 pipeline

  • • 多模态 pipeline

  • • pipeline 构建器

  • • preprocessor 基类

  • • trainer 构建器

  • • 自动模型工具

  • • registry

  • • version

这说明 v1.37.1 不是单点修补,而是围绕 trust_remote_code 的完整链路修正。

十五、这次更新最值得关注的结论

如果要提炼这次版本更新的重点,可以概括为以下几点:

  1. 1. 官方明确修复了 trust_remote_code 在多个场景下的兼容性问题。

  2. 2. 模型、pipeline、trainer、preprocessor、registry 等多个入口都统一了 trust 判断逻辑。

  3. 3. 对于 iicdamo 这类受信任来源,系统会自动识别,减少手动传参。

  4. 4. 在非 modelscope 模块构造过程中,会主动去掉 trust_remote_code ,降低兼容风险。

  5. 5. 多个具体模型和 pipeline 的 check_trust_remote_code 调用方式被统一为带 model_dir 参数。

  6. 6. CPU 镜像中的 transformers 版本被限制为 <5.9 ,体现了依赖层面的兼容性控制。

  7. 7. 版本号从 1.37.0 升级到 1.37.1,属于正式补丁发布。

十六、结语

代码地址:github.com/modelscope/modelscope

总的来说,modelscope v1.37.1 是一次典型但非常重要的补丁更新。
它没有带来大规模功能扩展,却精准地修复了 trust_remote_code 在多场景下的兼容问题,并同步调整了 Docker、模型加载、管线构建、训练器构建、注册机制等关键路径。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
萧华回应假摔话题!透露NBA未来革新:出界问题将由AI自动判定

萧华回应假摔话题!透露NBA未来革新:出界问题将由AI自动判定

罗说NBA
2026-05-28 08:51:42
伊朗革命卫队据报向美油轮开火

伊朗革命卫队据报向美油轮开火

财联社
2026-05-28 09:24:07
死亡人数高达31人,我们低估了这场暴雨

死亡人数高达31人,我们低估了这场暴雨

凤凰WEEKLY
2026-05-27 17:06:50
上海泳渡女子露胸事件升级!网友:相片看了是哺乳期,选手很漂亮

上海泳渡女子露胸事件升级!网友:相片看了是哺乳期,选手很漂亮

火山詩话
2026-05-27 09:18:17
国内将逐渐停止"肠镜检查"?做完对身体有无影响?医生告诉您真相

国内将逐渐停止"肠镜检查"?做完对身体有无影响?医生告诉您真相

垚垚分享健康
2026-05-27 11:20:11
热搜第一!知名女演员突然眼睛血管破裂!医生:出现这种症状立即就医

热搜第一!知名女演员突然眼睛血管破裂!医生:出现这种症状立即就医

上观新闻
2026-05-27 19:08:17
“晾了三天,终于臭了”!不少人连夜抢购,已卖爆

“晾了三天,终于臭了”!不少人连夜抢购,已卖爆

深圳晚报
2026-05-27 08:23:58
逆天发言!法拉利前主席怒喷首款纯电车:中国人都不会抄

逆天发言!法拉利前主席怒喷首款纯电车:中国人都不会抄

泡泡网
2026-05-27 11:25:19
同事婆婆去世,请假要上传证明!她把婆婆灵堂、亡身都上传了...人事半夜审核,魂儿吓没了

同事婆婆去世,请假要上传证明!她把婆婆灵堂、亡身都上传了...人事半夜审核,魂儿吓没了

医脉圈
2026-05-27 20:42:28
谈成了?与中国会面后,巴拿马当场作承诺,但只给面子不给里子!

谈成了?与中国会面后,巴拿马当场作承诺,但只给面子不给里子!

青青子衿
2026-05-28 01:40:03
全新一代问界M9正式上市!余承东:我不是很谦虚 它是地球上性能最强SUV

全新一代问界M9正式上市!余承东:我不是很谦虚 它是地球上性能最强SUV

快科技
2026-05-27 17:10:27
祝霍启刚张维为合作之路越走越宽!

祝霍启刚张维为合作之路越走越宽!

不主流讲话
2026-05-27 15:32:36
南部战区对荷兰侵入舰机警示电子干扰,专家:已相当克制

南部战区对荷兰侵入舰机警示电子干扰,专家:已相当克制

环球网资讯
2026-05-27 22:59:11
体感60℃夺命来袭,14亿印度人正坠入高温死局!

体感60℃夺命来袭,14亿印度人正坠入高温死局!

52赫兹实验室
2026-05-27 14:39:27
别阻止娃玩手机!马斯克:刷视频是如何让大脑变笨,得让孩子知晓

别阻止娃玩手机!马斯克:刷视频是如何让大脑变笨,得让孩子知晓

西红柿妈妈
2026-05-27 09:00:18
被央媒怒批,目不识丁、德不配位,这几位“文盲”明星到底凭啥火

被央媒怒批,目不识丁、德不配位,这几位“文盲”明星到底凭啥火

汉字笔迹心理分析
2026-05-27 07:12:08
即将体检!巴萨8000万欧签下25岁戈登 或不买断拉什福德+退回曼联

即将体检!巴萨8000万欧签下25岁戈登 或不买断拉什福德+退回曼联

我爱英超
2026-05-28 06:17:11
基辅将被毁灭?俄军图95战轰千里南调,专家评估:大规模轰炸开始

基辅将被毁灭?俄军图95战轰千里南调,专家评估:大规模轰炸开始

混沌录
2026-05-27 21:50:48
马刺心灰意冷选择摆烂,NBA联盟彻底陷入慌乱!

马刺心灰意冷选择摆烂,NBA联盟彻底陷入慌乱!

田先生篮球
2026-05-27 20:51:10
袁方任云南省副省长

袁方任云南省副省长

新京报
2026-05-28 09:57:08
2026-05-28 10:40:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1251文章数 69关注度
往期回顾 全部

科技要闻

台积电3纳米下半年涨价15% 明年或再涨10%

头条要闻

广西10名零工掉江遇难:15人挤1辆皮卡 有1家3人身亡

头条要闻

广西10名零工掉江遇难:15人挤1辆皮卡 有1家3人身亡

体育要闻

这群老阿姨,是最硬核的马刺球迷

娱乐要闻

曝大嫂冒充七七同学,林俊杰删掉合照

财经要闻

一线调查丨燃油车“甩卖”也难卖

汽车要闻

限时补贴价9.28-10.98万 MG 4X正式上市

态度原创

手机
时尚
旅游
游戏
家居

手机要闻

亚马逊接手苹果20%卫星投资,iPhone 17等卫星功能暂不受影响

丑到离谱的牛马鞋,新中产抢疯了

旅游要闻

七十载蝶变 藏着凯里人幸福与乡愁的老街

魔兽世界:黑翼之巢——玩家心中份量最重的武器,你最爱哪一款?

家居要闻

古老而持久 石影扶手椅

无障碍浏览 进入关怀版