轻松玩转书生·浦语大模型internlm-demo 配置验证过程

https://github.com/InternLM/tutorial/blob/main/helloworld/hello_world.md

1.InternLM-Chat-7B 智能对话 Demo

本小节我们将使用 InternStudio 中的 A100(1/4) 机器和 InternLM-Chat-7B 模型部署一个智能对话 Demo。

在 InternStudio 平台中选择 A100(1/4) 的配置,如下图所示镜像选择 Cuda11.7-conda,如下图所示轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第1张图片

接下来打开刚刚租用服务器的进入开发机,并且打开其中的终端开始环境配置、模型下载和运行 demo

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第2张图片进入开发机后,在页面的左上角可以切换 JupyterLab终端和 VScode,并在终端输入 bash 命令,进入 conda 环境。如下图所示:

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第3张图片

进入 conda 环境之后,使用以下命令从本地克隆一个已有的 pytorch 2.0.1 的环境

bash # 请每次使用 jupyter lab 打开终端时务必先执行 bash 命令进入 bash 中
bash /root/share/install_conda_env_internlm_base.sh internlm-demo  # 执行该脚本文件来安装项目实验环境.

然后使用以下命令激活环境

conda activate internlm-demo

并在环境中安装运行 demo 所需要的依赖。

按照依赖:
pip install modelscope==1.9.5
pip install transformers==4.35.2
pip install streamlit==1.24.0
pip install sentencepiece==0.1.99
pip install accelerate==0.24.1

2.2 模型下载

InternStudio 平台的 share 目录下已经为我们准备了全系列的 InternLM 模型,所以我们可以直接复制即可。使用如下命令复制:

mkdir -p /root/model/Shanghai_AI_Laboratory
cp -r /root/share/temp/model_repos/internlm-chat-7b /root/model/Shanghai_AI_Laboratory

也可以使用 modelscope 中的 snapshot_download 函数下载模型,第一个参数为模型名称,参数 cache_dir 为模型的下载路径。

在 /root 路径下新建目录 model,在目录下新建 download.py 文件并在其中输入以下内容,粘贴代码后记得保存文件,如下图所示。并运行 python /root/model/download.py 执行下载,模型大小为 14 GB,下载模型大概需要 10~20 分钟

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第4张图片

2.3 代码准备

首先 clone 代码,在 /root 路径下新建 code 目录,然后切换路径, clone 代码.

mkdir -p /root/code/

git clone https://gitee.com/internlm/InternLM.git

切换 commit 版本,与教程 commit 版本保持一致,可以让大家更好的复现。

cd InternLM
git checkout 3028f07cb79e5b1d7342f4ad8d11efad3fd13d17

将 /root/code/InternLM/web_demo.py 中 29 行和 33 行的模型更换为本地的 /root/model/Shanghai_AI_Laboratory/internlm-chat-7b

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第5张图片

2.4 终端运行

我们可以在 /root/code/InternLM 目录下新建一个 cli_demo.py 文件,将以下代码填入其中:

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第6张图片

然后在终端运行以下命令,即可体验 InternLM-Chat-7B 模型的对话能力。对话效果如下所示:

python /root/code/InternLM/cli_demo.py

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第7张图片

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第8张图片

2.5 web demo 运行

2.5.1配置本地端口

由于服务器通常只暴露了用于安全远程登录的 SSH(Secure Shell)端口,如果需要访问服务器上运行的其他服务(如 web 应用)的特定端口,需要一种特殊的设置。我们可以通过使用SSH隧道的方法,将服务器上的这些特定端口映射到本地计算机的端口。这样做的步骤如下:

1.首先我们需要配置一下本地的 SSH Key ,我们这里以 Windows 为例。

步骤①:在本地机器上打开 Power Shell 终端。在终端中,运行以下命令来生成 SSH 密钥对:轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第9张图片

ssh-keygen -t rsa

步骤②: 您将被提示选择密钥文件的保存位置,默认情况下是在 ~/.ssh/ 目录中。按 Enter 键接受默认值或输入自定义路径。

步骤③:公钥默认存储在 ~/.ssh/id_rsa.pub,可以通过系统自带的 cat 工具查看文件内容:

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第10张图片

说明:~ 是用户主目录的简写,.ssh 是SSH配置文件的默认存储目录,id_rsa.pub 是 SSH 公钥文件的默认名称。所以,cat ~\.ssh\id_rsa.pub 的意思是查看用户主目录下的 .ssh 目录中的 id_rsa.pub 文件的内容。

步骤④:将公钥复制到剪贴板中,然后回到 InternStudio 控制台,点击配置 SSH Key。如下图所示:

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第11张图片

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第12张图片

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第13张图片

步骤⑥:在本地终端输入以下指令 .6006 是在服务器中打开的端口,而 35253是根据开发机的端口进行更改。如下图所示:

ssh -CNg -L 6006:127.0.0.1:6006 [email protected] -p 35253

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第14张图片

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第15张图片

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第16张图片

在加载完模型之后,就可以与 InternLM-Chat-7B 进行对话了.(要提前下载好模型轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第17张图片)

轻松玩转书生·浦语大模型internlm-demo 配置验证过程_第18张图片

你可能感兴趣的:(语言模型)