【书生·浦语】大模型实战营——第二课笔记

按照以下链接走流程:https://github.com/InternLM/tutorial/blob/main/helloworld/hello_world.md
算力网站:https://studio.intern-ai.org.cn/console/dashboard

InternLM-Chat-7B 智能对话 Demo

创建开发机。可以选择A100(20G),或者A100*2(40G),这个demo只需要用20G的显卡。
【书生·浦语】大模型实战营——第二课笔记_第1张图片

输入bash命令,进入conda环境。
【书生·浦语】大模型实战营——第二课笔记_第2张图片

通过vgpu-smi命令可以查看当前显卡情况。
【书生·浦语】大模型实战营——第二课笔记_第3张图片

键入conda create --name internlm-demo --clone=/root/share/conda_envs/internlm-base
创建一个conda环境,这个创建过程很慢。
【书生·浦语】大模型实战营——第二课笔记_第4张图片

使用conda activate internlm-demo命令激活conda环境,下载所需包
【书生·浦语】大模型实战营——第二课笔记_第5张图片

模型使用

由于share目录已提供模型,直接将其复制过来即可。这里两个命令,一个命令是创建目录,一个是将模型复制到刚刚创建的目录里。

代码准备

【书生·浦语】大模型实战营——第二课笔记_第6张图片

通过cd命令移动到/root目录下,使用mkdir命令创建目录,然后git clone将InternLM仓库拉下来
【书生·浦语】大模型实战营——第二课笔记_第7张图片

进入目录,使用git checkout切换分支为教程所用分支。
【书生·浦语】大模型实战营——第二课笔记_第8张图片

将模型载入的路径切换为我们刚刚存放模型的路径。
【书生·浦语】大模型实战营——第二课笔记_第9张图片

创建一个文件,把教程提供的代码放进去,文件命名为cli_demo.py
仔细看一下这个代码
在这里插入图片描述

首先,InternLM这个模型肯定上传到了hugging face上,这样才能用transformers库的接口来载入InternLM的tokenizer(词表)和model(模型)
然后通过eval将模型变为变为验证模式,不积累梯度,只做推理。
【书生·浦语】大模型实战营——第二课笔记_第10张图片

通过input函数接收用户输入,如果用户输入了exit,就退出这个程序。
通过model.chat来回答用户的query,输入参数有词表tokenizer,用户的输入input_text,还有历史消息messages(数组形式)
将用户的输入和模型的回答加入到历史信息中。

demo 运行

键入python /root/code/InternLM/cli_demo.py命令,即可开启对话。下面是一个对话的例子:
【书生·浦语】大模型实战营——第二课笔记_第11张图片

【书生·浦语】大模型实战营——第二课笔记_第12张图片

开启一个web demo
通过教程,配置好ssh后,查看开发机的端口号,可以从图里看到,这台开发机的端口为33762
在这里插入图片描述

于是键入ssh命令配置本地端口。
在这里插入图片描述

进入浏览器,在网址一栏输入127.0.0.1:6006,等待其模型载入完成,就可以在web页面与InternLM进行聊天了。
【书生·浦语】大模型实战营——第二课笔记_第13张图片
【书生·浦语】大模型实战营——第二课笔记_第14张图片

以下是一个对话示例
【书生·浦语】大模型实战营——第二课笔记_第15张图片
【书生·浦语】大模型实战营——第二课笔记_第16张图片

Lagent 智能体工具调用 Demo

这里使用的是InternLM-Chat-7B那个开发机,所以一些模型复制的操作我就不重复做了。

Lagent安装

【书生·浦语】大模型实战营——第二课笔记_第17张图片

代码准备

【书生·浦语】大模型实战营——第二课笔记_第18张图片

Demo运行

在这里插入图片描述

根据上面同样的步骤配置ssh,就可以在本地打开浏览器体验demo了
问了2x+8=10,让他求x=多少,以下是一个示例(等待过程稍微优点漫长)
【书生·浦语】大模型实战营——第二课笔记_第19张图片
【书生·浦语】大模型实战营——第二课笔记_第20张图片

我们在终端也可以看到相关日志信息:
在这里插入图片描述

输入一个二元一次方程,也能得到正确的答案。
【书生·浦语】大模型实战营——第二课笔记_第21张图片
在这里插入图片描述

问气温这个需求无法做到,看起来没办法做搜索。
【书生·浦语】大模型实战营——第二课笔记_第22张图片【书生·浦语】大模型实战营——第二课笔记_第23张图片

浦语·灵笔图文理解创作 Demo

这个demo需要40G的显存,需要换了一个40G显存的开发机,因此需要执行前面模型下载的一些步骤
需要创建一个新的环境,进入环境,下载新的一些包。
在这里插入图片描述
在这里插入图片描述

用下面的命令将图文模型xcomposer移动到指定目录

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

代码准备

cd /root/code
git clone https://gitee.com/internlm/InternLM-XComposer.git
cd /root/code/InternLM-XComposer
git checkout 3e8c79051a1356b9c388a6447867355c0634932d  # 最好保证和教程的 commit 版本一致

在这里插入图片描述

Demo运行

在终端运行以下代码:

cd /root/code/InternLM-XComposer
python examples/web_demo.py  \
    --folder /root/model/Shanghai_AI_Laboratory/internlm-xcomposer-7b \
    --num_gpus 1 \
    --port 6006

这个的等待时间比较久,需要耐心等待到有文字提示"Running on local URL: http://0.0.0.0:6006"后,你才能在本地ssh连接后在本地浏览器看到。不然提前操作都是没有用的。
【书生·浦语】大模型实战营——第二课笔记_第24张图片

创作图文并茂文章

在网页版demo输入”东汉末年分三国“
【书生·浦语】大模型实战营——第二课笔记_第25张图片

可以看看终端的输出:
【书生·浦语】大模型实战营——第二课笔记_第26张图片
【书生·浦语】大模型实战营——第二课笔记_第27张图片

我们可以从终端的输出看到,他是从根据关键词在网上搜索插图,放到文章里的。
点击旁边的edit,可以更换图片,同时也可以看到模型搜图的prompt。
【书生·浦语】大模型实战营——第二课笔记_第28张图片

有些地方本身没有图片,但是旁边也有加号,也可以添加图片。
比如这里:
【书生·浦语】大模型实战营——第二课笔记_第29张图片

这是我点击加号后,终端的输出:
在这里插入图片描述

多模态对话

点击MultiModal Chat,可以换到另一个应用
【书生·浦语】大模型实战营——第二课笔记_第30张图片

我选了命运石之门里的”助手“角色,问什么场景,前半部分回答对了,后半杜撰了“观众席”,不知道他咋想的。
整体体验还是挺不错的。

问题汇总

1、no module named ‘xxx’

有可能就是你没下载这个库
最大可能就是你没有conda activate对应的那个环境,因为包下在了某个环境里。

2、ssh连接失败

如果你中途换了开发机,需要看一下使用的开发机的端口,在命令中修改这一端口值。

你可能感兴趣的:(语言模型,python,人工智能)