HIT-SCIR-SC / QiaoBan

178 stars 19 forks source link

关于deepspeed配置文件的使用 #2

Open zzisbeauty opened 1 year ago

zzisbeauty commented 1 year ago

作者老师您好:

device_map = "auto"
world_size = int(os.environ.get("WORLD_SIZE", 1))
ddp = world_size != 1
if ddp:
        device_map = {"": int(os.environ.get("LOCAL_RANK") or 0)}
        gradient_accumulation_steps = max(gradient_accumulation_steps // world_size, 1)

load_in_8bit = True if args.use_lora else False
if model_type.lower() == "llama":
        model = LlamaForCausalLM.from_pretrained(
            model_name_or_path,
            load_in_8bit = load_in_8bit,
            device_map=device_map,
        )
        tokenizer = LlamaTokenizer.from_pretrained(model_name_or_path)
wccccp commented 1 year ago

作者老师您好:

  • 我看到在finetune脚本中,配置了args.use_lora=True后,才会使用deepspeed的配置文件,但是我不清楚为什么要这样;
  • 另外我不清楚device_map 的作用是什么,它配置的auto是什么作用,是否还有其它值可被设定;
  • 第三就是我不清楚ddp的作用是什么;
  • 我看到使用了use_lora=True后,model 才是以 load_in_8bit = True加载的;
  • 我是单机4张4090,我想尝试借助deepspeed进行微调,但是我由于不理解上述设置,导致CUDA溢出,请老师解释一下上述设置是什么意思? 感谢。
device_map = "auto"
world_size = int(os.environ.get("WORLD_SIZE", 1))
ddp = world_size != 1
if ddp:
        device_map = {"": int(os.environ.get("LOCAL_RANK") or 0)}
        gradient_accumulation_steps = max(gradient_accumulation_steps // world_size, 1)

load_in_8bit = True if args.use_lora else False
if model_type.lower() == "llama":
        model = LlamaForCausalLM.from_pretrained(
            model_name_or_path,
            load_in_8bit = load_in_8bit,
            device_map=device_map,
        )
        tokenizer = LlamaTokenizer.from_pretrained(model_name_or_path)

看见你的个性签名 感觉没必要解答

zzisbeauty commented 1 year ago

作者老师您好:

  • 我看到在finetune脚本中,配置了args.use_lora=True后,才会使用deepspeed的配置文件,但是我不清楚为什么要这样;
  • 另外我不清楚device_map 的作用是什么,它配置的auto是什么作用,是否还有其它值可被设定;
  • 第三就是我不清楚ddp的作用是什么;
  • 我看到使用了use_lora=True后,model 才是以 load_in_8bit = True加载的;
  • 我是单机4张4090,我想尝试借助deepspeed进行微调,但是我由于不理解上述设置,导致CUDA溢出,请老师解释一下上述设置是什么意思? 感谢。
device_map = "auto"
world_size = int(os.environ.get("WORLD_SIZE", 1))
ddp = world_size != 1
if ddp:
        device_map = {"": int(os.environ.get("LOCAL_RANK") or 0)}
        gradient_accumulation_steps = max(gradient_accumulation_steps // world_size, 1)

load_in_8bit = True if args.use_lora else False
if model_type.lower() == "llama":
        model = LlamaForCausalLM.from_pretrained(
            model_name_or_path,
            load_in_8bit = load_in_8bit,
            device_map=device_map,
        )
        tokenizer = LlamaTokenizer.from_pretrained(model_name_or_path)

看见你的个性签名 感觉没必要解答

额,其实不至于,我只是今天拉取GitHub都怎么拉不下来,看到消息说运营商有故意域名解析污染,想着中共连GitHub都想数据极权我就想笑。索性改个签名爽一下而已。活在GitHub,不要太严肃了。所以对于工作和老师,我还是很尊重的。您原意讲一下我很感谢,您不愿意讲觉得大家都是屁民口嗨也不行我也不介意。

hemengjita commented 1 year ago

我要笑死了,你问的这几个都不算是问题。。。。

zzisbeauty commented 1 year ago

我要笑死了,你问的这几个都不算是问题。。。。

哦~