Featured image of post 书生·浦语大模型实战营(二):轻松玩转书生·浦语大模型趣味Demo

书生·浦语大模型实战营(二):轻松玩转书生·浦语大模型趣味Demo

本文为书生·浦语大模型实战营的课程笔记系列第二节:轻松玩转书生·浦语大模型趣味Demo

前言

本文为书生·浦语大模型实战营的课程笔记系列第二节

笔记

由于配套的说明文档已经记录的相当详细并且图文并茂,这节课丝毫没有记录笔记的必要,所以本文仅仅记录课后作业

基础作业

HF模型下载

目标:熟悉 hugging face 下载功能,使用 huggingface_hub python 包,下载 InternLM-20Bconfig.json 文件到本地(需截图下载过程)。

这个无需多言,只是基本的命令使用,需要注意的是,由于众所周知的原因,国内直接下载 hugging face 是不行的,这里使用镜像站 hf-mirror

  • 结果图:

0_hf_download

浦语7B模型部署demo

目标:使用 InternLM-Chat-7B 模型生成 300 字的小故事(需截图)。

这里我们可以使用两种demo来完成,分别是 cli_demoweb_demo,详细步骤参考配套教学文档,以下为大致总结:

  1. 环境准备:
    • InternStudio 平台选择 A100(1/4) 的配置,使用 Cuda11.7-conda 镜像。
    • 打开开发机,进入终端,切换到 bash 环境。
    • 使用提供的脚本克隆并激活 pytorch 2.0.1conda 环境,然后安装所需依赖。
  2. 模型下载:
    • 复制已准备好的 InternLM 模型到指定目录,或使用 modelscope 中的 snapshot_download 函数下载模型(推荐,跑满带宽),或在 huggingfaceOpenXLab 等处下载。
  3. 代码准备:
    • /root 路径下新建 code 目录,clone 指定版本的代码。
    • /root/code/InternLM 目录下新建 cli_demo.py 文件,使用 transformerstorch 库运行大模型。
    • 修改 /root/code/InternLM/web_demo.py 中的模型路径为本地路径。
  4. 终端运行:
    • 运行 xxx_demo.py 文件,即可体验 InternLM-Chat-7B 模型的对话能力。

使用的prompt:帮我生成一个300字的小故事,主角是打工人叫平方君,内容是他通过不断努力升职加薪、当上总经理、出任CEO、迎娶白富美、走上人生巅峰的励志故事

cli_demo

  • 结果图:

1_cli_demo

web_demo

由于 InternStudio 平台的开发机不能直接通过web访问,所以需要做一下端口映射,原理是利用 ssh 做端口转发。

在本地主机运行:

1
ssh -CNg -L 8008:127.0.0.1:8008 root@ssh.intern-ai.org.cn -p 34664

各部分解释如下:

  • ssh: 启动SSH客户端程序。
  • -C: 启用压缩。数据传输时进行压缩,提高传输效率。
  • -N: 不执行任何命令,主要用于纯粹建立连接。在这里,它告诉SSH客户端不要执行远程命令。
  • -g: 允许远程主机连接到本地的转发端口。在这里,它允许其他主机连接到本地端口8008。
  • -L 8008:127.0.0.1:8008: 设置本地端口转发。将本地端口8008转发到远程主机的127.0.0.1(即本地主机)的8008端口。
  • root@ssh.intern-ai.org.cn: 远程SSH服务器的用户名和主机地址。
  • -p 34664: 指定SSH服务器的端口号。

此命令的目的是在本地端口8008上创建一个SSH隧道,将流量转发到远程服务器上的相同端口,同时允许其他主机通过该远程服务器连接到本地端口。


作业部分:

  • 终端命令:

1_web_demo_cmd

  • 结果图:

1_web_demo

进阶作业(可选做)

Lagent部署demo

目标:完成 Lagent 工具调用 Demo 创作部署(需截图)

由于涉及到图形化操作,这里只有 web_demo,详细步骤参考配套教学文档,以下为大致总结:

  1. 环境准备:
    • 沿用之前的环境。
  2. 模型下载:
    • 不再赘述。
  3. Lagent 安装和修改代码:
    • 切换到 /root/code 目录,克隆 lagent 仓库,并通过 pip install -e . 源码安装。
    • 修改 react_web_demo.py 文件,替换为相应代码。
  4. Demo 运行:
    • 在终端运行 streamlit 命令,启动 Web 页面。
    • 在浏览器中访问 http://127.0.0.1:8008 查看 Demo。
    • 选择 InternLM 模型,输入问题,观察 Lagent 调度并处理的过程。

作业部分:

  • 终端命令:

3_lagent_web_demo_cmd

  • 结果图:

3_lagent_web_demo

浦语·灵笔部署demo

目标:完成浦语·灵笔的图文理解及创作部署(需截图)

由于涉及到图形化操作,这里也只有 web_demo,详细步骤参考配套教学文档,以下为大致总结:

  1. 环境准备:
    • 继续沿用之前的环境。
  2. 模型下载:
    • 用同样的方式,准备 internlm-xcomposer-7b 模型到指定目录。
  3. 代码准备:
    • /root/code 目录下克隆 InternLM-XComposer 仓库的代码,切换到指定的 commit 版本,以便对齐教学结果。
  4. Demo 运行:
    • 在终端运行 web_demo.py 文件,启动 Web 页面。
    • 在浏览器中访问 http://127.0.0.1:8008,体验图文理解创作的功能。

作业部分: 从终端的log来看,浦语·灵笔的创作流程大致上是先用语言模型生成文章,再选取合适的图片插入点,然后在数据库里根据关键词搜索匹配的图片,之后下载图片,并组合生成一份 markdown 文档。

  • 终端命令:

4_xcomposer_web_demo_cmd

  • 结果图1-图文生成:

4_xcomposer_web_demo1

  • 结果图2-多模态对话:

4_xcomposer_web_demo2

Built with Hugo
主题 StackJimmy 设计