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

如何设置config.init_device以结合Composer+FSDP实现模型快速初始化?

如何设置config.init_device以结合Composer+FSDP实现模型快速初始化?

嗨,我来帮你搞定这个问题~其实设置config.init_device="meta"的方式很简单,主要有两种常用路径,我给你一步步说明:

  • 方法一:先修改模型配置再加载模型
    你可以先单独加载模型的配置文件,手动修改init_device参数,再用修改后的配置去加载模型。代码示例如下:

    from transformers import AutoConfig, AutoTokenizer, AutoModelForCausalLM
    
    # 第一步:加载目标模型的配置
    config = AutoConfig.from_pretrained(model_name)
    # 第二步:把init_device改成"meta"
    config.init_device = "meta"
    
    # 第三步:用修改后的配置加载tokenizer和模型
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    model = AutoModelForCausalLM.from_pretrained(
        model_name,
        config=config,
        trust_remote_code=True
    )
    
  • 方法二:直接在加载模型时指定参数(部分模型支持)
    有些模型支持在from_pretrained方法里直接传入init_device参数,你也可以试试这种更简洁的写法:

    tokenizer = AutoTokenizer.from_pretrained(model_name)
    model = AutoModelForCausalLM.from_pretrained(
        model_name,
        init_device="meta",
        trust_remote_code=True
    )
    

简单解释下为啥要这么设置:init_device="meta"会让模型用延迟参数初始化的方式启动,不会一开始就把所有模型参数加载到CPU内存里,再配合Composer和FSDP的分布式训练框架,就能大幅加快大模型的初始化速度,还能节省内存资源~

备注:内容来源于stack exchange,提问作者zoomraider

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 10:24:31