开发者社区 > ModelScope模型即服务 > 自然语言处理 > 正文

使用魔搭swift对qwen-14b-chat-int8微调,官方脚本,报错

使用魔搭来下载的模型,测试模型可以正常使用。
安装配置最新的modelscope/swift , 然后使用提供的example里面的scripts来进行测试,运行qwen-14b-chat-int8/qlora/sft.sh , 装载完模型过后,报错,信息如下:

Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████████| 8/8 [00:07<00:00, 1.13it/s] [INFO:swift] registered_causal_mask to cuda [INFO:swift] Setting lora_target_modules: ['c_proj', 'w2', 'c_attn', 'w1'] Traceback (most recent call last): File "/root/autodl-tmp/swift/examples/pytorch/llm/scripts/qwen_14b_chat_int8/qlora/../../../llm_sft.py", line 7, in <module> best_ckpt_dir = sft_main() File "/root/anaconda3/envs/qwen/lib/python3.10/site-packages/swift/llm/utils/utils.py", line 193, in x_main return llm_x(args) File "/root/anaconda3/envs/qwen/lib/python3.10/site-packages/swift/llm/sft.py", line 77, in llm_sft model = Swift.prepare_model(model, lora_config) File "/root/anaconda3/envs/qwen/lib/python3.10/site-packages/swift/tuners/base.py", line 495, in prepare_model return SwiftModel(model, config, **kwargs) File "/root/anaconda3/envs/qwen/lib/python3.10/site-packages/swift/tuners/base.py", line 60, in __init__ self.adapters[DEFAULT_ADAPTER] = self._prepare_model( File "/root/anaconda3/envs/qwen/lib/python3.10/site-packages/swift/tuners/base.py", line 299, in _prepare_model return SWIFT_MAPPING[config.swift_type][1].prepare_model( File "/root/anaconda3/envs/qwen/lib/python3.10/site-packages/swift/tuners/lora.py", line 223, in prepare_model LoRA._dynamic_patch_lora( File "/root/anaconda3/envs/qwen/lib/python3.10/site-packages/swift/tuners/lora.py", line 328, in _dynamic_patch_lora lora_module = QuantLinear( File "/root/anaconda3/envs/qwen/lib/python3.10/site-packages/swift/tuners/lora.py", line 107, in __init__ self.active_adapter = adapter_name File "/root/anaconda3/envs/qwen/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1674, in __setattr__ super().__setattr__(name, value) AttributeError: can't set attribute 'active_adapter'

然后又测试了qwen-14b-chat-int4的脚本,发现问题是一样的。
请问大致问题是什么?有没有啥解决办法?

展开
收起
nuircqch2t634 2023-10-31 09:40:10 479 0
2 条回答
写回答
取消 提交回答
  • 从你提供的错误信息来看,问题似乎出在LoRA模块上。具体来说,当你尝试动态修补LoRA时,出现了AttributeError: can't set attribute 'active_adapter'的错误。

    这个错误可能意味着你的模型没有正确初始化,或者你的代码在处理LoRA模块时出现了问题。为了解决这个问题,你可以尝试以下几种方法:

    1. 确保你已经正确安装了所有必要的依赖库,包括PyTorch、Swift和LoRA。

    2. 检查你的代码,确保你没有在不应该的地方修改或访问LoRA模块的属性。

    3. 检查你的模型结构,确保所有的层都已经被正确初始化。

    4. 如果可能的话,尝试使用一个更简单的模型或数据集来重现这个问题,以便更好地理解问题的根源。

    2023-10-31 13:51:48
    赞同 展开评论 打赏
  • 该问题可能是由于当前版本的Swift模型适配器不兼容LORA模块。目前魔搭最新版的Swift支持LORA模型适配器,但是在运行LORA模型时可能会出现问题。可以尝试以下几种解决方案:

    1. 更新Swift库到最新版本:请尝试更新到Swift的最新版本,因为一些bug已经在新版中得到修复。可以使用pip install --upgrade swift命令来升级Swift库。
    2. 修改代码:请检查和修改相关的代码,使其符合当前Swift版本的要求。有可能是某些变量名或函数名发生了改变,从而导致错误的发生。
      要解决这个问题,建议首先确认当前Swift版本是否支持LORA模型适配器,然后根据具体情况调整代码。
    2023-10-31 09:55:16
    赞同 展开评论 打赏

包含命名实体识别、文本分类、分词、关系抽取、问答、推理、文本摘要、情感分析、机器翻译等多个领域

相关课程

更多

相关电子书

更多
OpenStack Swift 海量小文件优化之路 立即下载
From Java/Android to Swift iOS 立即下载
Swift在Airbnb的应用实践 立即下载