恒源云常用命令

139 阅读7分钟

GPU选择

实测速度 30606.691080ti3060 \approx 6.69*1080ti 30902.45306016.421080ti3090 \approx 2.45*3060 \approx 16.42*1080ti 40902.56306017.181080ti4090 \approx 2.56*3060 \approx 17.18*1080ti 结论:3090性价比最高

Metric标准K(Kilo)M(Mega)G(Giga)T(tera)
Decimal10*310*610*910*12
IEC标准Ki(Kibi)Mi(mebi)Gi(gibi)Ti(tebi)
Binary2*102*202*302*40

在描述模型的params时单位常用M(million=10*6)或B(billion=10*9), 有时候也用M(mega)或G(Giga),G与B等价。

小模型大模型超大模型
params <1B1B< params <100B100B< params <10T

单卡训练显存要比模型参数大4倍 如 RTX 3090(24 GB) 最大推理推理 INT8:≈ 24 B 参数 最大训练 INT8:≈ 6 B 参数 最大推理推理 FP16:≈ 12 B 参数 最大训练 FP16:≈ 3 B 参数 最大推理推理 FP32:≈ 6 B 参数 最大训练 FP32:≈ 1.5 B 参数

CPU选择

  1. 核心架构(最重要)
    • 新一代 > 旧一代
    • AMD EPYC 7xxx3系列 > EPYC 7xxx2系列 > EPYC 7xxx1系列
    • Intel Xeon Platinum > Xeon Gold > Xeon E5
  2. 核心数量
    • 128核 > 96核 > 80核 > 72核 > 64核 > 48核 > 32核 > 24核
  3. 内存支持
    • 2T > 512G > 503G > 251G > 196G > 128G > 62G
处理器型号核心/线程架构/代号推出年代内存支持
AMD EPYC 7J1364核 / 128线程Zen 3 (Milan)2021年503G
AMD EPYC 7T8364核 / 128线程Zen 3 (Milan)2021年503G
AMD EPYC 770264核 / 128线程Zen 2 (Rome)2019年503G
AMD EPYC 774264核 / 128线程Zen 2 (Rome)2019年503G
AMD EPYC 754232核 / 128线程Zen 2 (Rome)2019年2T
AMD EPYC 751332核 / 128线程Zen 3 (Milan)2021年512G
AMD EPYC 753232核 / 128线程Zen 2 (Rome)2019年512G
Intel Xeon Platinum 816324核 / 96线程Skylake-SP2017年512G
AMD EPYC 745148核 / 96线程Zen (Naples)2017年128G
AMD EPYC 760132核 / 64线程Zen (Naples)2017年251G
Intel Xeon Gold 6133未知 / 80线程Skylake-SP2017年196G
Intel Xeon E5-2686 v418核 / 72线程Broadwell-EP2016年128G
Intel Xeon E5-2696 v212核 / 24线程Ivy Bridge-EP2013年62G

Linux常用命令

运行完自动关机

# 恒源云已经对底层系统进行定制,shutdown 命令可能是平台提供的 自定义操作(比如关闭当前训练实例),而非传统 Linux 系统的关机命令。
;shutdown

查看文件数量

# 统计当前目录下的文件(不包括子目录),不包含隐藏文件
ls -l | grep "^-" | wc -l
# 统计当前目录下的文件(不包括子目录),包含隐藏文件
ls -Al | grep "^-" | wc -l
# 统计当前目录下的文件(包括隐藏文件),不递归子目录
find . -maxdepth 1 -type f | wc -l
# 统计当前目录下所有条目(包括目录),不包含隐藏文件
ls -1 | wc -l
# 统计当前目录下所有条目(包括目录),包含隐藏文件
ls -A1 | wc -l

文件和目录

