RedHat-Build-LLM

如何在 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'

② 换源问题

然后我继续向下推进:

我们切换到 qwen2 环境,正常安装相应的 modelscope 软件包。

1
pip install modelscope

目前为止一切顺利。我们需要使用 git 命令将 llama.cpp 拉到本地,因为这个服务器无法访问 GitHub,这里我们可以使用 Gitee 来进行替代。使用 Gitee 可以将 GitHub 上的仓库拉取下来:

GiteePullGithub GiteePullGithub GiteePullGithub

然后对于 Gitee 中的文件,我们使用 wget 命令下载即可。

更新 GCC

⭐⭐Linux升级gcc到最新版本gcc-11.2.0_更新gcc-CSDN博客

⭐⭐⭐Linux gcc升级全过程,过程超详细-阿里云开发者社区 (aliyun.com)

安装 Ccache

  1. 从官方网站下载 CcacheCcache — Compiler cache,我们也可以从 GitHubReleases 页面上找到较旧的版本。

  2. 使用 tar -zxvf ccache-<VERSION>-linux-x86_64.tar.xz 命令,解压 Ccache 到文件夹

  3. 较早的版本需要执行三条语句进行安装

    1
    2
    3
    ./configure
    make
    sudo make install
  4. 较新的版本提供了一键安装方式

    1
    2
    # 一般为 /usr/local/ccache-your-version_num
    make install prefix=/usr/local/ccache-4.9
  5. 配置环境变量

  6. 检查 Ccache 的版本

    1
    ccache -V

安装 MPFRGMP

安装 MPC

  1. 官网:Download — multiprecision.org

问题:

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost gcc_bag]# wget https://altlinux.pkgs.org/sisyphus/classic-x86_64/libmpfr6-4.1.0-alt2.x86_64.rpm.html
[root@localhost gcc_bag]# ls
libmpfr6-4.1.0-alt2.x86_64.rpm
[root@localhost gcc_bag]# rpm2cpio libmpfr6-4.1.0-alt2.x86_64.rpm | cpio -div

[root@localhost gcc_bag]# rpm2cpio libmpfr6-4.1.0-alt2.x86_64.rpm | cpio -div
./usr/lib64/libmpfr.so.6
./usr/lib64/libmpfr.so.6.1.0
./usr/share/doc/mpfr-4.1.0
./usr/share/doc/mpfr-4.1.0/AUTHORS
./usr/share/doc/mpfr-4.1.0/BUGS
./usr/share/doc/mpfr-4.1.0/NEWS
5494 blocks

[root@localhost gcc_bag]# ls
libmpfr6-4.1.0-alt2.x86_64.rpm usr

[root@localhost gcc_bag]# mv ./usr/lib64/libmpfr.so.6 /usr/lib64/
[root@localhost gcc_bag]# mv ./usr/lib64/libmpfr.so.6.1.0 /usr/lib64/

更新 binutils,包括 ldas

binutils 镜像:Index of /gnu/binutils

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost Share]# wget http://ftp.gnu.org/gnu/binutils/binutils-2.25.1.tar.bz2  
//wget如果下载不下来就 直接浏览器访问网址下载后再解压
[root@localhost Share]# tar -xjf binutils-2.25.1.tar.bz2
[root@localhost Share]# cd binutils-2.25.1
[root@localhost binutils-2.25.1]# ./configure --prefix=/usr
[root@localhost binutils-2.25.1]# make
[root@localhost binutils-2.25.1]# make install
//安装完毕验证结果
[root@localhost binutils-2.25.1]# as --version
GNU assembler (GNU Binutils) 2.25.1
[root@localhost binutils-2.25.1]# objdump -v
GNU objdump (GNU Binutils) 2.25.1
[root@localhost binutils-2.25.1]# ld -v
GNU ld (GNU Binutils) 2.25.1

安装 nvcc

https://blog.csdn.net/bigbaojian/article/details/129642388

Linux 下的 CUDA 安装和使用指南 - 知乎 (zhihu.com)

作者

NilEra

发布于

2024-09-12

更新于

2024-09-12

许可协议

评论