1.为什么要在linux系统安装训练大模型的环境
在训练大模型时,Linux系统确实是更常见的选择
1. 性能优化
Linux系统在资源管理、多线程处理和内存分配方面表现优异,能够更好地支持大规模计算任务。
Linux的文件系统(如Ext4/XFS)更适合处理大模型训练中常见的海量小文件,例如数据集和检查点。
Linux对GPU的支持更为优化,尤其是NVIDIA的CUDA工具链在Linux上表现更稳定、性能更高。
2. 开源生态与社区支持
Linux是开源系统,开发者可以深度定制内核、驱动和工具链,以满足特定硬件和软件栈的需求。
主流的AI框架(如TensorFlow、PyTorch)和工具(如Docker、Kubernetes)在Linux上支持更全面,社区提供的解决方案也更丰富。
3. 稳定性和可靠性
Linux系统以其高稳定性和低故障率著称,适合长时间运行的大模型训练任务。
与Windows相比,Linux在服务器环境中的表现更为成熟,能够避免因系统更新或蓝屏等问题导致的训练中断。
4. 成本与许可
Linux系统免费且无授权限制,而Windows Server的许可费用在高性能计算集群中会显著增加成本。
2.windows11系统下,通过WSL安装ubuntu
打开powershell
输入wsl --install -d Ubuntu-22.04
100%后按提示设置用户名和密码
设置完后直接自动登录了
备注:
安装完运行,报错WSL 2 kernel is missing or not properly installed.系统缺少 WSL2 所需的 Linux 内核更新包
安装 WSL2 的 Linux 内核更新包,点击下面链接下载安装器:
安装后重启一次电脑(很关键)
然后重新打开 Ubuntu
3.安装python
打开ubuntu
依次输入命令
sudo apt update && sudo apt upgrade -y
sudo apt install -y git wget curl build-essential software-properties-common
sudo apt install -y python3.10 python3.10-venv python3.10-dev python3-pip
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
验证命令
python –version
pip –version
创建虚拟环境并激活
python -m venv llama-env
source llama-env/bin/activate
切换镜像源至国内
mkdir -p ~/.pip
vi ~/.pip/pip.conf
输入
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
保存退出
4.安装 PyTorch(CUDA 支持)
pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装完成后测试
依次输入查看返回结果,没问题Ctrl+D退出
python
import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))
5.安装LLaMA-Factory 和依赖
git clone https://github.com/hiyouga/LLaMA-Factory.git
完成后进入文件夹
pip install -e ".[torch,metrics]"
pip install -U pip setuptools
pip install -r requirements.txt
pip install -r requirements-lora.txt
其中pip install -r requirements-lora.txt报错
手动安装 LoRA 训练所需的依赖
pip install peft accelerate bitsandbytes
pip install transformers datasets
pip install sentencepiece
6.启动
python src/webui.py --port 7860 --host 0.0.0.0
访问ip:7860即可(查看ip命令:ip addr show eth0)