AMD ROCm 与 LLamaFactory
引言
在人工智能技术迅猛发展的时代,越来越多的开发者和 技术爱好者正积极投身于这一领域,希望通过构建和训练自己的模型来解锁各种创新应用的可能性。
本教程在Ubuntu环境下,配置AMD GPU驱动、conda配置Python环境,进而使用LLamaFactory调优模型。
实验环境
在此环境下成功部署LLamaFactory并调优模型。希望给予参考。
参数 | 值 |
---|---|
显卡 | AMD® Radeon rx 6800 xt |
处理器 | AMD® Ryzen 9 5900x 12-core processor x 24 |
内存 | 32.0 GiB |
操作系统名称 | Ubuntu 22.04.4 LTS |
操作系统类型 | 64位 |
显卡驱动:Radeon™ Software for Linux® version 24.10.3 for Ubuntu 22.04.4 HWE
驱动安装
卸载旧驱动
amdgpu-install --uninstall
sudo apt remove --purge amdgpu-install
安装新驱动
- 依赖库
sudo apt update
sudo apt install -y libstdc++-12-dev
wget https://repo.radeon.com/amdgpu-install/6.1.3/ubuntu/jammy/amdgpu-install_6.1.60103-1_all.deb
sudo dpkg -i ./amdgpu-install_6.1.60103-1_all.deb
sudo amdgpu-install --usecase=graphics,multimedia,multimediasdk,rocm,rocmdev,rocmdevtools,lrt,opencl,openclsdk,hip,hiplibsdk,openmpsdk,mllib,mlsdk --no-dkms -y
- 环境变量
# rocm
export GFX_ARCH=gfx1100
export HCC_AMDGPU_TARGET=gfx1100
export CUPY_INSTALL_USE_HIP=1
export ROCM_VERSION=6.1
export ROCM_HOME=/opt/rocm
export LD_LIBRARY_PATH=/usr/include/vulkan:/opt/rocm/include:/opt/rocm/lib:$LD_LIBRARY_PATH
export PATH=/home/eliran/.local/bin:/opt/amdgpu/bin:/opt/rocm/bin:/opt/rocm/llvm/bin:$PATH
export HSA_OVERRIDE_GFX_VERSION=11.0.0
export ROCR_VISIBLE_DEVICES=GPU-1c1ba06da38c59a5
export GPU_DEVICE_ORDINAL=0,1
export HIP_VISIBLE_DEVICES=0,1
export CUDA_VISIBLE_DEVICES=0,1
export LLAMA_HIPLAS=0,1
export DRI_PRIME=1
export OMP_DEFAULT_DEVICE=1
# vulkan
export GGML_VULKAN_DEVICE=0,1
export GGML_VK_VISIBLE_DEVICES=0,1
export VULKAN_SDK=/usr/share/vulkan
注意
这一步很重要,必要依赖项没有安装完整,环境变量没有设置正确,会一直提示找不到ROCm。
验证是否安装成功
rocminfo
会打印如下类似信息:
******
Agent 2
*******
Name: gfx1100
Uuid: GPU-b14ca445df90862b
Marketing Name: Radeon RX 6800 XT
Vendor Name: AMD
Feature: KERNEL_DISPATCH
Profile: BASE_PROFILE
Float Round Mode: NEAR
Max Queue Number: 128(0x80)
Queue Min Size: 64(0x40)
Queue Max Size: 131072(0x20000)
Queue Type: MULTI
Node: 1
*******
Agent 3
*******
Name: gfx1100
Uuid: GPU-2ff143adb661d5fb
Marketing Name: Radeon RX 6800 XT
Vendor Name: AMD
Feature: KERNEL_DISPATCH
Profile: BASE_PROFILE
Float Round Mode: NEAR
Max Queue Number: 128(0x80)
Queue Min Size: 64(0x40)
Queue Max Size: 131072(0x20000)
Queue Type: MULTI
Node: 2
安装 MiniConda
获取脚本
wget https://repo.miniconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 或者
curl -O https://repo.miniconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
安装
sh Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
验证
# 可以看到默认的conda环境预置的包
conda list
安装和配置 LLamaFactory
创建并激活llama Factory环境
conda create --name llamaFactory python=3.11
conda activate llamaFactory
安装 llama Factory
克隆仓库
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
如果没有git,apt install git
。
安装依赖
pip3 install --pre torch torchvision torchaudio metrics --index-url https://download.pytorch.org/whl/nightly/rocm6.1
其他可选的额外依赖项,根据自己需要选择:torch、torch-npu、metrics、deepspeed、bitsandbytes、hqq、eetq、gptq、awq、aqlm、vllm、galore、badam、qwen、modelscope、quality。
验证
微调
llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
推理
llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
导出模型
llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml
使用LLaMA Factory Web界面进行调优训练
llamafactory-cli webui
执行这个命令后,在浏览器中访问 http://127.0.0.1:7860 即可看到界面。