InternLM2 Demo实操-大模型实战&大语言模型3

所以这篇随笔主要记录一下作业中的步骤,另外拆解一下 封装的一些东西,防止在本地复现时出现各种问题。

作业要求

  • 基础作业
    • 使用 InternLM2-Chat-1.8B 模型生成 300 字的小故事
    • 熟悉 huggingface 下载功能,使用 huggingface_hub python 包,下载 InternLM2-Chat-7Bconfig.json 文件到本地(需截图下载过程)
    • 完成 浦语·灵笔2图文创作视觉问答 部署(需截图)
    • 完成 Lagent 工具调用 数据分析 Demo 部署(需截图):

对话Demo:InternLM2-Chat-1.8B 智能对话(使用 InternLM2-Chat-1.8B 模型生成 300 字的小故事)

搭建环境

首先是搭建环境这里,官方教程说:

进入开发机后,在 `terminal` 中输入环境配置命令 (配置环境时间较长,需耐心等待):

studio-conda -o internlm-base -t demo
# 与 studio-conda 等效的配置方案
# conda create -n demo python==3.10 -y
# conda activate demo
# conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia

studio-conda 命令

那么,这句studio-conda -o internlm-base -t demo究竟是什么呢?我们直接查看一下/root/.bashrc,发现里面就一句:

source /share/.aide/config/bashrc

继续查看/share/.aide/config/bashrc,这个可长了,这里给出最后两句:

export HF_ENDPOINT='https://hf-mirror.com'
alias studio-conda="/share/install_conda_env.sh"
alias studio-smi="/share/studio-smi"

这个文件就是它设置代码环境的了。脚本里面定义了几个变量和函数,之后就直接调用dispatch函数了。之后的流程如下:

  1. 因为我们给的参数是-o internlm-base -t demo,所以会直接从dispatch这里执行脚本中的clone函数,参数是 internlm-base demo
  2. CONDA_HOME会通过HOME_DIR=/root; CONDA_HOME=$HOME_DIR/.conda指定为/root/.conda,即工作区下的文件夹。
  3. 然后,将/share/pkgs.tar.gz解压至目录,再通过conda create clone的方式克隆环境完成环境的搭建。

所以这个命令实际上是将预配置好的环境打包解压克隆了一遍,和教程中的等效代码还是有较大不同的。

然后需要我们执行以下代码配置环境。轻轻吐槽一下既然都是直接解压并conda clone了,为什么不直接做一个装好这些库的conda环境压缩包。

conda activate demo
pip install huggingface-hub==0.17.3
pip install transformers==4.34 
pip install psutil==5.9.8
pip install accelerate==0.24.1
pip install streamlit==1.32.2 
pip install matplotlib==3.8.3 
pip install modelscope==1.9.5
pip install sentencepiece==0.1.99

查看环境

base环境下面还是啥都没有的,我们来看看demo环境下面都有些什么:

python                    3.10.13              h955ad1f_0    defaults
pytorch                   2.0.1           py3.10_cuda11.7_cudnn8.5.0_0    pytorch
pytorch-cuda              11.7                 h778d358_5    pytorch
pytorch-mutex             1.0                        cuda    pytorch
torchaudio                2.0.2               py310_cu117    pytorch
torchtriton               2.0.0                     py310    pytorch
torchvision               0.15.2              py310_cu117    pytorch

下载模型

这里教程直接创建了share的软链接,应该是怕大家都下一遍占用带宽和硬盘。本地部署的时候需要重新去 huggingface 或者 modelscope 下载模型 internlm2-chat-7b,步骤之前已经详细写过了

ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b

模型推理

我们要执行的demo位于/root/demo/lagent/examples/internlm2_agent_web_demo_hf.py,首先要更改代码中耦合的模型文件(其实不改也行,顶多会重新从huggingface中下载一遍模型):

之后使用strealit运行该文件:

streamlit run /root/demo/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006

再转发端口:

# 从本地使用 ssh 连接 studio 端口,将下方端口号 38374 替换成自己的端口号
ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p 38374

端口转发成功后会弹出“是否允许ssh.exe访问专用网络”的窗口,同意即可。在浏览器中输入[http://localhost:6006/]打开demo.。首次加载模型会比较慢:

出现底部文字输入框后即模型加载完毕,此时终端中模型检查点全部加载完成:

不要忘记勾选“数据分析”选项:

运行结果为:

避坑指北

这里我说一下我碰到的坑吧:

  1. 命令太长导致执行的命令与预期不一致。
    创建软连接这一步,ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b这个命令太长了,在vscode的终端里会自动只执行了一段,实际上链接没有创建成功,导致streamlit报错
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': '/root/models/internlm2-chat-7b'. Use `repo_type` argument if needed.

  1. ssh连接不转发端口
    这里是教程没有认真看,直接执行 ssh root@ssh.intern-ai.org.cn 了,该命令不能转发端口。需要执行教程里的ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn才能将服务器的6006端口转发至本地。当然后面发现code-server实在是太强大了。我直接在它的终端里点击打开链接,它会打开https://a-aide-20240330-一串字母-160311.intern-ai.org.cn/proxy/6006/,是直接就能远程访问体验demo的。

当然,官方也说了更推荐使用ssh转发端口:

(使用 VSCode 等工具进行端口转发) 直接访问开发机内 http/https 服务可能会遇到代理问题,推荐在本地机器终端执行命令

图文多模态大模型Demo(完成 浦语·灵笔2图文创作视觉问答 部署(需截图))

搭建环境

conda activate demo
pip install timm==0.4.12 sentencepiece==0.1.99 markdown2==2.4.10 xlsxwriter==3.1.2 gradio==4.13.0 modelscope==1.9.5

cd /root/demo
git clone https://gitee.com/internlm/InternLM-XComposer.git
cd /root/demo/InternLM-XComposer
git checkout f31220eddca2cf6246ee2ddf8e375a40457ff626

可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。

👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值