安装openEluer的ios
- 下载路径:https://mirrors.nju.edu.cn/openeuler/openEuler-22.09/ISO/x86_64/openEuler-22.09-x86_64-dvd.iso
虚拟机配置
-
cpu: 8核心
-
内存:8G
-
网络配置:
- 配置上可能没有ip,需要按照网络配置 进行处理
- 具体操作1:在/etc/sysconfig/network-scripts/目录中生成名为ifcfg-enp4s0的文件中,修改参数配置,示例如下:
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=192.168.0.10 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp4s0static UUID=08c3a30e-c5e2-4d7b-831f-26c3cdc29293 DEVICE=enp4s0 ONBOOT=yes
- 执行:systemctl reload NetworkManager命令以重启网络服务后才生效
-
设置ip的的联通
- 参考链接:http://blog.itpub.net/70003733/viewspace-2878890/ 详细的操作以及桌面配置
- 网络修改后,重启生效
-
修改 yum使用代理服务器:
vi /etc/yum.conf proxy=http://192.168.112.55:4568
-
设置TMPDIR的路径以及http和https代理使用
vi ~/.bashrc export TMPDIR='/var/tmp' export http_proxy=http://192.168.0.111:7890 export https_proxy=http://192.168.0.111:7890
-
安装python环境
- yum install -y python
-
安装git环境
- yum install -y git
-
安装cmake, make,g++
- yum install cmake -y
- yum install make -y
- yum install g++ -y
-
设置swap 内存交换(针对内存不足的情况下,非常有用,最好是固态硬盘,不然io也会很慢)
free -h # 查看内存的使用情况 swapoff -a # 关闭交换区 # 其中bs是每块的大小,count是块的数量;bs*count,就是swap文件的大小:这里1M*1024=1G。 # 可以根据需要自行调整。此外,swapfile是swap文件的路径,可以根据需求修改。 dd if=/dev/zero of=swapfile bs=1M count=1024 # 创建swap 分区文件 # 转换为swap类型 mkswap swapfile # 启用交换区 swapon swapfile # 添加开机启动 # 修改/etc/fstab这个文件,添加或者修改这一行: swapfile swap swap defaults 0 0
- 参考网页:linux增加swap空间的方法小结
安装大模型
- 安装 chatglm-cpp
- 执行:
git clone --recursive https://github.com/li-plus/chatglm.cpp.git && cd chatglm.cpp
# 下载git项目 - 执行:
python3 -m pip install torch tabulate tqdm transformers accelerate sentencepiece bitsandbytes
# 安装python依赖包体- 百川大模型需要: bitsandbytes
- 注意在百川模型的时候,需要指定transformers==4.33.3(安装最新的版本会导致object has no attribute 'sp_model’的错误)
- 执行:
python3 chatglm_cpp/convert.py -i THUDM/chatglm2-6b -t q4_0 -o chatglm2-ggml.bin
# 安装大模型,大模型数据量较大,有7G左右大小 - 执行:
cmake -B build -DGGML_OPENBLAS=ON && cmake --build build -j
- 执行:
./build/bin/main -m chatglm-ggml.bin -p 你好
# 可以通过 输入指令进行执行代码 - 执行:
./build/bin/main -m chatglm-ggml.bin -i
# 可以通过交互式的方式进行对话 - 直接参考 https://github.com/li-plus/chatglm.cpp 上面的教程搭建
- 本次安装的大模型是:THUDM/chatglm2-6b,(THUDM/chatglm-6b 模型版本比较老旧,会导致现在的模块报错,模块后续有修改导致的)
- 执行:
- 变形模型
- python3 chatglm_cpp/convert.py -i THUDM/chatglm2-6b -t q4_0 -o chatglm2-ggml.bin
- 说明:
- 下载的预训练模型是存放在~/.cache文件下的,可以看到huggingface的文件夹
- 参考网页链接:
- https://cloud.tencent.com/developer/article/2312350
说明
- 在虚拟机上装了之后,即使使用了16核心,32G的内存,速度很慢,没有使用cuda,所以问题还是很大,不适合cpu的推理和设置
问题
- 1.直接通过yum install chatglm-cpp时会报错,找不到镜像
- 参考: https://www.cnblogs.com/yjmyzz/p/chatglm_cpp.html 这个网页试一下
-
- python 安装的时候报错:ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device
- 在~/.bashrc文件中设置 export TMPDIR=‘/var/tmp’ , source ~/.bashrc 解决问题
-
- Loading checkpoint shards: 进度到29%之后,会kill掉
- 是因为内存不足导致的,需要增加内存,即可解决问题
- 内存占用太大了,12G的内存也不够用
- 是否可以增加swap的大小来补充内存不足的情况呢?
- 参考链接linux增加swap空间的方法小结
- 参考链接:https://blog.51cto.com/u_13747009/2162337
- 4.在git下载的时候,出现了无法访问的问题
- 给git设置代理,因为bashrc没有执行,所以导致了无法访问,配置好了之后就成功了
- 5.在下载预训练模型的时候,会出现ssl异常,url连接失败的情况
- 可能是网络不行了,尝试了几次重连都是不行的,尝试一下重启服务器试试看
- 重启服务器不行,删掉了huggingface的下载文件,重新下载也是不行
- 重新打开了一下clash,重新设置服务器的节点说明,就可以了
-
- cmake -B clean 执行后,有报错:
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage。-- Configuring incomplete, errors occurred!
- 原因是没有安装make导致
- cmake -B clean 执行后,有报错:
- 7.swapon: /root/swapfile:读交换区头失败, 设置swap的时候报错
- 需要执行mkswap [路径]
- 8.百川模型安装异常:找不到bitsandbytes包
- 即使我通过pip install bitsandbytes也是无济于事
- 安装了一个
pip install bitsandbytes-windows
后成功 - 参考:https://github.com/baichuan-inc/Baichuan2/issues/126
- 9.CMake Error at CMakeLists.txt:2 (project):No CMAKE_CXX_COMPILER could be found.错误
- 缺少要给库:g++,
yum install -y g++
安装完成后即可
- 缺少要给库:g++,