本文以chatglm2-6b大模型为例讲解,但这里的步骤引用其他博文或官网(给出链接),不赘述,主要讲解亲自实践过程中遇到的问题和解决方法。
一、阿里云上部署
部署过程参考文章:https://zhuanlan.zhihu.com/p/645112683?utm_id=0
遇到问题:
1、被墙,执行git clone huggingface.co/THUDM/ch的时候,一直提示fatal: unable to access 'huggingface.co/THUDM/ch': Failed to connect to Hugging Face port 443: Connection timed out
解决:
https://github.com/thudm/chatglm2-6b里提到的清华大学镜像清华大学云盘里下载大文件*.bin,然后vpn到 huggingface 网站手动下载其余文件。
上传时用阿里云的oss(也有免费额度,如何创建数据集和管理数据集_机器学习平台 PAI-阿里云帮助中心),创建数据集,新创建dsw实例时指定数据集(创建后没法再挂载数据集)。
不要用pai-dsw实例终端里的上传,慢!
2、python web_demo.py 不能生成公网链接;只生成私有访问链接,但访问时,可以显示问题,不能显示回答,代码里print发现回答已经有。
解决:
应该是gradio服务的问题(此命令由gradio平台提供生成访问网站)。
改换成用“streamlit run web_demo2.py”生成网站,但注意:生成的url都不能访问,我们需要使用运行'python web_demo.py'时的url,如
https://dsw-gateway-cn-beijing.data.aliyun.com/dsw-xxxx/proxy/7860/ , 将最后的7860换成streamlit的端口号8501,最后拼成的url为
https://dsw-gateway-cn-beijing.data.aliyun.com/dsw-xxxx/proxy/8501/,这样就可以访问web页面了“ --https://zhuanlan.zhihu.com/p/651277534?utm_id=0
这样用streamlit生成的网站访问回答都正常。
3、关于gradio生成网站(python web_demo.py)相关及怎样生成非72小时失效的公网url,可参考:https://blog.csdn.net/fogdragon/article/details/131496615
二、大模型微调
参考https://github.com/THUDM/ChatGLM2-6B/tree/main/ptuning
遇到问题:
一开始运行失败,看提示像是显存不足,到0%就退出。检查代码,是我将 ptuning/train.sh里的PRE_SEQ_LEN=128改成了8096,还原为128,成功执行如下图:
【附】
可参考另一篇文章:修改 ChatGLM2-6B 自我认知的 Lora 微调教程_chatglm2 lora-CSDN博客,进一步了解微调过程及组成