Nunchaku-flux-1-dev在Ubuntu20.04上的保姆级部署教程
Nunchaku-flux-1-dev在Ubuntu20.04上的保姆级部署教程
专为新手准备的详细指南,手把手带你避开所有坑
最近在折腾AI模型部署,发现Nunchaku-flux-1-dev这个模型效果还不错,但在Ubuntu系统上部署确实遇到不少问题。特别是驱动兼容性、环境配置这些环节,一不小心就会卡住半天。
今天就把完整的部署过程整理出来,从驱动安装到最终测试,每个步骤都经过实测验证。即使你是刚接触Ubuntu的新手,跟着这个教程走,也能在1小时内顺利完成部署。
1. 环境准备与系统要求
开始之前,先确认你的系统环境是否符合要求。我是在Ubuntu 20.04 LTS版本上测试的,这个版本比较稳定,兼容性也好。
最低系统要求:
- Ubuntu 20.04 LTS 操作系统
- 至少4核CPU,8核以上更佳
- 16GB内存,32GB推荐
- 100GB可用磁盘空间
- NVIDIA显卡(需要支持CUDA)
显卡要求: 建议使用RTX 3060及以上型号的显卡,显存至少8GB。我之前用GTX 1660试过,虽然也能跑,但速度明显慢很多。
先检查一下你的显卡信息,打开终端输入:
nvidia-smi如果显示类似下面的信息,说明显卡驱动已经安装:
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 515.86.01 Driver Version: 515.86.01 CUDA Version: 11.7 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... On | 00000000:01:00.0 On | N/A | | 30% 38C P8 20W / 170W | 682MiB / 12288MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+如果没有显示这些信息,或者提示"command not found",那就需要先安装显卡驱动。
2. 显卡驱动安装与配置
驱动安装是第一步,也是最容易出问题的地方。我这里提供两种方法,推荐用第一种。
2.1 通过官方PPA安装驱动
这是最简单的方法,适合大多数用户。打开终端,依次执行以下命令:
# 添加官方PPA源 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 安装推荐的驱动版本 ubuntu-drivers devices sudo apt install nvidia-driver-515安装完成后需要重启系统:
sudo reboot重启后再次运行nvidia-smi,应该就能看到显卡信息了。
2.2 手动安装驱动(备选方案)
如果上面的方法不行,可以尝试手动安装。先到NVIDIA官网下载对应版本的驱动,然后:
# 关闭图形界面 sudo systemctl isolate multi-user.target # 给驱动文件添加执行权限 chmod +x NVIDIA-Linux-x86_64-515.86.01.run # 安装驱动 sudo ./NVIDIA-Linux-x86_64-515.86.01.run安装完记得重启,然后验证驱动是否正常。
3. CUDA和cuDNN安装
现在驱动装好了,接下来安装CUDA工具包。Nunchaku-flux-1-dev需要CUDA 11.7或更高版本。
3.1 安装CUDA 11.7
wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux.run sudo sh cuda_11.7.1_515.65.01_linux.run安装过程中,记得选择安装CUDA Toolkit,其他的可以取消勾选。安装完成后,需要配置环境变量:
echo 'export PATH=/usr/local/cuda-11.7/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc验证CUDA安装:
nvcc --version3.2 安装cuDNN
cuDNN是深度学习加速库,需要到NVIDIA官网下载(需要注册账号)。下载后解压并安装:
tar -xvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*4. Python环境配置
建议使用conda来管理Python环境,这样可以避免版本冲突。
4.1 安装Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh按照提示完成安装,然后重启终端或者执行:
source ~/.bashrc4.2 创建专用环境
conda create -n nunchaku python=3.9 conda activate nunchaku5. Nunchaku-flux-1-dev部署
现在开始正式部署模型。
5.1 下载模型代码
git clone https://github.com/nunchaku-ai/flux-1-dev.git cd flux-1-dev5.2 安装依赖包
pip install -r requirements.txt这里可能会遇到一些依赖冲突,常见的问题和解决方法:
问题1:torch版本冲突如果提示torch版本不兼容,可以手动安装:
pip install torch==2.0.1 torchvision==0.15.2 --extra-index-url https://download.pytorch.org/whl/cu117问题2:protobuf版本问题有时候需要指定protobuf版本:
pip install protobuf==3.20.35.3 模型权重下载
你需要从Hugging Face下载模型权重:
git lfs install git clone https://huggingface.co/nunchaku/flux-1-dev如果网络不好,可以考虑用镜像源或者手动下载。
6. 常见问题解决
在部署过程中,我遇到了一些典型问题,这里分享解决方法。
6.1 CUDA out of memory错误
如果显存不足,可以调整batch size:
# 在配置文件中修改 config.batch_size = 2 # 默认可能是4,改成2或16.2 驱动版本不匹配
如果遇到驱动相关错误,可以尝试降级驱动:
sudo apt install nvidia-driver-5106.3 依赖冲突
有时候不同库版本会冲突,可以创建全新的conda环境重新安装。
7. 测试验证
部署完成后,我们来测试一下模型是否正常工作。
创建一个测试脚本test.py:
import torch from transformers import AutoModelForCausalLM, AutoTokenizer model_path = "./flux-1-dev" tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.float16, device_map="auto") input_text = "解释一下深度学习的基本概念" inputs = tokenizer(input_text, return_tensors="pt").to("cuda") outputs = model.generate(**inputs, max_length=200) print(tokenizer.decode(outputs[0], skip_special_tokens=True))运行测试:
python test.py如果一切正常,你应该能看到模型生成的文本输出。
8. 总结
整个部署过程确实有点复杂,但一步步来还是能搞定的。我最开始也踩了不少坑,特别是驱动版本和CUDA兼容性问题,有时候一个小版本差异就会导致各种错误。
用下来的感受是,Nunchaku-flux-1-dev在文本生成方面效果确实不错,响应速度也很快。如果你在部署过程中遇到其他问题,可以多看看日志信息,大部分错误都有比较明确的提示。
建议先在小规模数据上测试,确保一切正常后再投入实际使用。后续如果要优化性能,可以尝试调整一些参数设置,比如温度值、生成长度等,这些都会影响最终的效果。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
