前言:笔者在github上看到了这个项目,第一印象是该项目知识覆盖面较广,包括微调、RAG、TTS等,适合初学者进行理解学习,更巧的是,项目的contributer竟然是DataWhale的小伙伴。本文记录对该项目的整体概览,对于具体的某些技术,会在后来的学习或优化过程中进行记录,也欢迎各位小伙伴加入我们,一起学习,让小狐仙越来越好
概览
在学习项目时,根据上面的技术框架,我主要分为了以下几个部分:
- 数据:构造与生成
- XTuner 微调
- RAG
- 量化与部署
- ASR + TTS + 数字人
- GUI界面输出
以上信息大概能覆盖小狐仙运作的全流程,如有错误或不足请参考原项目,项目作者大大们现在还在激情迭代中……欢迎大家pr
接下来让我简单介绍一下这几个部分
一 、数据:构造与生成
项目地址:https://github.com/chg0901/Honor_of_Kings_Multi-modal_Dataset
作者对于数据更新的文章:
https://zhuanlan.zhihu.com/p/683656455
目前数据主要依赖于在官方网站里找,以及使用爬虫技术。这些数据比较纷杂,包含语音、文本、图片等多模态数据,这边提出我的一些建议。
- 这些可以单独放一个repo中,或者新建一个文件夹存放,与爬取或处理这些数据的脚本放一起。因为这些数据可能时常需要更新维护,或者修改处理方式,这样可能更方便迭代。
- 完善readme,标注数据来源、数据格式、数据如何使用等
二、XTuner 微调
有关XTUner学习和具体实践可以参照作者原文章学习:
https://zhuanlan.zhihu.com/p/682241646
三、RAG
构建RAG思路是,基于InternLM & LangChain 搭建知识库(chroma),构建检索问答链,实现RAG。
相关学习参照:
https://zhuanlan.zhihu.com/p/682063982
当然这可能不是最优的RAG方案,原作者也提到了其缺点,给出了一些其他可替代方案llama-index,Hand-on-RAG等,关于RAG的相关内容我还不是特别了解,进一步学习后可能会参与这部分的优化与项目扩充。
四、量化与部署
具体实践可以参照作者原文章学习:
https://zhuanlan.zhihu.com/p/682241646
原文介绍了如何通过LMDeploy来进行大模型的量化部署,包括详细步骤等。后续我也会对此进行学习理解
五、ASR + TTS + 数字人
这一部分的主要内容设计到产品形态,你可以进行语音输入,通过whisper转换为text,输入上文微调过的模型,得到text output后,对于输出我们可以转为audio,同时使用数字人技术转为video output。其实数字人技术蛮有意思的,包括现在有很多相关论文新鲜出炉。后期可以探索更多相关的算法实现,进行实践。这里我们使用的是SadTalker技术。
复现实践
记录一下本地以及openlab部署峡谷小狐仙的经历
本地环境:windows 11
-
按照文档来,在执行
pip install -r requirements.txt
时会报错,这是由于jieba-fast库需要vc环境 -
download models的时候,文档中给出的是unix环境下的安装脚本,为了便捷执行shell脚本,我们可以使用git bash来完成,需要你提前安装git,这里方法比较多,包括使用wsl等一些工具,但我觉得都不太好用,可以自己多多尝试
git lfs install git clone https://code.openxlab.org.cn/YongXie66/DaJi_RolePlay.git ./DaJi_RolePlay bash InternLM2/InternLM2_7b/download.sh bash FunASR/download.sh # 模型位置移动 mv ./DaJi_RolePlay/GPT_SoVITS/pretrained_models/* ./GPT_SoVITS/pretrained_models/ mv ./DaJi_RolePlay/checkpoints/* ./checkpoints/ mv ./DaJi_RolePlay/gfpgan/* ./gfpgan/
-
问题记录
出现这种情况是因为gradio应用是在远端服务器打开的,而链接是在本地打开的,一些静态资源不在本地,所以页面显示异常。
解决这个问题需要做一次端口转发,但由于我是用的是之前参加比赛免费的服务器资源,没有控制台,不能展示服务器ip、端口、密码。也就做不了端口转发,如果你使用自己的服务器,可以尝试端口转发解决这个问题。
总结:复现过程可能需要等待久一些,权重下载和依赖下载都需要一些时间,但需要确认每个步骤都完成,移动后的文件夹不为空且在工作目录下,最好简单理解整个项目框架再来复现
参考链接
项目地址:
https://github.com/chg0901/Honor_of_Kings_Multi-modal_Dataset
视频地址:
https://www.bilibili.com/video/BV1JuVJe1EqT
应用地址:
https://openxlab.org.cn/apps/de