[InternLM 大模型开源社区]大模型实战营第三期@202407-入门岛-第1关-Linux 基础知识

在线文档

任务:

任务描述完成所需时间完成度
闯关任务完成SSH连接与端口映射并运行hello_world.py10min完成
可选任务 1将Linux基础命令在开发机上完成一遍10min部分完成
可选任务 2使用 VSCODE 远程连接开发机并创建一个conda环境10min完成
可选任务 3创建并运行test.sh文件10min未完成*
  • *:在考虑用其他方式实现conda env打包永久化使用.

0.闯关任务

0.1 启动实例

  • 去https://studio.intern-ai.org.cn/console/instance/开一台机器.根据文档说明,我选择了Cuda12的镜像,取名test,然后算力10%,时间1h用来测试.点击创建后跳转控制台,发现显示 排队 字样,我是排名1但是我仍然等待了几分钟才启动实例完成.

0.2 连接实例

  • 方案选择:考虑到vscode支持jupyter页面和kernel管理,且很方便做端口映射)不需要输入ssh -L等指令,且 vscode remote
    对于SSH和SCP文件管理支持都好我选择使用VSCODE连接实例.另外,remote SSH对于remote hosts的管理也很方便,只要修改配置文件即可实现保存hosts,不检测host指纹等设置,也就摒弃了ssh之后带的一大坨**arg.
  • 生成key:首先用ssh-keygen生成自己的私钥~/.ssh/id_ras和公钥~/.ssh/id_rsa.pub.由于我这边本来就是 UNIX 主机,已经生成过了,不赘述.
  • 管理后台注册key:cat ~/.ssh/id_rsa.pub看一下公钥的内容,鼠标复制控制台的内容,复制到管理页面->右上角->个人头像->访问管理->新页面:复制内容过去,取一个名字即可.
  • PS:当然根据一般经验,用ssh-copy-id也可以复制key到服务器,已知官方说明/root是自带长期存储的,所以应该/root/.ssh/authorized_keys能保存相关key.另外考虑到云服务器启动实例的AZ会变化等问题,所以使用网页后台管理key的方式最鲁棒.总之,我没有测试ssh-copy-id
  • Remote SSH配置:打开VScode->左栏远程资源管理器->SSH右边+->复制网页的登录命令->粘贴在VSCode内->回车(可能会出现保存到配置文件等交互页面,我选择了~下的文件而不是/etc)
  • Remote SSH连接:我们刷新一下VScode中远程资源管理器,会出现ssh.intern-ai.org.cn字样,我们直接点击->在本窗口打开远程实例.由于我们注册过key,登录不需要密码输入.但是第一次登录需要安装VScode Remote Server要等半分钟来自动安装和配置.
  • 新建文件夹,复制代码进去
    (base) root@intern-studio-50066738:~# mkdir demo
    (base) root@intern-studio-50066738:~# cd demo/
    (base) root@intern-studio-50066738:~/demo# vi hello_world.py
    (base) root@intern-studio-50066738:~/demo# cat hello_world.py 
    import socket
    import re
    import gradio as gr
    
    # 获取主机名
    def get_hostname():
      hostname = socket.gethostname()
      match = re.search(r'-(\d+)$', hostname)
      name = match.group(1)
      
      return name
    
    # 创建 Gradio 界面
    with gr.Blocks(gr.themes.Soft()) as demo:
      html_code = f"""
              <p align="center">
              <a href="https://intern-ai.org.cn/home">
                  <img src="https://intern-ai.org.cn/assets/headerLogo-4ea34f23.svg" alt="Logo" width="20%" style="border-radius: 5px;">
              </a>
              </p>
              <h1 style="text-align: center;">☁️ Welcome {get_hostname()} user, welcome to the ShuSheng LLM Practical Camp Course!</h1>
              <h2 style="text-align: center;">😀 Let’s go on a journey through ShuSheng Island together.</h2>
              <p align="center">
                  <a href="https://github.com/InternLM/Tutorial/blob/camp3">
                      <img src="https://oss.lingkongstudy.com.cn/blog/202406301604074.jpg" alt="Logo" width="20%" style="border-radius: 5px;">
                  </a>
              </p>
    
              """
      gr.Markdown(html_code)
    
    demo.launch()
    (base) root@intern-studio-50066738:~/demo# 
    
  • 启动 可选任务2 中做的conda env然后执行demo:
    (base) root@intern-studio-50066738:~/demo# conda activate demo && python hello_world.py 
    Running on local URL:  http://127.0.0.1:7860
    
    To create a public link, set `share=True` in `launch()`.
    
    
  • 大约20s后,等终端出现http://127.0.0.1:7860字样时,Vscode会自动映射转发端口,此时点击右下角浏览器打开即可展示效果!

在这里插入图片描述

