借用隔壁的 NetaLumina 镜像搞的,懒得配环境了。
注意,本仓库想要玩得6,需要你会多一点git及其他命令的小知识,建议完整阅读完该文章
https://www.notion.so/Newbie-AI-lora-2b84f7496d81803db524f5fc4a9c94b9
目前已验证可用,跟着步骤,下载模型,准备好数据集和训练配置可以直接开炉
还要看本丹炉的使用方法
/workspace/NewbieLoraTrainer/lokr.toml/workspace/NewbieLoraTrainer/lora.toml具体的配置说明可查看/workspace/NewbieLoraTrainer/config_template.toml
自己想练lora还是lokr,复制上面的其中一个,随便找个地方放,然后修改里面的内容,然后用它来训练
# https://github.com/NewBieAI-Lab/NewbieLoraTrainer
/workspace/NewbieLoraTrainer # 官方训练器
# https://huggingface.co/NewBie-AI/NewBie-image-Exp0.1/tree/main
/workspace/Models # 模型目录
/workspace/Datasets # 数据集目录(可以自己随便找地放,配置写对了就行)
跟以往练 Lora 逻辑大差不差
修改.cnb.yml,从里面找到# tags: cnb:arch:amd64:gpu:L40那一行,把这行取消注释就启用显卡了,注意额度消耗,不用GPU记得把注释给上,使用CPU处理一些无关紧要的事,例如下模型
Fork按钮,这样会变成自己的仓库,就可以运行了/workspace/dl-model.ipynb下载模型/workspace/NewbieLoraTrainer里找到并复制一个toml并按自己需求修改好,toml在上边 "示例-toml-配置模板" 有说明run.sh,把原有的toml配置路径改成你的toml配置路径prepare-venv.sh安装依赖(每次开炉都要)run.sh将pt文件留在原来你设的Output文件夹,就可以直接重启了
train_newbie_lora_xcn.py,我直接加上了续训时可重置学习率调度器的功能(有bug)
# lora.toml 或 lokr.toml
# =============================================================================
# NewbieLoraTrainer/train_newbie_lora_xcn.py 专用参数
# =============================================================================
# 续训练时是否重置学习率调度器,设置true时,续训的时候直接使用learning_rate的值作为续训初始值
# 开一次就重置了,练过一个ep后(产生新的续训pt文件),往后的训练都使用新的lr调度,所以不可逆
# 而且不能一直true,只需要true练一个ep就必须关掉,否则就一直重置
reset_lr_scheduler = false
# =============================================================================
python /workspace/autoshutdown.py
python /workspace/autopush-newbie.py
更新了newbie版的自动清理和自动推送,自动只保留最新步数的,如果需要全部保留可以丢给豆包改改
根据cnb配置,销毁时将自动执行最后的push,但是建议开启自动同步脚本,防止endstage执行失败