asp.net 做网站实例,化妆品网页设计素材,兰州网站设计公司排名,沈阳做网站优秀公司该系列是上海AI Lab举行的书生 浦语大模型训练营的相关笔记部分。 该笔记是第二节课#xff0c;完成对话、多模态等demo#xff0c;形成对InternLM的初步了解 1. 部署InternLM2-Chat-1.8B
InternLM2-Chat-1.8B是一个对话小模型#xff0c;只有1.8B参数#xff0c;因此运行…
该系列是上海AI Lab举行的书生 浦语大模型训练营的相关笔记部分。 该笔记是第二节课完成对话、多模态等demo形成对InternLM的初步了解 1. 部署InternLM2-Chat-1.8B
InternLM2-Chat-1.8B是一个对话小模型只有1.8B参数因此运行只需要10%的A100即可。
首先在官方提供的开发机页面https://studio.intern-ai.org.cn/console/dashboard配置环境选择10% * A100。
随后进行初步的环境配置
studio-conda -o internlm-base -t demo正在配置环境是这样子的 完成后我们需要安装一下其他的包
## 进入环境
conda activate demo## 安装依赖
pip install huggingface-hub0.17.3
pip install transformers4.34
pip install psutil5.9.8
pip install accelerate0.24.1
pip install streamlit1.32.2
pip install matplotlib3.8.3
pip install modelscope1.9.5
pip install sentencepiece0.1.99
安装完成后我们需要创建文件夹然后把模型下载下来
mkdir -p /root/demo
touch /root/demo/cli_demo.py # 创建文件 一会填充代码
touch /root/demo/download_mini.py # 创建文件 一会填充代码
cd /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/modelssnapshot_download(Shanghai_AI_Laboratory/internlm2-chat-1_8b, cache_dirsave_dir, revisionv1.1.0) 上面代码的作用就是从模型库中下载代码 然后打开另一个cli_demo.py复制以下代码
import torch
from transformers import AutoTokenizer, AutoModelForCausalLMmodel_name_or_path /root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8btokenizer AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_codeTrue, device_mapcuda:0)
model AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_codeTrue, torch_dtypetorch.bfloat16, device_mapcuda: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:breaklength 0for response, _ in model.stream_chat(tokenizer, input_text, messages):if response is not None:print(response[length:], flushTrue, end)length len(response) 上面这段代码的作用是加载模型并给定prompt以让模型扮演某个角色。对于每次对话都必须传一遍prompt。 之后我们依次运行上面两个文件。
首先我们下载模型
python /root/demo/download_mini.py耐心等待即可 下载完成后我们运行cli_demo.py就可以开始对话
python /root/demo/cli_demo.py我输入了提示词请写一个300字左右的温情小故事
结果 可以看到效果还是不错的确实比较温情。按照程序的设计可以输入exit退出。
2. 尝试训练营第一期优秀作品~Chat-嬛嬛
官方文档上讲了八戒的chat所以在此就不赘述我来尝试一下嬛嬛的模型。
首先安装包(在刚刚的demo/文件夹下操作即可)
pip install modelscope然后下载模型权重
from modelscope.hub.snapshot_download import snapshot_download
model_dir snapshot_download(kmno4zx/huanhuan-chat-internlm2, cache_dir./)下载好的权重如下: 随后git clone代码库
git clone https://github.com/KMnO4-zx/xlab-huanhuan.git随后我们打开工程内的start.py并修改为以下内容(按照原本的端口和ip 不work)
import osos.system(streamlit run app.py --server.address127.0.0.1 --server.port 6006)之后在本地配置ssh在windows powershell中输入
ssh -CNg -L 6006:127.0.0.1:6006 rootssh.intern-ai.org.cn -p 41104其中p换成开发机的端口号
运行start.py, 然后在浏览器进入http://127.0.0.1:6006/即可
3. 使用 Lagent 运行 InternLM2-Chat-7B 模型
Lagent是一个工具其可以快速将LLM变成用户需要的智能体整体框图如下 调整开发机环境为30% * A100然后在前文构建的虚拟环境下执行以下命令
cd /root/demogit 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 . # 源码安装Intern Studio 在 share 文件中预留了一些我们可以用到的模型因此我们先用一个软链接将本地模型链接到share里
cd /root/demo/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行左右) 代码将路径指向/root/models/internlm2-chat-7b
剩余的事情和部署前面的嬛嬛一样需要先在服务器上运行然后本地与服务器用ssh链接
streamlit run /root/demo/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006结果如下图 然后我指定它用matlab写但是它还是用python可能创建智能体的时候没有这个约束。。 进阶作业熟悉hugging_face的下载功能
在lagent文件夹下新建download_config.py填入以下代码
## huggingface_hub包使用示例
from huggingface_hub import hf_hub_download
hf_hub_download(repo_idinternlm/internlm2-chat-7b,filenameconfig.json,local_dir/root/demo/lagent)
运行即可得到的config.json: 4. 体验多模态浦语·灵笔2模型
按照以下命令分别安装依赖的package和创建模型软链接等操作 pip install timm0.4.12 sentencepiece0.1.99 markdown22.4.10 xlsxwriter3.1.2 gradio4.13.0 modelscope1.9.5cd /root/demo
git clone https://gitee.com/internlm/InternLM-XComposer.git
cd /root/demo/InternLM-XComposer
git checkout f31220eddca2cf6246ee2ddf8e375a40457ff626ln -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-7bcd /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
然后根据前面的ssh连接教程即可打开demo界面。 由于算力有限这部分还没更新。