pwd # 查看当前所在目录位置
cd dir # 进入'dir'目录中
ls # 查看当前目录下的文件
mkdir dir1 dri2 # 在当前目录下创建'dir1'和'dri2'目录
rm emptyfile # 删除文件
rm -rf dir1 dri2 # 删除'dir1'和'dir2'目录并同时删除其内容
cp file1 file2 # 复制一个文件
cp -r file1 file2 # 复制一个目录
mv /path/to/source_dir/* /path/to/target_dir/ # 将某个目录下的所有文件移动到另一个目录
find /hy-tmp/123/ -maxdepth 1 -type f -exec mv {} /hy-tmp/123/validation/ \; # # 将某个目录下的所有文件(不包括目录)移动到另一个目录

磁盘空间

du -sh dir1 # 估算目录 'dir1' 已经使用的磁盘空间
'''
-h:以人类可读的格式显示(如 KB、MB、GB)。
-s:仅显示总占用空间(不显示子目录)。
--max-depth=N:限制显示的目录深度(N 为层级)。
-a:显示所有文件和目录的占用(默认只显示目录)。
'''

打包和压缩文件

zip -r file1.zip file1 file2 dir1 # 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip # 解压一个zip格式压缩包
tar -zcf archive.tar.gz file directory # 将文件和文件夹压缩成 .tar.gz 文件
tar -xvzf archive.tar.gz # 解压一个gzip格式的压缩包
tar -xvjf archive.tar.bz2 # 解压一个bzip2格式的压缩包
for tar in *.tar.gz;  do tar xvzf $tar; done # 解压多个gzip格式的压缩包
for tar in *.tar.bz2; do tar xvjf $tar; done # 解压多个bzip2格式的压缩包
tar -tf archive.tar # 显示一个包中的内容
tar -cvf archive.tar file directory # 将文件或文件夹打包为 tar 文档
# sudo apt update
# sudo apt install unrar
unrar x file1.rar 解压rar包

cat Kinetics-400.tar.gz.* > Kinetics-400.tar.gz # 合并分卷压缩文件

方法 1:使用 zip 命令(压缩 + 分割)

zip -r -s 500m --out backup.zip Documents/
# -r:递归压缩目录及其子内容(必需参数)。
# -s 100m:指定每个分卷大小为 100MB(支持单位:k=KB, m=MB, g=GB)。
zip -r -s 500m --out backup.zip Documents/ # 压缩并分割目录
zip -s 0 backup.zip --out restored.zip  # 合并所有分卷为 restored.zip
unzip restored.zip                      # 解压合并后的文件

方法 2:使用 tar + split 组合(分步压缩和分割)

tar czf - input_directory/ | split -b 100m -d -a 3 - output_part. # 压缩并分割目录
# tar czf - input_directory/:
# c:创建压缩文件。
# z:使用 gzip 压缩。
# f -:输出到标准输出(以便管道传递给 split)。
# split:
# -b 100m:分卷大小 100MB。
# -d:分卷后缀使用数字(默认是字母,如 .aa)。
# -a 3:分卷后缀长度为 3 位(如 .001)。
# output_part.:分卷文件前缀(生成 output_part.001、output_part.002 等)。
tar czf - Photos/ | split -b 200m -d -a 3 - photos_part.# 压缩并分割目录
cat photos_part.* | tar xzvf -  # 合并分卷并直接解压到当前目录

系统命令

top # 查看cpu信息,一个进程对应一行,%cpu是指占用了几个核心,如果是200%,说明占用了2个核心
nvidia-smi # 查看显卡信息,此方法无法看到进程
py3smi # 查看显卡信息另一种方法,可看到是否有进程占用显卡

Windows PowerShell

Get-ChildItem -Filter *.tar.gz | ForEach-Object { tar -xzvf $_.Name }
# Get-ChildItem -Filter *.tar.gz 获取当前目录下所有 .tar.gz 文件。
# ForEach-Object {... } 对每个文件执行解压操作。
# $_.Name 表示当前处理的文件名。

下载

wget -P target_dir http:

Tmux

tmux new -s session1 # 创建一个名称为 session1 的会话
tmux detach # 或使用快捷键 Ctrl + B,再按 D 来退出会话
tmux ls # 查看当前所有的会话
tmux a -t session1 # 重新进入之前的 session1 的会话
'''
如果当前在会话当中,可以使用 Ctrl + D 或执行 logout 退出 SSH 登陆,即终止当前会话。
在不在会话中时可以执行下列命令来删除会话
'''
tmux kill-session -t session1 # 删除指定会话
tmux kill-server # 删除所有会话

公共网盘

下载gpushare-cli命令工具

curl -L https://download.gpushare.com/download/gpushare-cli-linux -o /usr/local/bin/gpushare-cli
chmod u+x /usr/local/bin/gpushare-cli
#执行gpushare-cli version命令验证是否安装成功
gpushare-cli version
v1.0.14
# AutoDL也可以用,下载到hy-tmp,然后 cp /hy-tmp/file.zip /root/autodl-tmp/

使用方法

gpushare-cli -h # 命令可参考命令使用方法

注意事项(加粗内容必看)

  • 下载大文件大小无限制
  • 上传单个大文件100g失败,50g可行
  • linux、阿里云与win系统的内存占用计算一样,都是按进制2^10
  • linux系统的内存占用显示有时比阿里云和win更大一点,因为它只保留一位小数
  • gpushare-cli ali ls显示的是按进制10^3,所以要比down和up显示的大
  • gpushare-cli ali down显示的是按进制2^10,速度约40MiB/s且一定要指定存放路径
  • gpushare-cli ali up显示的是linux内存占用,速度极慢,且丢包率超高,分卷5g以下可能会有改善。(建议下载到本地,然后传到阿里云)
  • /hy-tmp/->oss://速度约80MB/s
  • oss://->/hy-tmp速度约100MB/s
  • win->oss://速度约4MB/s
  • MB/s 意思是每秒中传输 10^6 byte 的数据,是下载软件比较常用的显示单位
  • MiB/s 意思是每秒中传输 2^20 byte 的数据,相对少见