目录
3.1. 安装 Transformers 引擎
3.1.1. PyTorch 和 Transformers 关系
-
PyTorch 是由 Facebook 开发的机器学习框架,基于 Torch 库,底层由 C++ 实现,提供了丰富的工具和API,使得构建和训练神经网络变得更加简单和高效。
-
TensorFlow 是由 Google 开发的机器学习框架,具有静态计算图和高度优化的执行引擎,使其适用于大规模的分布式训练和部署。
-
Transformers 库是由 Hugging Face 开发的,它建立在 PyTorch 和 TensorFlow 之上,支持几乎有所的最新模型。
3.1.2. 使用 pip 安装 pytorch
注意:当前 pytorch 稳定版(2.8.0) 只支持到
CUDA 12.9,
https://pytorch.org/get-started/locally
最新稳定版:ptorch-2.8.0/cuda-12.9
# conda 虚拟环境
conda create --name pytorch280_cu129 python=3.12
conda activate pytorch280_cu129
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu129
# uv 虚拟环境
uv venv pytorch280_cu129 --python 3.12 --seed
source pytorch280_cu129/bin/activate
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu1293.1.3. 使用 conda 安装 pytorch(不推荐)
https://pytorch.org/get-started/previous-versions/
# CUDA 12.4
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia
# CPU Only
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 cpuonly -c pytorch3.1.4. 验证 Torch/CUDA 版本
python ~/torch-test.py
import torch
# 显示当前torch版本
print(torch.__version__)
# 检查CUDA是否可用
print(torch.cuda.is_available())
# 显示当前CUDA版本
print(torch.version.cuda)3.2. 安装 llama.cpp 引擎
llama.cpp 是一个用纯C/C++编写的开源大语言模型推理库,旨在实现高性能、跨平台的LLM推理。如果资源有限,可以优先使用 llama.cpp 引擎,因为他提供了更多的量化选项。
3.2.1. 安装依赖
# conda 虚拟环境
conda create --name llama_cpp python=3.12
conda activate llama_cpp
pip install -r requirements.txt
# uv 虚拟环境
# 注意目前只支持到 python 3.12
uv venv llama_cpp --python 3.12 --seed
source llama_cpp/bin/activate
git clone https://ghfast.top/https://github.com/ggml-org/llama.cpp
cd llama.cpp
uv pip install numpy==1.26.4 huggingface-hub==0.23.2 matplotlib==3.10.0
uv pip install -r requirements.txt --prerelease=allow3.2.2. 导入 CUDA 环境
vim ~/.cuda.env
# set cuda environment
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64
export PATH=$PATH:$CUDA_HOME/bin
vim ~/.bashrc
# import cuda environment
source ~/.cuda.env3.2.3. 源码编译 llama.cpp
https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md
# 安装编译工具
sudo apt -y install build-essential g++ cmake libcurl4-openssl-dev
# CUDA Build
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -- -j 8
# CPU Build
cmake -B build
cmake --build build --config Release -- -j 83.2.4. llama.cpp 命令补全
~/llama.cpp/build/bin/llama-cli --completion-bash > ~/.llama-completion.bashvim ~/.profile
# set llama PATH if it exists
if [ -d "$HOME/llama.cpp/build/bin" ] ; then
PATH="$HOME/llama.cpp/build/bin:$PATH"
fi
# llama completion
source ~/.llama-completion.bash3.3. 安装 vLLM 引擎
vLLM 专为高效服务大型语言模型(LLM)而设计,通过有效管理注意力键和值来改善内存管理,吞吐量能够达到 Transformers 的 24 倍,因此 vLLM 适合在生产环境中使用,应对高并发的用户访问。
由于 vLLM 编译了许多 CUDA 内核,导致与有 CUDA 和 PyTorch 出现很多兼容问题,因此官方建议在全新环境中部署。
详细安装方法见官方文档: https://docs.vllm.ai/en/latest/getting_started/installation/gpu/index.html
uv venv vllm --python 3.12 --seed
source vllm/bin/activate
uv pip install vllm 需要注意的是,vllm 默认安装的是 cu124 版本,请确保与系统的一致。