参考了CDSN上的文章,但发现不work, 不是这里有问题,就是那里有问题,查阅了大量的资料,做了无数次试验,终于整理出来了一个完整的教程,保可用,保真~~~~~如果各位遇到什么问题,也可以私信我
我把每个环节遇到的坑,都填平了,如果按我的操作,免去了大家查各种问题的富贵时间。祝你也能一次性来到人机对话的界面:

不多废话了,直接说,如何使用腾讯云上的机器,自建一个简单的类似ChatGPT、Kimi的会话机器人(没有他们的强大)
一、选择云服务器
 1.申请云服务器
建议使用按量付费,按小时算还是非常便宜的。
 硬件配置:
 系统:ubuntu,20.04
 系统盘:150G
 GPU:12核44G,1 * NVIDIA A10(32G),硬盘150G,1*NVIDIA A10(24G)

软件版本:
由于A10的驱动,cuda均未安装,为了省事,直接申请了另一台,初始化完成后,打成镜像,然后再为A10重装就可以了,这样最省事。当然也可以手动安装。
使用的V100的镜像,初始化条件选择如下:
 
配置安全组,出全放开,入至少放开22和8760。
 后付费要注意:要满足余额不低于要冻结金额。
2.GPU确认
 登录服务器后,在安装V100的镜像时,可以看到显卡驱动在安装。(早了晚了可能都会错过这个页面)
 
 等待显卡驱动安装完成后(会有一段时间),做下显卡确认
 nvidia-smi
 用于确认cuda版本。
安装cuda toolkit
 sudo apt install nvidia-cuda-toolkit #时间有点久
 如上面所述,然后制作为镜像,再导入到我们的A10当中。(重装系统)
二、安装并配置Python环境
1.安装python3.10
 sudo apt-get update
 sudo apt-get upgrade #需等待
 sudo apt install -y software-properties-common
 sudo add-apt-repository ppa:deadsnakes/ppa
 sudo apt -y install python3.10
 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
#验证安装成功,均返回Python 3.10.13
 python3.10 --version
 python3 --version
#升级pip
 wget https://bootstrap.pypa.io/get-pip.py
 python3.10 get-pip.py
2.安装Git和Git LFS软件
 sudo apt install -y git git-lfs python3.10-distutils
3.安装模型所需要的Python包
在此之前,先把pip工具设置好。
 看两处pip的版本是否一致:
 第一种方式:pip show pip
 第二种方式:python3.10 -m pip --version
 若不一样,则:
 然后修改两个文件:sudo vim /usr/bin/pip 以及sudo vim /usr/bin/pip3,将每个文件里面的两个版本号位置,修改为新的,最后再用pip show pip验证下。
#需等待,可能要不停地试,直到成功
 pip install git+https://github.com/huggingface/transformers
#1.如果上面pip工具没设置好,可能会有如下报错:
 
 回到上面处理吧,也可以参考:https://zhuanlan.zhihu.com/p/664770225
 #2.如果报128,则看 https://zhuanlan.zhihu.com/p/648289974
 下载到本地再上传 或者等网络环境好的时候下载。
继续执行:
 pip install sentencepiece==0.1.97 -i https://pypi.tuna.tsinghua.edu.cn/simple
#需等待,非常漫长
 pip install peft==0.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
4.验证:在PyTorch环境下验证GPU是否正常工作
 python3.10
 import torch
 #返回值为true,表示正常工作
 torch.cuda.is_available()
 quit()
 有可能会报cuda与python版本不匹配的问题:需要选择正确版本的CUDA和PyTorch安装(windows)
 参考:https://zhuanlan.zhihu.com/p/672526561
三、下载与配置模型
1.下载Chinese-LLaMA-Alpaca模型。
 git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca.git
 本地已下载:Chinese-LLaMA-Alpaca-main.zip
修改代码:Chinese-LLaMA-Alpaca/scripts/merge_llama_with_chinese_lora.py文件,dType类型 由float16全部换为bfloat16
 全部修改为:
 torch_dtype=torch.bfloat16
否则,在最终运行时,会报错:RuntimeError: probability tensor contains either inf, nan or element < 0
 2.下载chinese-alpaca-lora-13b模型
 git-lfs clone https://huggingface.co/ziqingyang/chinese-alpaca-lora-13b
 大概率会失败,解决办法是把该文件夹下载到本地,然后再上传到服务上
//如果需要文件进行下载,可以联系我:lucky_shisheng
 scp -r chinese-alpaca-lora-13b ubuntu@106.52.198.183:~
 修改代码:chinese-alpaca-lora-13b中的adapter_config.json
 去掉两行:
 “enable_lora”: null,
 “merge_weights”: false,
否则,在最终运行时,会报错:TypeError: init() got an unexpected keyword argument ‘enable_lora’
3.下载 llama-13b-hf模型
 git-lfs clone https://huggingface.co/decapoda-research/llama-13b-hf
 大概也会失败,解决办法是用wget直接下载,或者是像上面一样,下载到本地后,再上传上去。
//如果需要文件进行下载,可以联系我:lucky_shisheng
 scp -r llama-13b-hf ubuntu@106.52.198.183:~
4.合并代码
 合并代码,生成新模型
 cd Chinese-LLaMA-Alpaca/
 python3.10 scripts/merge_llama_with_chinese_lora.py --base_model ~/llama-13b-hf/ --lora_model ~/chinese-alpaca-lora-13b/ --output_type huggingface --output_dir ./llama_with_lora_hf
在这里,指定了base model和lora_model,输出路径为./llama_with_lora_hf
 如果出现被kill,则是资源内存不足,需要换台机器来做。
合并完成后,可以确认一下转换完成后的文件内容,大概25G
 ls -lh llama_with_lora_hf
四、部署WebUI
1.下载WebUI
 #需要多试几次
 cd~
 git clone https://github.com/oobabooga/text-generation-webui.git
 备份:text-generation-webui-main.zip
2.安装代码及依赖库
 cd text-generation-webui/
#非常耗时
 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
 3.模型软链接生成到models下面
 ln -s /home/ubuntu/Chinese-LLaMA-Alpaca/llama_with_lora_hf/ models/llama_with_lora_hf
五、最终对话界面生成
 验证结果
 python3.10 server.py --model llama_with_lora_hf --listen --chat --load-in-8bit
人机界面:
 
 控制台:

 若提示GPU内存不足,可以换个命令试一下:
 python3.10 server.py --model llama_with_lora_hf --listen --chat --load-in-4bit