近期对大模型的微调突然很感兴趣,便去下载了个通义千问的7B模型来玩,但由于window对一些环境的不支持(比如deepspeed,适配linux但是不适配Windows),于是就去装了个双系统,分享一下安装过程和遇到的问题以及解决办法。

一、启动盘制作

从Windows环境到Ubuntu环境需要有一个启动盘来做媒介,需要准备一个8G以上的U盘来制作启动盘。

1、下载Ubuntu

我下载时候使用的是(NEXT, ITELLYOU),这个网站下载速度比官网快,还支持文件校验。

各种操作系统的文件都能下载。

进来以后我下载了版本22的,复制BT下载链接,然后去迅雷下载,勾选上显示校验信息就可以对下载下来的文件进行校验,校验工具采用的是IHasher(IHasher下载-IHasher官方版下载[2024最新版]-pc下载网)具体校验方法不详细描述,仅对担心下载环境不靠谱的介绍,可以不用校验

下载下来之后是一个iso文件,这里不像Windows系统一样可以搞个WinPE直接点开使用iso文件,还是需要制作一个启动盘。

2、制作Ubuntu启动盘

我使用的是UltroSO软件(最新UltraISO官方免费下载 - UltraISO软碟通中文官方网站)进行制作启动盘,具体制作过程如下:

安装好后打开点击:继续试用

点击:文件-->打开-->

打开后界面如下:

然后点击:启动-->写入硬盘映像

这里当时忘记插U盘了,插入U盘后,在硬盘驱动那里能看到你插入的那个U盘,选中要制作启动盘的U盘,然后可以勾选上刻录校验,点击:便捷启动-->写入新的硬盘主引导记录(MBR)-->“USB--HDD+”

然后就可以开始写入U盘了

写入时间大概十分钟左右,花费时间跟U盘读写速度有关。到这里启动盘就已经写好了。

3、双系统安装前准备(准备一个未使用分区)

需要给要安装的系统找个地方存储,由于Windows系统和Ubuntu系统的文件格式不同,因此不能放在同一个已分配的磁盘分区上(注:可以是同一个物理硬盘,但不能是同一个分区),本节目的是腾出一个空白分区存储Ubuntu系统(不用担心Ubuntu会安装到C盘,只会安装到你腾出来的那个空白分区)。

点开文件管理,然后鼠标右键点击此电脑-->显示更多选项

然后点击第二个选项:管理

点击磁盘管理

在这里能看到你的物理硬盘和分区情况,这里我只有一块物理硬盘,然后有好几个分区(软件、系统这两个命名的也是分区),如果分区已经把整个硬盘占满了怎么办,没事,可以挤出来。具体操作如下:

这里我是要从我的D盘腾出一点空间来,那我就鼠标右键点击“软件D”盘,然后点击:压缩卷

需要多大的空间就压缩多大,但是也尽量给D盘留一点空间(上图D盘旁边的256G就是我压缩出来的,用于安装Ubuntu):

压缩完后就多出来了一份未使用分区,等他留着。嫌压缩出来多了也不要紧,点击扩展卷就可以让他回原样再重新压缩就可以(具体操作请搜索其他博客)。这样我们已经有了启动盘和一个未使用的分区了,后续会将Ubuntu安装到指定的这个分区。

二、Ubuntu安装

这里需要重启电脑进入BIOS修改启动顺序,各种主板、笔记本进入BIOS的按键不一样,我给出一种通用的备选方案:

在设置里面搜索“恢复”,然后点击恢复选项

点击高级启动的立即重新启动,重新启动后点击U盘启动就好了

等待数秒后,出现一个全黑的界面(我安装好了界面有点不一样,故采用别人的界面):

这里简要介绍一下这几个选项:第一个就是进去安装Ubuntu,第二个是Ubuntu的恢复程序,系统出错可以从第二个选项进入解决一部分错误(有些博客说的恢复程序就是这个里面的),第三个我的是启动Windows系统(稍微有点不一样),第四个是内存条的测速(不用管)。

安装前黑屏处理:

先不着急点击第一个(10s不点会自动点,启动黑屏了再回来看),如果是没有核显的Nvidia显卡用户,务必在键盘上按“e”键进去修改一下文件(文本中找到“quiet splash”,如果后面是三个短线“---”就删掉并且输入“nomodeset”,如果没有短线就直接输入“nomodeset”, ‘注:只输入字母nomodeset,不要输入引号,这个是Linux内核的一个mode setting设置,强烈建议进入系统第一件事就是设置永久的nomodeset’,如何在Ubuntu上永久设置nomodeset - 问答 - 亿速云),不然大概率会因为没有核显直接黑屏。黑屏了强制关机重启再来修改。(如下图所示的nomodeset,“\”是换行不用管)

接下来就可以顺利进入Ubuntu的安装界面了

开始安装

详细图像安装流程请参考(一看就会!8分钟真机安装【Ubuntu/Windows】双系统_哔哩哔哩_bilibili)安装流程参考这个就好,我截图描述感觉都不如这个视频。安装完重启时候如果黑屏请继续去设置nomodeset。

