1 封神框架简介
https://github.com/IDEA-CCNL/Fengshenbang-LM
FengShen可以应用在基于海量数据的预训练以及各种下游任务的finetune中。封神榜专注于NLP大模型开源,然而模型的增大带来不仅仅是训练的问题,在使用上也存在诸多不便。为了解决训练和使用的问题,FengShen参考了目前开源的优秀方案并且重新设计了Pipeline,用户可以根据自己的需求,从封神榜中选取丰富的预训练模型,同时利用FengShen快速微调下游任务。
2 太乙模型简介
太乙系列模型主要应用于跨模态场景,包括文本图像生成,蛋白质结构预测, 语音-文本表示等。2022年11月1日,封神榜开源了第一个中文版本的 stable diffusion 模型“太乙 Stable Diffusion”。
3 封神框架部署
使用个人电脑部署时,需要先安装好Anaconda
Conda 是一个独立的包管理系统和环境管理系统,可以用于安装软件包和创建虚拟环境。
Miniconda 是一个最小化的Conda安装程序,它只包含了Conda和Python解释器,用于自定义安装。
Anaconda 是一个基于Python的开源发行版,它包含了Conda、Python解释器和众多常用的科学计算、数据分析和机器学习库,旨在提供一个预装了丰富库的环境,使得用户可以方便地进行数据科学工作。
我这里选择的是AutoDL云平台来进行项目的部署
数据盘大小可根据自己数据集大小而定,建议选择一些可扩容的显卡,方便后续扩容
基础环境为RTX3090+ubuntu22.04+conda+cuda11.8+python3.10
1 | # 创建名为taiyi的环境,指定python版本3.10 |
4 微调太乙模型
修改finetune.sh脚本的模型路径和数据集路径
1 | vim Fengshenbang-LM/fengshen/examples/finetune_taiyi_stable_diffusion/finetune.sh |
此处路径修改为AutoDL数据盘目录
运行finetun.sh,下载相关依赖模块,具体如下:
再次运行finetun.sh
训练完成后生成模型文件
5 太乙模型使用
打开jupyter notebook,输入以下示例命令行出图
1 | from diffusers import StableDiffusionPipeline |
以我的训练为例,即找到训练好的模型文件hf_out_0_2的路径,如下图所示