书生大模型实战营闯关 第一关:Linux 基础知识

科技   2024-10-29 15:35   北京  

背景:因为项目需要,要使用多模态大模型进行落地应用,经过调研发现,书生·万象多模态大模型(InternVL)是国内最优秀开源多模态大模型之一,正好书生也提供了训练营这个非常好的学习机会,还给免费算力,那就抓紧开始吧。别忘了扫描海报上的二维码报名哦!

InternVL 介绍:https://github.com/InternLML

书生大模型实战营闯关 第一关:Linux 基础知识    

1. InternStudio

InternStudio 旨在为开发者提供一个先进、高效、易于使用的云端机器学习平台。基于强大的 InternLM 算法库,InternStudio 不仅与 🤗 HuggingFace 开源生态完美兼容,还提供了多种便捷工具和资源,以助力开发者在大语言模型领域的探索和创新。

官网地址:https://studio.intern-ai.org.cn/

注册并登录后就进入控制台,可以创建开发机

选择默认参数,很快就可以创建成功。

选择进入开发机有三种不同视图可以选择:VScode、JupyterLab、Terminal。可以选择自己习惯的模式进行开发,这里就不赘述了。    

         

 

2. SSH连接开发机

SSH全称Secure Shell,中文翻译为安全外壳,它是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。SSH 协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的网络服务。

SSH (C/S架构)由服务器客户端组成,为建立安全的 SSH 通道,双方需要先建立 TCP 连接,然后协商使用的版本号和各类算法,并生成相同的会话密钥用于后续的对称加密。在完成用户认证后,双方即可建立会话进行数据交互。

 InternStudio提供了SSH方式连接开发机。点击SSH连接,就弹出SSH连接登录命令和密码,当然也可以添加公钥建立本地与开发机的安全连接。

在这里我们使用VScode SSH连接开发机。选择远程连接,输入登录命令和密码,打开要浏览的文件夹就可以进行文件浏览了。    

开发机的目录结构和注意事项:

   

3. 端口映射

端口映射是一种网络技术,它可以将外网中的任意端口映射到内网中的相应端口,实现内网与外网之间的通信。通过端口映射,可以在外网访问内网中的服务或应用,实现跨越网络的便捷通信。

进行端口映射的必要性:因为模型web的部署实践可能遇到web ui加载不全的问题。开发机Web IDE中运行web_demo时,直接访问开发机内 http/https 服务可能会遇到代理问题,外网链接的ui资源没有被加载完全。

所以为了解决这个问题,我们需要对运行web_demo的连接进行端口映射,将外网连接映射到我们本地主机,使用本地连接访问,解决代理问题。

回到开发机,选择自定义服务    

弹出这个界面

端口映射的两种方法:

(1)可以通过powershell,在终端输入命令和密码进行端口映射。通过添加公钥还可以免输入密码。

(2)使用vscode等工具自动端口映射    

我们使用第二种方法。前面我们已经通过VScode连接了开发机,现在我们创建一个hello_world.py文件,在文件中填入以下内容:

import socketimport reimport 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/202410081252022.png" alt="Logo" width="50%" style="border-radius: 5px;">                </a>            </p>
""" gr.Markdown(html_code)
demo.launch()

 在运行代码之前,需要先使用pip install gradio==4.29.0命令安装以下依赖包。

然后在Web IDE终端中运行hello_world.py的话,通过浏览器是没有办法正常访问的,需要进行端口映射。

在vscode终端选项卡中运行hello_world.py后,

   

可以看到VScode已经自动进行了端口映射

在本机的浏览器中,输入127.0.0.1:7860就可以顺利访问啦

         

 

还有其他可选知识比较基础,大家估计都已经做过了,在此略过了。有兴趣学习的可以扫一下文章开头我的专属海报二维码,有兴趣的一起进营学习啦!

         

 

         

 

   

网安杂谈
关注电子数据取证与网络犯罪调查
 最新文章