安装Ubuntu失败想卸载重新安装请参考这篇文章:(Win+Ubuntu双系统下删除Ubuntu系统 - 知乎

进入系统后准备

建议先设置永久nomodeset(如何在Ubuntu上永久设置nomodeset - 问答 - 亿速云

然后会发现分辨率很不对,这是因为Ubuntu显卡驱动的问题,需要安装nvidia驱动才能正常显示,这里建议不会使用linux指令的直接在Ubuntu主界面左下角点进去软件目录后的“附加驱动”里面下选择nvidia驱动(图片来自别人的博客)(PS:还有建议在下面这个图的“Ubuntu软件”那里,去选择下载速度最快的源):

这里的驱动有很多版本,最好根据自己要安装CUDA和torch的版本进行选择(【PyTorch 】【CUDA】深入了解 PyTorch 中的 CUDA 和 cuDNN 版本及 GPU 信息_pytorch cuda cudnn-CSDN博客),如果对cuda和torch没有要求,直接安装“tested”版本的就好,(这里的不同驱动版本决定能适配的cuda版本,带“server”的是服务器适配的,个人就选没有server版本的),我是4060ti,要安装12.4的cuda,就选择了nvidia-driver-550(图内没有,但这里会显示适配自己显卡的驱动),安装好后重启系统如果如下指令:

nvidia-smi

有返回结果就ok了,没有反应建议再装一次/doge

lhp@SUPER-PC:~$ nvidia-smi 
Sat Apr 27 23:51:11 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| 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 RTX 4060        Off |   00000000:01:00.0  On |                  Off |
|  0%   37C    P8             26W /  200W |     494MiB /  16384MiB |      1%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      1698      G   /usr/lib/xorg/Xorg                            118MiB |
|    0   N/A  N/A      1842      G   /usr/bin/gnome-shell                          138MiB |
|    0   N/A  N/A      3223      G   ...seed-version=20240426-130149.177000         59MiB |
|    0   N/A  N/A      3759      G   ...irefox/3836/usr/lib/firefox/firefox        159MiB |
+-----------------------------------------------------------------------------------------+

三、pytorch2.4+cuda12.4安装

请保证已经安装好nvidia驱动再继续后文

1、安装anaconda

直接在官网下载(Download Now | Anaconda),下载完后进入下载好的文件所在目录,在当前目录打开终端,输入如下指令进行安装(小技巧:输入bash An后按tab键可以直接填充完成文件名),

bash Anaconda3-2020.07-Linux-x86_64.sh 

安装时候会有一个很长的条款,快速按空格跳过,每一个需要键入的地方填yes,或者参考(Ubuntu 20.04安装Anaconda3及简单使用_ubuntu anaconda3使用-CSDN博客

安装完成后要进入anaconda的图形化界面直接在终端输入:

anaconda-navigator

navigator里面有jupyter notebook和pycharm,也内置了python,挺方便的,都不用再单独安装pycharm了。

要创建jupyter notebook直接键入

jupyter notebook

2、安装cuda12.4

为了减少麻烦,或者不知道怎么兼容多个cuda,务必安装nvidia-smi输出显示的cuda version版本我这里是12.4,就去官网下载(CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA 开发者)。

我选择deb(local)下载,因为这个下载挺快的,不过需要在命令行执行几条命令:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin

sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600

wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda-repo-ubuntu2004-12-4-local_12.4.1-550.54.15-1_amd64.deb

sudo dpkg -i cuda-repo-ubuntu2004-12-4-local_12.4.1-550.54.15-1_amd64.deb

sudo cp /var/cuda-repo-ubuntu2004-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/

sudo apt-get update

sudo apt-get -y install cuda-toolkit-12-4

简单描述一下这几行命令,“wget”是从指定网址下载东西,sudo是提供权限,“sudo mv”就是把这个文件挪到哪哪哪,“sudo dpkg”就是解压,“sudo cp”就是copy,apt是一个高级的指令包,后面良好就是验证公钥和安装了。

接下来就是等待安装完成。安装完成以后输入下面指令(显示没有“vim”就输入“vi”试试,还是不行建议直接找到这个文件去添加)

sudo vim ~/.bashrc

在文件末尾添加内容如下

export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-12.4

然后更新环境

source ~/.bashrc
sudo ldconfig

输入

nvcc -V

查看cuda有没有安装成功,有返回cuda版本就安装成功了。

3、安装torch2.4

这里建议先配置一下国内镜像源(ubuntu修改python的pip源为国内源_ubuntu python换源-CSDN博客),然后进入官网(Previous PyTorch Versions | PyTorch)复制粘贴适配自己cuda版本的torch(cuda12.4),这里我装的是torch2.4,选择直接下载轮子文件(whl)

pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu124

可以看到这里最后网站的后缀是cu124,就是cuda12.4版本的(务必对应,否则需要额外查看cuda兼容的博客,这里不再详细描述)

4、安装deepspeed

这里直接使用Qwen的github项目的pip指令下载(Qwen/README_CN.md at main · QwenLM/Qwen

最后到这里就全部安装完成了,感谢大家看到这里,不妨点个收藏,手动码字六千字~

Logo

欢迎来到由智源人工智能研究院发起的Triton中文社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