大模型的Linux基础知识 - 第四期书生大模型实战营实验记录(入门岛-第1关)

173 阅读3分钟

我目前正在参加“书生大模型实战营”。这是一个旨在帮助学员掌握大模型开发和应用的实战课程,并且根据闯关进展“书生大模型”免费提供了算力给大家使用。

我根据官方提供的教程文档提取了核心步骤,并去掉了详细的背景知识介绍和说明,这样后续作为一个手册查找起来会更加直观。

但建议大家在实际学习过程中还是多看看原文,因为原文档确实非常的详细和完整,方便了解每一步的具体原因和背后的原理,这样有助于更牢固地掌握知识,提高实战能力。

本地环境:Win11。

原文:github.com/InternLM/Tu…

任务一:完成SSH连接与端口映射并运行hello_world.py

目标:通过SSH连接到InternStudio开发机,进行端口映射,并运行Python脚本hello_world.py

完成所需时间:教程推荐10分钟,我第一次使用平台,多花费点,20分钟。

步骤

  1. 登录InternStudio平台

  2. 创建开发机

    • 在首页点击“创建开发机”。
    • 选择创建个人开发机,名称为 test,CUDA版本为 12.2,资源配置选择 10%,时长默认。
  3. 获取SSH连接命令

    • 创建完成后,进入开发机页面,点击“SSH连接”。
    • 复制登录命令。
  4. 使用PowerShell进行SSH连接

    • 打开PowerShell终端。
    • 将复制的命令粘贴到终端中,然后回车。
    • 输入密码(密码粘贴时不会显示):
      ssh -p 48080 root@ssh.intern-ai.org.cn
      
  5. 配置SSH密钥免密登录(可选)

    • 在本地生成SSH密钥:
      ssh-keygen -t rsa
      
    • 将生成的公钥复制到开发机:
      • 回到InternStudio平台,点击“配置SSH Key”,然后点击“添加SSH公钥”。
      • 将公钥粘贴到公钥框中,点击“立即添加”。
  6. 创建并运行 hello_world.py 脚本

    • 在开发机上创建 hello_world.py 文件:
      vim 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
      
      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/202410081252022.png" alt="Logo" width="50%" style="border-radius: 5px;">
          </a>
          </p>
          """
          gr.Markdown(html_code)
          demo.launch()
      
    • 保存并退出编辑器(按 ESC,然后按 wq,再按 Enter)。
    • 安装Gradio库:
      pip install gradio==4.29.0
      
    • 运行脚本:
      python hello_world.py
      

  1. 端口映射
    • 在本地终端中运行端口映射命令,将本地7860端口映射到开发机的7860端口:
      ssh -p 48080 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
      

  1. 访问Web界面
    • 在本地浏览器中访问 http://localhost:7860,查看Web界面。

任务二:将Linux基础命令在开发机上完成一遍

目标:熟悉常用的Linux命令。

完成所需时间:10分钟,因为熟悉linux命令,只用了几分钟。

常用命令示例

  1. 文件常用操作

    touch demo.py
    mkdir test
    cd test
    pwd
    cat demo.py
    vim demo.py
    cp a.txt b.txt
    ln a.txt c.txt
    mv a.txt d.txt
    find d.txt
    
  2. 文本流编辑

     echo "InternLM"> file
     sed -e's/InternLM/InternLM yyds/g' file
     cat file
    
  3. 进程管理

    ps aux  # 显示系统所有进程的详细信息
    nvidia-smi #显示 GPU 状态的摘要信息
    

任务三:使用 VSCODE 远程连接开发机并创建一个conda环境

目标:配置VSCode进行远程开发,并设置一个新的conda环境。

完成所需时间:10分钟,时间差不多一致。

步骤

  1. 安装VSCode及其远程开发插件

    • 下载并安装VSCode。
    • 打开VSCode,进入扩展市场,搜索并安装“Remote SSH”插件。
  2. 从VSCode连接到远程服务器

    • ssh面板中点击“+”,在弹窗中粘贴以下命令。
        ssh -p 48080 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
    
  3. 创建新的conda环境

    • 创建新的conda环境:
      conda create -n name python=3.10
      conda activate name
      

    下载安装过程较慢,可以喝一杯茶了,安装完成后,本次关卡就结束了。