训练自己的模型可以参考以下步骤:
1. 选择合适的底模,如 Baichuan27BChat 模型,配置模型本地路径和提示模板。
在 Train 页面里选择 sft 训练方式,加载定义好的数据集,如 wechat 和 self_cognition。
注意学习率和训练轮次的设置,要根据数据集大小和收敛情况来调整。
使用 FlashAttention2 可减少显存需求,加速训练速度。
显存小的情况下,可以减少 batch size 并开启量化训练,内置的 QLora 训练方式很实用。
需要用到 xformers 的依赖。
显存占用约 20G,训练时间根据聊天记录规模大小而定,少则几小时,多则几天。
2. 对于 AI 绘画模型的训练,如 Stable Diffusion:
设置 sample_sampler,可选择多种 sampler,默认是“ddim”。
设置 save_model_as,可选择多种格式,目前 SD WebUI 兼容"ckpt"和"safetensors"格式模型。
完成训练参数配置后,运行训练脚本进行全参微调训练。
选择合适的底模型,如 WeThinkIn_SD_二次元模型。
利用 accelerate 库封装训练脚本,可根据需求切换训练环境参数。
3. 创建图像描述模型:
模型由编码器和解码器组成,编码器将输入图像转换为特征向量,解码器根据特征生成描述文本,二者组合形成完整模型。
自定义损失函数,如使用稀疏分类交叉熵并屏蔽填充部分。
编译模型后开始训练,可使用单个 GPU 训练,每个 epoch 约 15 至 20 分钟,可根据需求增加训练次数。
训练完成后进行推理与生成字幕,重构解码器结构,编写自定义推理循环以生成完整句子。
2025-03-10