如何在 Linux 服务器上搭建本地LLMs (RedHat
篇)🤔
最近因为一些原因,需要在一台 RedHat
红帽机器上配置一个 qwen2-7B
模型来进行离线大模型的使用。过程非常曲折,特此记录本次过程。
拿到服务器账号之后,我先检查了一些环境配置,个人用户缺失很多环境,好消息是 root
用户可以使用 nvcc
命令。那么我们就可以不用费劲去安装 cuda
了。
那么我首先使用个人用户安装了 Anaconda
。安装过程如下:
安装完成后,配置环境变量,创建虚拟环境(这里我使用的 Python 版本是我参考的组卡平台的版本,这个版本经过测试不存在什么问题)。
1 | conda create -n qwen2 python=3.10.12 |
启动虚拟环境时可能会遇到问题:
① 出现错误:CondaError: Run 'conda init' before 'conda activate'
- 出现这个问题时,我们需要按照他的提示信息,执行
conda init
即可。 - 如果还是不行,我们可以尝试执行
conda init --system --all
。 - 如果还是不行,可以尝试修改
shell
配置文件(查看这篇博客(我并没有到这一步,是否有用需要自己斟酌):CSDN:关于conda环境启动不了 CondaError: Run ‘conda init’ before ‘conda activate’)。
② 换源问题
然后我继续向下推进:
我们切换到 qwen2
环境,正常安装相应的 modelscope
软件包。
1 | pip install modelscope |
目前为止一切顺利。我们需要使用 git
命令将 llama.cpp
拉到本地,因为这个服务器无法访问 GitHub
,这里我们可以使用 Gitee
来进行替代。使用 Gitee
可以将 GitHub
上的仓库拉取下来:
然后对于 Gitee
中的文件,我们使用 wget
命令下载即可。
更新 GCC
⭐⭐Linux升级gcc到最新版本gcc-11.2.0_更新gcc-CSDN博客
⭐⭐⭐Linux gcc升级全过程,过程超详细-阿里云开发者社区 (aliyun.com)
安装 Ccache
从官方网站下载
Ccache
,Ccache — Compiler cache,我们也可以从GitHub
的Releases
页面上找到较旧的版本。使用
tar -zxvf ccache-<VERSION>-linux-x86_64.tar.xz
命令,解压Ccache
到文件夹较早的版本需要执行三条语句进行安装
1
2
3./configure
make
sudo make install较新的版本提供了一键安装方式
1
2# 一般为 /usr/local/ccache-your-version_num
make install prefix=/usr/local/ccache-4.9配置环境变量
检查
Ccache
的版本1
ccache -V
安装 MPFR
和 GMP
安装 MPC
问题:
error while loading shared libraries: libmpfr.so.6: cannot open shared object file: No such file or directory
安装 libmpfr6-4.1.0-alt1.x86_64.rpm
并且将缺少的库放到 /usr/lib64
中。
下载地址:libmpfr6-4.1.0-alt1.x86_64.rpm ALT Linux P10 Download (pkgs.org)
1 | [root@localhost gcc_bag]# wget https://altlinux.pkgs.org/sisyphus/classic-x86_64/libmpfr6-4.1.0-alt2.x86_64.rpm.html |
更新 binutils
,包括 ld
、as
binutils
镜像:Index of /gnu/binutils
1 | [root@localhost Share]# wget http://ftp.gnu.org/gnu/binutils/binutils-2.25.1.tar.bz2 |
安装 nvcc