必备:VSCode + Remote-SSH Extension,具体连接方法略
不会的问题都问大模型或AutoDL帮助文档
开服务器
先阅读仓库的README文件,确定CUDA版本后选择服务器,根据显存考虑显卡型号。环境可以开无卡模式在服务器上配置(假设没有依赖torch的C++编译),运行再开GPU,无GPU可以克隆实例。服务器都是自带torch的,如果配置指南里没有确认的torch版本,可以直接用base环境的torch,跳过这一安装步骤。
免密登录
设置SSH密钥可以避免我们每次登录/使用都需要输密码。执行命令后一直回车输一次密码即可。
# Windows Powershell
ssh-keygen -t rsa -b 4096 -f "$env:USERPROFILE\.ssh\id_rsa" -N ""; type "$env:USERPROFILE\.ssh\id_rsa.pub" | ssh user@serverip "cat >> ~/.ssh/authorized_keys"
# Linux
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" && ssh-copy-id -i ~/.ssh/id_rsa.pub user@serverip
文件上传
Linux和Cmd/Powershell均支持scp命令。
scp -r -P <PORT> <YOUR FILE PATH> user@serverip:<SERVER FILE PATH>
-r表示文件夹(上传单文件时不需要添加)。-P
表示端口,
user@serverip为SSH服务器域名,端口和域名都在服务器的SSH命令处复制。随后补充好路径,如果是初始仓库代码复制到数据盘/root/autodl-tmp/处。这里如果命令记不住,复制SSH命令、上传的文件地址和目标文件地址给大模型自动生成即可。
如果需要排除某个目录(如数据集/权重)可以使用rsync,只能在Linux或Windows-WSL中使用。
rsync -avz --exclude='<EXCLUDE FILE PATH>' <YOUR FILE PATH> user@serverip:<SERVER FILE PATH>
缓存清理
以下两个是可以直接删除,不影响系统运行的目录。
du -sh /root/miniconda3/pkgs/ && rm -rf /root/miniconda3/pkgs/* # conda的历史包
du -sh /root/.local/share/Trash && rm -rf /root/.local/share/Trash # jupyterlab的回收站
以下两个是可能占用较大空间,但需要根据实际情况清理的目录。
du -sh /tmp/ #查看/tmp占用的空间大小
du -sh /root/.cache #查看/root/.cache占用的空间大小
本地VPN代理
请参考如何优雅地在SSH服务器上使用Codex,如果需要配置Codex可顺便随本地代理配置。
如此可以加速git clone和hf download等下载路径。
安装依赖项
pip和conda使用镜像源能加速下载依赖包,切换源方法参考AutoDL帮助文档,另外也可以通过命令行修改配置文件(.condarc)。但对于pytorch我建议在配置完本地VPN后单独安装,走官方的cuxxx路径防止CUDA编译错误。模型权重和数据集等大文件个人不建议在服务器下载,因为网络波动。最好在本地下载后再上传(开无卡模式)。如果复现代码中会自动触发下载,需要把代码改为允许读取本地模型(如设置环境变量)。