1 可选任务 1 将Linux基础命令在开发机上完成一遍

  • 检查环境:
    • df -h 所以永久化存储/root是怎么实现限制存储大小的?
      (base) root@intern-studio-50066738:~# df -h
      Filesystem                                                              Size  Used Avail Use% Mounted on
      overlay                                                                 3.5T  146G  3.2T   5% /
      tmpfs                                                                    64M     0   64M   0% /dev
      tmpfs                                                                  1008G     0 1008G   0% /sys/fs/cgroup
      29ee3a5c-ds7w.cn-wulanchabu.extreme.nas.aliyuncs.com:/share/aide/share   10T  8.2T  1.9T  82% /share
      2995ed4baf5-nwi35.cn-wulanchabu.nas.aliyuncs.com:/aide/prod/50066738     10P   95T   10P   1% /root
      tmpfs                                                                  1008G     0 1008G   0% /dev/shm
      /dev/nvme0n1                                                            3.5T  146G  3.2T   5% /etc/hosts
      tmpfs                                                                  1008G   12K 1008G   1% /run/secrets/kubernetes.io/serviceaccount
      tmpfs                                                                  1008G   12K 1008G   1% /proc/driver/nvidia
      /dev/sda1                                                               440G  135G  287G  32% /usr/bin/nvidia-smi
      tmpfs                                                                  1008G  9.4M 1008G   1% /run/nvidia-persistenced/socket
      devtmpfs                                                               1008G     0 1008G   0% /dev/nvidia5
      tmpfs                                                                  1008G     0 1008G   0% /proc/acpi
      tmpfs                                                                  1008G     0 1008G   0% /proc/scsi
      tmpfs                                                                  1008G     0 1008G   0% /sys/firmware
      
    • cat /etc/apt/sources.list看一下apt源,谢天谢地已经换好了.实测apt install会在150kps,体验存在问题!
      (base) root@intern-studio-50066738:~# cat /etc/apt/sources.list
      deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
      deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
      
      deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
      deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
      
      deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
      deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
      
      # deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
      # deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
      
      deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
      
    • conda config --show-sources这里是清华的源,感觉不很稳定.实际体验安装python基础env很慢
      (base) root@intern-studio-50066738:~# conda config --show-sources
      ==> /root/.condarc <==
      channels:
       - defaults
      custom_channels:
       conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
       msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
       bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
       menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
       pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
       pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
       simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
       deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
      default_channels:
       - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
       - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
       - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
      show_channel_urls: True
      
    • cat ~/.config/pip/pip.conf pip也是清华源,🌟8. 实际体验良好!
      (base) root@intern-studio-50066738:~# cat ~/.config/pip/pip.conf
      [global]
      index-url = https://pypi.tuna.tsinghua.edu.cn/simple
      
    • cat /etc/os-realese:发现是Ubuntu 20.04 LTS,该版本还不错,就是glibc可能老点,可能会影响之后装现代一点的服务器监控软件.
      (base) root@intern-studio-50066738:~# cat /etc/os-release 
      NAME="Ubuntu"
      VERSION="20.04.6 LTS (Focal Fossa)"
      ID=ubuntu
      ID_LIKE=debian
      PRETTY_NAME="Ubuntu 20.04.6 LTS"
      VERSION_ID="20.04"
      HOME_URL="https://www.ubuntu.com/"
      SUPPORT_URL="https://help.ubuntu.com/"
      BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
      PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
      VERSION_CODENAME=focal
      UBUNTU_CODENAME=focal
      
    • nvidia-smi:是VRAM为10%的A100,驱动535,CUDA最高12,在2024年来说比较新.
      (base) root@intern-studio-50066738:~# nvidia-smi
      Sat Jul 13 11:17:20 2024       
      +---------------------------------------------------------------------------------------+
      | NVIDIA-SMI 535.54.03              Driver Version: 535.54.03    CUDA Version: 12.2     |
      |-----------------------------------------+----------------------+----------------------+
      | 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 A100-SXM4-80GB          On  | 00000000:8E:00.0 Off |                    0 |
      | N/A   32C    P0              65W / 400W |      4MiB / 81920MiB |      0%      Default |
      |                                         |                      |             Disabled |
      +-----------------------------------------+----------------------+----------------------+
                                                                                               
      +---------------------------------------------------------------------------------------+
      | Processes:                                                                            |
      |  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
      |        ID   ID                                                             Usage      |
      |=======================================================================================|
      |  No running processes found                                                           |
      +---------------------------------------------------------------------------------------+
      
    • conda env list:发现PS1中有(base)标记,说明有condaconda init bash成功.这里看看还预装了什么环境->哦,原来什么都没有.
      (base) root@intern-studio-50066738:~# conda env list
      # conda environments:
      #
      base                  *  /root/.conda
      
  • 安装软件
    • apt update && apt install curl wget git tmux vim tar zip -y

2 可选任务 2 | 使用 VSCODE 远程连接开发机并创建一个conda环境

  • 闯关任务 要用gradio,那么我们直接一句话新建环境并集成python gradio
    • conda create -n demo python=3.8 gradio==4.29.0 && conda activate demo->失败了,好像conda tsinghua源不支持gradio,也可能别的conda源支持,算了用pip安吧
    • conda create -n demo python -y && conda activate demo && pip install gradio==4.29.0
  • 30
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值