平台介绍
InternStudio开发机介绍
InternStudio 是大模型时代下的云端算力平台。基于 InternLM 组织下的诸多算法库支持,为开发者提供开箱即用的大语言模型微调环境、工具、数据集,并完美兼容 🤗 HugginFace 开源生态。
如果大家想了解更多关于InternStduio的介绍的话可以查看下面的文档: InternStudio
首先打开上面的链接进入InternStudio,完成登录会自动跳转到控制台界面,如下图所示:
InternStudio中可以创建开发机,以及修改开发机配置和查看相关日志等,方便用户根据自身情况来选择开发模式,如图所示。
创建开发机
如何创建开发机如下图所示
通过选择创建开发机并选择对应的镜像版本,用户可以根据自身的情况来相关配置。
创建好后的开发机如下图所示,其中用户可以按照自己的习惯来选择对应的链接及开发模式
链接及开发模式
如下图所示,我们进入开发机后,有3种模式供我们开发者选择,JupyterLab,终端,VSCode,个人建议(新手使用终端,命令行操作能够解决大部分问题,后续最好掌握vscode等工具的使用方法,方便后续的开发工作)。
使用开发机vscode来进行测试
如下图所示,直接通过开发机提供的vscode可以直接进行相关的开发工作,类似使用本地的vscode编程软件类似,在开发机root目录下创建一个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()
使用本地vscode
大部分开发用户基于自身使用工具来链接服务器,执行开发任务,对应的诸如vscode,pycharm工具等,这里需要使用上述工具通过ssh链接服务器并执行开发任务,下面介绍如何使用vscode的ssh链接到服务器,其中如下图所示ssh链接信息需要被记录到本地的vscode中。
将开发机的ssh信息写入本地vscode中方便链接,顺序为先写入登录命令及密码,其中登录命令,要区别的是端口号。
登录好后,可以像之前执行开发机vscode的模式执行hello_world.py,由于开发机与本地链接的安全性,需要对开发机的端口发送文件进行转发,所以在本地执行命令时,要执行ssh -p 35763 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no,可以参卡下图。
测试效果图如下
conda虚拟环境部署
考虑多个人公用一个开发机,由于开发项目不同可能有多个不同的环境依赖,为防止环境相互冲突,可以使用conda来构建虚拟环境来方便开发,命令如下图。
下面为开发机所有的conda环境,命令如图。
python基础测试
上面已经对开发机的基本情况进行了介绍,包含开发机创建,基本命令,本地链接开发机的流程,下面会对python的做一个基本测试,并通过本地的vscode来链接开发机进行调试。
本次python是基于对文本基于空格分割后,进行统计并制作成对应的字典。文本如下
以及对下面文本进行小写处理后,进行文本分割并制作成相应的字典。
对应的代码及调试的结果如下图所示,对于文本1先对文本进行分割后,按照字典的处理方式来进行统计,对于文本2,先进行小写处理后,按照之前处理方式即可。