Skip to main content

基于 Conda 环境的大模型推理

基于 Conda 环境的大模型推理

Conda 虚拟环境安装

在运行 llama.cpp 或 vllm 等大语言模型框架时,底层的软件环境(Python 及各种 Python 库版本)至关重要。Conda 是一个跨平台的开源环境管理系统,主要用于解决以下问题:

解决“版本冲突”噩梦

不同的 LLM 框架对工具包的要求往往互相冲突。例如:

vLLM 可能需要 Python 3.10 和特定的 PyTorch 版本以优化吞吐量。

llama.cpp 的某些 Python 工具链可能对旧版本库有特殊依赖。通过 Conda,您可以为 vllm 和 llama.cpp 分别创建独立的虚拟环境。在切换项目时,只需切换环境,无需担心一个项目的更新会导致另一个项目崩溃。

无痛尝试与快速回滚

LLM 领域技术迭代极快,新库的安装往往伴随着系统污染的风险。

使用 Conda 后,所有安装行为都限制在特定文件夹内。如果某个实验性框架搞乱了依赖,您只需删除该环境并重新创建,整个过程不超过一分钟,且绝对不会影响操作系统的稳定性。

一键复现开发环境

手册中提供的 environment.ymlrequirements.txt 文件,配合 Conda 可以让用户通过一行命令实现“像素级”的环境复现,极大降低了用户在部署阶段遇到 ImportErrorAttributeError 的概率。

以下是 MTT AIBOOK 中 conda 虚拟环境的安装步骤:

  1. 应用列表中找到 终端 ,左键点击打开终端

  2. 在终端中执行命令:

    wget https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease/Miniforge3-Linux-aarch64.sh

    ./Miniforge3-Linux-aarch64.sh
  3. 根据提示进行 conda 安装。

  4. 安装流程结束后,在终端中执行命令:

    source ~/.bashrc
  5. 可以看到终端的命令行界面的用户名前,出现“(base)”字样,说明虚拟环境安装成功。

    image


基于 CPU 的 Qwen3-8B 模型推理实践 (使用 Ollama)

  1. 通过点击 应用程序 打开应用列表后,在应用列表中找到 终端 ,左键点击即可打开终端

  2. MTT AIBOOK 已预装 Ollama,但由于 Ollama 更新速度较快,MTT AIBOOK 中预装的 Ollama 可能无法运行 Qwen3 系列模型。我们可以在终端页面直接输入命令以更新 Ollama 版本:

    curl -fsSL https://ollama.com/install.sh | sh
    warning

    可以由更新结束后的 WARNING 看到,MTT AIBOOK 的 Ollama 是基于 CPU 运行的,当前暂不支持将 Ollama 运行在 MTT AIBOOK 的 GPU 上。

  3. Ollama 更新结束后,在终端页面继续执行命令:

    ollama run qwen3:8b

    image

  4. 如果 MTT AIBOOK 未缓存 Qwen3:8B 模型权重,那么 Ollama 会自动下载对应权重文件,并在下载结束后自动运行 Qwen3:8B。

    image

  5. 等待其下载完成后,即可通过 Ollama 使用本地大模型。

    image


基于 CPU 的 Qwen3-30B-A3B 模型推理实践(使用 llama.cpp

  1. 通过点击 应用程序 打开应用列表后,在应用列表中找到 终端 ,左键点击即可打开终端

  2. 创建并进入工作目录:

    mkdir -p ~/llamacpp && cd ~/llamacpp
  3. 拉取 llama.cpp 源码:

    git clone https://github.com/ggml-org/llama.cpp
  4. 下载大模型:

    sudo apt install cmake git-lfs
    mkdir llm_models && cd llm_models
    export HF_ENDPOINT=https://hf-mirror.com #环境不支持时可选
    git clone https://huggingface.co/Qwen/Qwen3-30B-A3B
    cd ..
  5. 编译 llama.cpp 项目:

    cd llama.cpp
    cmake -B build   -DCMAKE_BUILD_TYPE=Release  -DGGML_OPENMP=ON     -DGGML_NATIVE=ON  -DLLAMA_CURL=OFF
    cmake --build build --config Release -j 12
  6. 基于 conda 虚拟环境安装 python 依赖:

    # 确保当前路径应为 ~/llamacpp/llama.cpp
    conda create -n llamacpp python==3.10
    # 根据conda的虚拟环境创建指引,完成虚拟环境的创建
    conda activate llamacpp
    pip install -r requirements.txt
  7. 转换模型为 GGUF (FP16):

    cd ~/llamacpp/llama.cpp
    python convert_hf_to_gguf.py ../llm_models/Qwen3-30B-A3B
    # 运行成功会在../llm_models/Qwen3-30B-A3B生成Qwen3-30B-A3B-BF16.gguf
  8. 执行量化:

    cd ~/llamacpp/llama.cpp
    #量化成Q4_0
    ./build/bin/llama-quantize ../llm_models/Qwen3-30B-A3B/Qwen3-30B-A3B-BF16.gguf ../llm_models/Qwen3-30B-A3B/Qwen3-30B-A3B-Q4_0.gguf Q4_0
    #量化成Q4_K_M
    ./build/bin/llama-quantize ../llm_models/Qwen3-30B-A3B/Qwen3-30B-A3B-BF16.gguf ../llm_models/Qwen3-30B-A3B/Qwen3-30B-A3B-Q4_K_M.gguf Q4_K_M
  9. llama-cli 运行:

    cd ~/llamacpp/llama.cpp
    taskset -c 0-9 ./build/bin/llama-cli -m ~/llamacpp/llm_models/Qwen3-30B-A3B/Qwen3-30B-A3B-Q4_0.gguf
    # 请注意,若你的工作目录未创建在~/llamacpp,那么,各应用程序以及模型文件路径需要作出相应修改
  10. 执行完该代码后,终端页面会显示如下内容:

    image

    输入对应问题后,即可让大模型为您输出对应的答案:

    image