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

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.

相关推荐
热点推荐
情商低的人有多讨厌?网友:这不就是我刚断联系的朋友吗

情商低的人有多讨厌?网友:这不就是我刚断联系的朋友吗

带你感受人间冷暖
2026-08-08 00:05:30
赵露思演唱会,比基尼加持,纤细小腰,白嫩肌肤,极具观赏

赵露思演唱会,比基尼加持,纤细小腰,白嫩肌肤,极具观赏

吃瓜党二号头目
2026-08-08 12:30:25
八月运势大爆发!这4大生肖鸿运当头,财运事业双丰收,看看有你吗?

八月运势大爆发!这4大生肖鸿运当头,财运事业双丰收,看看有你吗?

星座感悟
2026-08-08 13:29:03
生死未卜!8月7日程梦园的哥哥接受采访,现在女儿梯搜索完毕,草都一人多高,都有钻进去找,所以进展缓慢

生死未卜!8月7日程梦园的哥哥接受采访,现在女儿梯搜索完毕,草都一人多高,都有钻进去找,所以进展缓慢

火山詩话
2026-08-08 16:01:14
2026年下半年:要做好“潮水退却”的准备,房价或将超你想象!

2026年下半年:要做好“潮水退却”的准备,房价或将超你想象!

巢客HOME
2026-08-06 05:25:03
上海医院里最出名的十位医生

上海医院里最出名的十位医生

健身狂人
2026-08-08 14:30:22
“悲剧英雄”泽连斯基:用百万血肉试错,让中国拿到了新的入场券

“悲剧英雄”泽连斯基:用百万血肉试错,让中国拿到了新的入场券

比利
2026-08-07 03:35:23
伊朗媒体发布伊朗最高领袖视频

伊朗媒体发布伊朗最高领袖视频

封面新闻
2026-08-08 20:39:02
萧敬腾终于坦白!与大14岁妻子选择丁克不是不想要,而是另有原因

萧敬腾终于坦白!与大14岁妻子选择丁克不是不想要,而是另有原因

叹为观止易
2026-08-08 16:03:14
国际社会炸锅!联合国重磅发声:柬埔寨电诈保护伞究竟是谁?

国际社会炸锅!联合国重磅发声:柬埔寨电诈保护伞究竟是谁?

芳芳历史烩
2026-08-07 07:54:43
周星驰张柏芝关系终于公开!预言成真,三胎生父谣言终于真相大白

周星驰张柏芝关系终于公开!预言成真,三胎生父谣言终于真相大白

微风轻拂面
2026-08-08 08:13:53
赛季报销!西甲队标王友谊赛被废:凶手猛踹其右膝 韧带损伤多处撕裂

赛季报销!西甲队标王友谊赛被废:凶手猛踹其右膝 韧带损伤多处撕裂

风过乡
2026-08-08 11:06:37
俄国防部:两艘向乌克兰港口运送武器的干货船被击中

俄国防部:两艘向乌克兰港口运送武器的干货船被击中

财联社
2026-08-08 16:19:04
国足3-2“大血洗”!赛后评分曝光:门将成“脓包”,一人太亮眼

国足3-2“大血洗”!赛后评分曝光:门将成“脓包”,一人太亮眼

林子说事
2026-08-08 09:01:42
中国两大巨头同日宣布:老挝勐康稀土项目暂停

中国两大巨头同日宣布:老挝勐康稀土项目暂停

每日经济新闻
2026-08-08 00:04:45
今晚公布的北京房产新政真猛:哪里才是安放自己的终极之地?

今晚公布的北京房产新政真猛:哪里才是安放自己的终极之地?

人格志
2026-08-08 01:25:16
四野顶级悍将刚牺牲,好兄弟却强娶其遗孀,竟然还要求孩子随他姓

四野顶级悍将刚牺牲,好兄弟却强娶其遗孀,竟然还要求孩子随他姓

睡前讲故事
2026-07-18 16:28:27
伊媒发布伊朗最高领袖穆杰塔巴视频:状态良好与多人交谈!伊朗:一旦美国接受伊朗的条件,霍尔木兹必将重新开放

伊媒发布伊朗最高领袖穆杰塔巴视频:状态良好与多人交谈!伊朗:一旦美国接受伊朗的条件,霍尔木兹必将重新开放

每日经济新闻
2026-08-08 19:26:05
多位院士共识:低密度脂蛋白在安全值,无需用药降脂

多位院士共识:低密度脂蛋白在安全值,无需用药降脂

健康之光
2026-08-08 13:25:10
45岁黄宗泽恋情曝光,对方身份疑为24岁TVB咪神,身材好到流鼻血

45岁黄宗泽恋情曝光,对方身份疑为24岁TVB咪神,身材好到流鼻血

兵卒史
2026-08-08 15:36:55
2026-08-08 21:04:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1380文章数 78关注度
往期回顾 全部

科技要闻

SpaceX最快下周完成600亿美元收购Cursor

头条要闻

烟草公司职工婚内出轨 与2名异性多次发生不正当关系

头条要闻

烟草公司职工婚内出轨 与2名异性多次发生不正当关系

体育要闻

29岁克拉克死因公布:吸食海洛因与可卡因

娱乐要闻

萧敬腾坦白!与大14岁妻子选择丁克

财经要闻

一枚“回旋镖”,击中王思聪

汽车要闻

华为乾崑ADS 5/限时售21.99万起 阿维塔07L正式上市

态度原创

手机
数码
房产
游戏
家居

手机要闻

真我realme 16x手机海外预热:天玑6300芯片,支持144Hz高刷

数码要闻

内存越贵越要扔!100多台48GB内存MacBook Pro被销毁 网友:捐了不行吗

房产要闻

一手信息流出!仁恒雲启西岸开盘,爆卖110套!

Steam喜加一 免费领取太空生存冒险游戏《呼吸边缘》

家居要闻

2026建博会(广州) 公装联探展交流活动

无障碍浏览 进入关怀版