使用openEuler安装大模型

1 篇文章 0 订阅

安装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
    

安装大模型

  • 安装 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 这个网页试一下
    1. python 安装的时候报错:ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device
    • 在~/.bashrc文件中设置 export TMPDIR=‘/var/tmp’ , source ~/.bashrc 解决问题
    1. 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,重新设置服务器的节点说明,就可以了
    1. 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导致
  • 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++ 安装完成后即可
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值