大模型学习-使用colab进行大模型训练
Colab(全称为Google Colaboratory)是由Google推出的一个基于云的Jupyter Notebook平台,允许用户在线编写和运行Python代码,尤其适合机器学习、数据分析等任务。云端运行:用户无需在本地配置环境,所有代码都可以在Google的服务器上运行,并且提供免费的CPU和GPU资源,方便进行计算密集型任务。Python支持:Colab主要支持Python,并内置了许
目录
注意:在运行了colab一定时间后,colab会自动断开,如果训练大模型的时间很长(长达几天),是不适合用colab进行训练的
什么是colab?
Colab(全称为Google Colaboratory)是由Google推出的一个基于云的Jupyter Notebook平台,允许用户在线编写和运行Python代码,尤其适合机器学习、数据分析等任务。以下是Colab的几个主要特点:
-
云端运行:用户无需在本地配置环境,所有代码都可以在Google的服务器上运行,并且提供免费的CPU和GPU资源,方便进行计算密集型任务。
-
Python支持:Colab主要支持Python,并内置了许多常用的机器学习和数据分析库,如TensorFlow、Keras、NumPy、Pandas等。
-
自动保存:Colab与Google Drive无缝集成,笔记本文件会自动保存在Google Drive中,方便随时访问和分享。
-
共享和协作:Colab允许用户轻松地与他人共享代码,并且支持多人协作,类似于Google Docs的共享与实时编辑功能。
-
GPU和TPU支持:用户可以在Colab中免费使用GPU和TPU资源,加速深度学习模型的训练和推理。
Colab对初学者和有经验的开发者都非常友好,因为它降低了搭建环境的门槛,同时提供了强大的计算能力。
步骤
首先需要有谷歌的账号。且全程需要翻墙
进入谷歌云盘(使用谷歌账户登录):drive.google.com
新建一个文件夹,并命名为colab
我们可以将要用到的资源放到这个文件夹里,之后使用colab时就可以把该文件夹里的资源挂载过去。如此一来,即使colab断线了,使用的资源仍然在该网盘中,不会造成资源的丢失。
在网盘中上传训练要用到的资源:
注意:上传压缩包,而不是文件夹,否则没有7,8个小时是上传不完的,别问我怎么知道的。并且等上传完后再执行后面的网盘挂载(后面会提到)
可在右下角查看上传的进度:
使用colab
colab的使用类似于在本地的浏览器中操作远端的谷歌云服务器。
新建一个colab页面:
在刚开始时,没有colab选项,我们需要点击连接更多应用
搜索colab,并点击下载:
之后会绑定谷歌账户,跟着引导操作即可。
下载完成后,点击colab:
重命名一下
默认情况下,它使用的是CPU,我们需要改成GPU:
选择连接到托管运行:
输入命令,查看当前分配的资源:
!nvidia-smi
可以看到,当前分配的GPU内存有15GB左右。
首先查看当前路径
输入命令!pwd
可以看到,当前在content目录下。
训练
挂载谷歌网盘
import os
from google.colab import drive
drive.mount('/content/drive')
进入colab目录
%cd /content/drive/MyDrive/colab
解压just_train.zip(这里大概要花十几分钟,耐心等待)
!unzip just_train.zip
解压完成后,进入just_train目录
%cd just_train
上传训练文件(这个代码运行后,可以选择文件进行上传)
from google.colab import files
uploaded = files.upload()
删除train_data.json文件
import os
# 删除train_data.json 文件
os.remove("train_data.json")
将自己上传的训练文件重命名为train_data.json
import os
# 重命名文件
os.rename("武器.json", "train_data.json")
执行训练
!./train.sh
成功!!这里面进度条的2000指的是迭代的次数,而不是训练数据的条数。
训练时间过长的解决方案
更改迭代次数
打开文件管理器,找到train.py,双击打开。
在该文件中,找到如图所示的位置,将2000改成200,意思就是将迭代次数2000改为200,这样可以减少训练时间。
然后就可以重新训练了,可以看到,在训练时,迭代次数变为了200:
注意
在 Colab 中,当你挂载 Google 云盘时,文件的权限可能会有所不同。第一次解压 train.zip
时,文件的权限可能是自动设置为可执行的,但在挂载已经解压的文件时,Colab 可能没有默认授予执行权限。因此,解压后的文件需要手动设置执行权限。但手动设置权限很麻烦,反正我是没搞出来,所以之后再次使用colab训练时,建议重新解压just_train.zip,不要直接使用之前解压后的just_train,可以将其删掉,如果觉得占内存,可以在云盘里删些垃圾。
更多推荐
所有评论(0)