• 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
  • 注册
  • 登录

Klang(金浪)AI量化论坛

  • 注册
  • 登录
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组

使用 chatGLM 官方示例做微调

AI研究
1
1
237
正在加载更多帖子
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A
    asmcos 管理员 最后由 asmcos 编辑 2023年7月1日 08:28 2023年7月1日 05:37

    1. 环境
      Linux 云平台 autodl 花费 10元左右
      8d52ace9-8ac7-46b9-b8d0-c0cf8624aebe-image.png
      配置是24G的显存,3090显卡。

    为什么选择这款配置?因为我在本机6G 显卡折腾好久没有成功。 用的 6b-int4 版本,网上都说可以成功。折腾我好久。所以干脆用云24G的实验了。

    1. 下载源代码
    git clone https://github.com/THUDM/ChatGLM-6B
    cd ChatGLM-6B
    pip3 install -r requirements.txt
    
    1. 进入微调
    cd  ptuning
    pip3 install rouge_chinese nltk jieba datasets
    
    1. 下载 需要例子数据
    wget -O AdvertiseGen.tar.gz https://cloud.tsinghua.edu.cn/f/b3f119a008264b1cabd1/?dl=1
    tar xvf AdvertiseGen.tar.gz
    

    下载后需要展开。

    1. 修改 源文件
      为什么要修改,如果不修改 总是 按照多gpu处理,我没有多gpu,并且即使是多GPU,也需要修改代码
      这里有讨论
      https://github.com/THUDM/ChatGLM-6B/issues/1169

    我的方法如下:

    ptuning/main.py
    59
    60 training_args.local_rank = -1
    61
    增加上面这句
    
    1. 开始 工作
      P-Tuning v2
    bash train.sh
    
    1. 如果你需要 微调
      24G 显存不够
      需要再修改
      增加 Lora
    pip3 install deepspeed
    vim ds_train_finetune.sh
        --per_device_train_batch_size 4 \ 修改为1
     --num_gpus=4 修改为1 
    

    vim main.py

    头部 增加 :
    from peft import get_peft_model, LoraConfig, TaskType
    
    第 136行 增加 下面的代码:
    
        peft_config = LoraConfig(
            task_type=TaskType.CAUSAL_LM,
            inference_mode=False,
            r=finetune_args.lora_rank,
            lora_alpha=32,
            lora_dropout=0.1,
            target_modules=["query_key_value"],
        )
        model = get_peft_model(model, peft_config)
    
    

    以上可以 在24G显存测试通过。

    1 条回复 最后回复 回复 引用 0
    1 / 1
    • First post
      1/1
      Last post