一、部署InternLM2-Chat-1.8B模型进行智能对话
1.1 环境配置
-
InternStudio平台-开发机-cuda11.7conda-10%A100-创建开发机
-
进入开发机,创建conda环境studio-conda -o internlm-base -t demo
-
激活conda环境,安装所需软件包
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
1.2 下载InternLM2-Chat-1.8B模型
github:https://github.com/InternLM/Tutorial/tree/camp2
InternLM2 报告:https://arxiv.org/pdf/2403.17297.pdf
视频地址:书生·浦语大模型全链路开源体系_哔哩哔哩_bilibili
-
创建文件夹并进入目录
-
mkdir -p /root/demo touch /root/demo/cli_demo.py touch /root/demo/download_mini.py cd /root/demo
-
打开
/root/demo/download_mini.py
,复制以下代码
import os
from modelscope.hub.snapshot_download import snapshot_download
# 创建保存模型目录
os.system("mkdir /root/models")
# save_dir是模型保存到本地的目录
save_dir="/root/models"
snapshot_download('Shanghai_AI_Laboratory/internlm2-chat-1_8b',
cache_dir=save_dir,
revision='v1.1.0')
-
执行
python /root/demo/download_mini.py
,下载模型参数文件
1.3 加载模型
在cli_demo.py中输入内容
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name_or_path = "/root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True, device_map='cuda:0')
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='cuda:0')
model = model.eval()
system_prompt = """You are an AI assistant whose name is InternLM (书生·浦语).
- InternLM (书生·浦语) is a conversational language model that is developed by Shanghai AI Laboratory (上海人工智能实验室). It is designed to be helpful, honest, and harmless.
- InternLM (书生·浦语) can understand and communicate fluently in the language chosen by the user such as English and 中文.
"""
messages = [(system_prompt, '')]
print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")
while True:
input_text = input("\nUser >>> ")
input_text = input_text.replace(' ', '')
if input_text == "exit":
break
length = 0
for response, _ in model.stream_chat(tokenizer, input_text, messages):
if response is not None:
print(response[length:], flush=True, end="")
length = len(response)
-
执行命令,运行demo程序
conda activate demo
python /root/demo/cli_demo.py
出现User >>>后输入 请创作一个 300 字的小故事
二、部署实战营优秀作品八戒-Chat-1.8B模型
2.1 配置基础环境
使用git命令获取仓库的demo文件
cd /root/
git clone https://gitee.com/InternLM/Tutorial -b camp2
cd /root/Tutorial
2.2 下载运行chat-八戒Demo
执行 python /root/Tutorial/helloworld/bajie_download.py
执行
streamlit run /root/Tutorial/helloworld/bajie_chat.py --server.address 127.0.0.1 --server.port 6006
通过win+R打开运行窗口,输入powershell打开powershell窗口
在开发机页面查看端口号
在powershell中执行ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p 41410
,根据提示输入密码
浏览器中打开http://127.0.0.1:6006/ ,等待打开模型,输入你好,请自我介绍
三、通过InternLM2-Chat-7B运行Lagent智能体Demo
github:https://github.com/InternLM/Tutorial/tree/camp2
视频地址:
轻松玩转书生·浦语大模型趣味 Demo_哔哩哔哩_bilibili
3.1 配置基础环境
-
提升GPU配置至30%
-
激活demo环境,进入
/root/demo
路径 -
使用git下载lagent代码库
相关代码库安装:
git clone https://gitee.com/internlm/lagent.git
# git clone https://github.com/internlm/lagent.git
cd /root/demo/lagent
git checkout 581d9fb8987a5d9b72bb9ebd37a95efd47d479ac
pip install -e . # 源码安装
3.2 运行 InternLM2-Chat-7B 模型为内核的智能体
-
进入lagent路径,构造软链接快捷访问方式
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b
-
对于lagent路径中的examples/internlm2_agent_web_demo_hf.py,在第71行修改代码
value='/root/models/internlm2-chat-7b'
-
执行命令加载模型
streamlit run /root/demo/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006
-
打开powershell,先查询端口,再在powershell中输入命令
ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p 38374
-
在webIDE中点击链接http://127.0.0.1:6006/ 打开模型
-
输入
请解方程 2*X=1360 之中 X 的结果
进行测试
四、实践部署浦语灵笔2模型
4.1 配置基础环境
-
升级开发机GPU配置至50%,启动并进入开发机
-
激活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
-
下载InternLM-XComposer仓库相关代码资源
cd /root/demo
git clone https://gitee.com/internlm/InternLM-XComposer.git
# git clone https://github.com/internlm/InternLM-XComposer.git
cd /root/demo/InternLM-XComposer
git checkout f31220eddca2cf6246ee2ddf8e375a40457ff626
-
构造软链接快捷访问方式
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-7b /root/models/internlm-xcomposer2-7b
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-vl-7b /root/models/internlm-xcomposer2-vl-7b
4.2 图文写作
-
启动InternLM-XComposer
cd /root/demo/InternLM-XComposer
python /root/demo/InternLM-XComposer/examples/gradio_demo_composition.py \
--code_path /root/models/internlm-xcomposer2-7b \
--private \
--num_gpus 1 \
--port 6006
-
打开powershell,查询端口后在powershell执行命令
ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p 41410
-
打开链接 http://127.0.0.1:6006 ,点击submit提交已经自定义的图文生成任务
根据以下标题:“中国水墨画:流动的诗意与东方美学”,创作长文章,字数不少于800字。请结合以下文本素材: “水墨画是由水和墨调配成不同深浅的墨色所画出的画,是绘画的一种形式,更多时候,水墨画被视为中国传统绘画,也就是国画的代表。也称国画,中国画。墨水画是中国传统画之一。墨水是国画的起源,以笔墨运用的技法基础画成墨水画。线条中锋笔,侧锋笔,顺锋和逆锋,点染,擦,破墨,拨墨的技法。墨于水的变化分为五色。画成作品,题款,盖章。就是完整的墨水画作品。 基本的水墨画,仅有水与墨,黑与白色,但进阶的水墨画,也有工笔花鸟画,色彩缤纷。后者有时也称为彩墨画。在中国画中,以中国画特有的材料之一,墨为主要原料加以清水的多少引为浓墨、淡墨、干墨、湿墨、焦墨等,画出不同浓淡(黑、白、灰)层次。别有一番韵味称为“墨韵”。而形成水墨为主的一种绘画形式。”
4.3 图片理解
-
点击左下角关闭terminal,后点击shutdownall,重新开启terminal
-
激活demo环境
-
执行命令,启动聊天模型
cd /root/demo/InternLM-XComposer
python /root/demo/InternLM-XComposer/examples/gradio_demo_chat.py \
--code_path /root/models/internlm-xcomposer2-vl-7b \
--private \
--num_gpus 1 \
--port 6006
-
模型运行结束后点击链接,不必重新进行端口映射
-
上传图片,并输入
请分析一下图中内容