一、基础作业
使用 InternLM2-Chat-1.8B
模型生成 300 字的小故事(需截图)
本人是在自己租用的云端服务器上部署的InternLM2-Chat-1.8B,然后利用此完成此次基础作业。
这里还是先简单的来一点前期的步骤吧:
A:创建虚拟环境:这里就叫作demo吧
conda create -n demo python==3.10 -y
B:然后打开虚拟环境,注意我用的是Linux(windows环境:conda activate env-name; Linux环境:source activate env-name)
source actiavte demo
C:然后安装该安装的库,注意版本:
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
pip install lagent
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
D:然后自己从github中clone代码文件:
#下载InternLM-XComposer仓库相关的代码资源
cd /root/autodl-tmp/InternLM2-model/code/
git clone https://gitee.com/internlm/internlm2-chat-1_8b.git
cd /root/autodl-tmp/InternLM2-model/code/internlm2-chat-1_8b
git checkout f31220eddca2cf6246ee2ddf8e375a40457ff626
E:利用modelscope下载模型:
import os
from modelscope.hub.snapshot_download import snapshot_download
# save_dir是模型保存到本地的目录
save_dir="/root/autodl-tmp/InternLM2-model/models"
# 1.下载internlm2-chat-1_8b
snapshot_download("Shanghai_AI_Laboratory/internlm2-chat-1_8b",
cache_dir=save_dir,
revision='v1.1.0')
F:终端输入启动指令
#InternLM-Chat-1.8B 智能对话 Demo(web端)
streamlit run /root/autodl-tmp/InternLM2-model/code/InternLM2-Chat-1.8B/web_demo.py --server.address 127.0.0.1 --server.port 6006
就可以部署模型并使用啦!
除此之外 我还想借用上一期的代码 开发一下web端的InternLM2模型,目前遇到点报错 就是他有点笨笨的一直重复我的话 这个我还得研究一下。
其实后面的几个demo大概也是这个思路,稍有不同罢了!(这只是简单的部署而已,并未涉及到什么微调模型以及训练以及编程知识,只是学习整个模型应用部署的大致流程罢了,后续的内容会继续讲解微调模型以及简单的增训的。
二、进阶作业
1.熟悉 huggingface
下载功能,使用 huggingface_hub
python 包,下载 InternLM2-Chat-7B
的 config.json
文件到本地(需截图下载过程)
- 这里我在本地的源码进行huggingface_hub下载功能
代码主要如下:
#使用 Hugging Face 官方提供的 huggingface-cli 命令行工具。安装依赖
import os
from huggingface_hub import hf_hub_download # Load model directly
#hf_hub_download(repo_id="模型所在地址", filename="需要下载的模型文件子目录", cache_dir='你需要把模型保存到的本地路径')#自动下载在该download.py的同一级文件下
hf_hub_download(repo_id="internlm/internlm2-chat-7b", filename="config.json", cache_dir='D:/2022年项目资料/书生·谱语大模型训练项目/第一期')
2.完成 Lagent 工具调用 数据分析 Demo 部署(需截图)
下面也说自己在本地服务器(用的3080 24G显存的卡),哥们因为没在share文件里面整,直接用的modelscope下的模型
import os
from modelscope.hub.snapshot_download import snapshot_download
# save_dir是模型保存到本地的目录
save_dir="/root/autodl-tmp/InternLM2-model/models"
# 下载InternLM2-Chat-7B
snapshot_download('Shanghai_AI_Laboratory/InternLM2-Chat-7B',
cache_dir=save_dir,
revision='v1.1.0')
最后多试了几次就成功了,效果大概如下,主要是可以利用他的智能体去分析你的输入结果,虽然我感觉chatgpt不是本来就能这么干吗哈哈哈。
3.完成 浦语·灵笔2 的 图文创作 及 视觉问答 部署(需截图)
PARTA:图文创作
图文创作部分我借用了50%的A100算力才跑出来哈哈哈,主要步骤其实简化一下,也就是创建虚拟环境、配置相应版本的库、从github中clone相应代码、利用modelscope下载模型、配置GPU以及启动命令代码、开始运行模型web端,即可成功实现demo。
这是模型下载的过程,我本人是把所有模型的代码和路径都写好了在一个py文件里面,方面随时下载和更改路径
modelscope下载代码
import os
from modelscope.hub.snapshot_download import snapshot_download
# save_dir是模型保存到本地的目录
save_dir="/root/autodl-tmp/InternLM2-model/models"
'''
# 1.下载internlm2-chat-1_8b
snapshot_download("Shanghai_AI_Laboratory/internlm2-chat-1_8b",
cache_dir=save_dir,
revision='v1.1.0')
'''
'''
# 下载BaJie-Chat-mini
snapshot_download('JimmyMa99/BaJie-Chat-mini',
cache_dir=save_dir)
'''
'''
# 下载InternLM2-Chat-7B
snapshot_download('Shanghai_AI_Laboratory/InternLM2-Chat-7B',
cache_dir=save_dir,
revision='v1.1.0')
'''
# 下载internlm-xcomposer2-7b
snapshot_download('Shanghai_AI_Laboratory/internlm-xcomposer2-7b',
cache_dir=save_dir,
revision='v1.0.0')
snapshot_download('Shanghai_AI_Laboratory/internlm-xcomposer2-vl-7b',
cache_dir=save_dir,
revision='v1.0.0')
启动命令汇总
#InternLM-Chat-1.8B 智能对话 Demo(web端)
streamlit run /root/autodl-tmp/InternLM2-model/code/InternLM2-Chat-1.8B/web_demo.py --server.address 127.0.0.1 --server.port 6006
#八戒chat
streamlit run /root/autodl-tmp/InternLM2-model/code/bajie_chat/helloworld/bajie_chat.py --server.address 127.0.0.1 --server.port 6006
#Lagent 智能体工具调用 Demo(还能调用Chatgpt)
streamlit run /root/autodl-tmp/InternLM2-model/code/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006
#浦语·灵笔图文理解创作 Demo(web端)
#cd 指定进入的文件目录
cd /root/autodl-tmp/InternLM2-model/code/InternLM-XComposer
python /root/autodl-tmp/InternLM2-model/code/InternLM-XComposer/examples/gradio_demo_composition.py \
--code_path /root/autodl-tmp/InternLM2-model/models/Shanghai_AI_Laboratory/internlm-xcomposer2-7b \
--private \
--num_gpus 1 \
--port 6006
#浦语·灵笔图文写作实战(web端)
cd /root/autodl-tmp/InternLM2-model/code/InternLM-XComposer
python /root/autodl-tmp/InternLM2-model/code/InternLM-XComposer/examples/gradio_demo_chat.py \
--code_path /root/autodl-tmp/InternLM2-model/models/Shanghai_AI_Laboratory/internlm-xcomposer2-vl-7b \
--private \
--num_gpus 1 \
--port 6006
这里已经成功调用并打开了web端,
可以看到此时的显存已经快爆了
下面就是利用InternLM-XComposer展示图文创作的效果啦
PARTB:视觉问答
下面就是利用InternLM-XComposer2进行视觉理解的图,这里我输入了一张我自己在海陵岛拍摄的照片,他大概分析了图中的景色吧,但是问他这是哪他也不知道哈哈哈,确实特征给的太少了哈哈哈。
这里步骤跟前面那个一模一样 直接抄就好啦。
三、结束
这里就顺利结束啦,由于有第一期自己练习了一下的经验,这里的模型部署比较熟练一些,但是还是感觉没有能够更加深入的理解大模型的部署以及训练方式,这些在后面微调训练中应该会练习到,那就期待下一节课吧!我个人习惯就是会做一个doc把这节的代码以及操作文档记录在案,避免了一些坑,方便后续自己的回顾使用,有需要的老哥也可以私聊我喔。