SWIFT环境配置及大模型微调实践

SWIFT环境配置及大模型微调实践

SWIFT介绍参考: 这里

SWIFT环境配置

基础配置

bash 复制代码
conda create -n swift python=3.8

pip install ms-swift[all] -U

# 下载项目
git clone https://github.com/modelscope/swift

增量配置

如果是运行qwen-audio,需要安装ffmpeg

bash 复制代码
apt-get update
apt-get install ffmpeg

SWIFT Qwen_audio_chat大模型微调实践

也可以参考https://zhuanlan.zhihu.com/p/665300386

微调代码

bash 复制代码
cd swift/examples/pytorch/llm
nohup bash scripts/qwen_audio_chat/lora/sft.sh > qwen_audio_chat_sft_20240320.log &

问题1:

复制代码
   第一次跑,发现使用的是cpu,经过检查,发现pytorch版本对应的cuda版本较高,于是重新安装pytorch。
bash 复制代码
conda install --use-local pytorch-1.13.0-py3.8_cuda11.6_cudnn8.3.2_0.tar.bz2.tar.bz2
复制代码
    但是,在训练的时候会出现问题,如下。

问题2:

cannot import name 'LRScheduler' from 'torch.optim.lr_scheduler

问题定位

这个问题定位了很久,最后确定了是版本兼容问题。

具体的:pytorch 2.0.0以上的版本是LRScheduler,以下的版本是_LRScheduler。

解决方法

卸载掉之前安装的版本,重新手动安装pytorch 2.0.0以上版本。

手动安装pytorch

  1. 从该网址下载对应包:https://download.pytorch.org/whl/torch_stable.html
    (pytorch的版本号,cuda版本号,python版本号都对应好。)
  2. 使用pip手动安装
    pip install some_package.whl
相关推荐
std78794 小时前
Rust 与 Go – 比较以及每个如何满足您的需求
开发语言·golang·rust
报错小能手4 小时前
python(入门)map内置函数及import模块导入,as别名
开发语言·人工智能·python
梵得儿SHI4 小时前
Java 反射机制实战:对象属性复制与私有方法调用全解析
java·开发语言·java反射机制的实际应用·对象属性复制·反射调用私有方法·私有字段·类型兼容性和敏感字段忽略
sulikey4 小时前
C++的STL:深入理解 C++ 的 std::initializer_list
开发语言·c++·stl·list·initializerlist·c++标准库
liu****5 小时前
19.map和set的封装
开发语言·数据结构·c++·算法
孤廖5 小时前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习
润 下5 小时前
C语言——回调函数的典型示例(分析详解)
c语言·开发语言·人工智能·经验分享·笔记·程序人生
朝新_5 小时前
【EE初阶 - 网络原理】传输层协议
java·开发语言·网络·笔记·javaee
前端架构师-老李5 小时前
Java开发—JDK的安装和版本管理(macOS)
java·开发语言·macos
懂得节能嘛.5 小时前
【动态配置中心】Java+Redis构建动态配置中心
java·开发语言·redis