InternLM实战营第二期---Demo部署笔记

课程文档:https://github.com/InternLM/Tutorial/blob/camp2/helloworld/hello_world.md
课程视频:https://www.bilibili.com/video/BV1AH4y1H78d/
课程作业:https://github.com/InternLM/Tutorial/blob/camp2/helloworld/homework.md

开发机不小心玩坏了...配置步骤如下

 

 

1.Demo实战部署 InternLM2-Chat-1.8B

创建Intern Studio 开发机,通过Modelscope下载 InternLM2-Chat-1.8B 模型(B是billion的缩写十亿),这里解释一下Modelscope是一个模型即服务平台,宗旨是汇聚AI社区最先进的机器学习模型,并简化在实际应用中使用AI的流程。

2.实战部署优秀作品 八戒-Chat-1.8B

通过OpenXlab部署XiYou系列八戒-Chat-18.8B模型,完成Web Demo的部署和交互

3.实战进阶运行Lagent 智能体 Demo

实战算力升级之后,以InternLM2-Chat-7B为基础,运行开源框架Lagent的智能体Demo

4.实战进阶 灵笔InternLM-XComposer2 

浅唱多模态实践,通过InternLM-XComposer2 模型实现更加复杂的图文生产写作

实战部分

1.首先进入开发机,进入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.01 torchvision=0.15.2
#激活环境
conda activate demo

pytorch与cuda和Python 对应的版本关系:Previous PyTorch Versions | PyTorch
 
# CUDA 11.7
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
# CUDA 11.8
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia
# CPU Only
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 cpuonly -c pytorch
torchvision:torchvision是PyTorch项目的一部分,它是一个用于构建计算机视觉模型的图形库。torchvision提供了以下功能:
数据集:torchvision提供了许多常用的数据集,这些数据集适用于训练和测试计算机视觉模型。
模型架构:torchvision包含许多常用的计算机视觉模型架构,例如ResNet、VGG、AlexNet等。
图像转换:torchvision还提供了许多用于图像转换的函数,例如裁剪、旋转等。
其他工具:torchvision还包含一些其他有用的工具,例如用于模型训练和测试的数据加载器等。
总之,torchvision是一个功能强大的计算机视觉库,适用于构建各种类型的计算机视觉模型,包括图像分类、目标检测、图像分割等。
                        
原文链接:https://blog.csdn.net/ajunbin859/article/details/134395460
torchaudio:Torchaudio是一个用于处理音频数据的Python库,它是基于PyTorch的扩展库,提供了丰富的音频处理功能和一系列预处理方法,方便用户在音频领域进行机器学习和深度学习的研究。具体来说,Torchaudio提供了从音频文件的读取到加载,音频变换和增强,以及音频数据可视化的整套工具。此外,Torchaudio还集成了一些常见的音频数据集,方便用户快速获取和处理音频数据

原文链接:https://blog.csdn.net/ajunbin859/article/details/134336525
 

2.完成环境包的安装

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
  • psutil (python system and process utilities):是一个跨平台的第三方库,能够轻松实现获取系统运行的进程和系统利用率(包扩CPU、内存、磁盘、网络等)信息。 主要用于系统监控分析限制系统资源进程的管理。库实现了ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等相同命令行工具提供的功能。
  • Accelerate :是一个库,旨在无需大幅修改代码的情况下完成并行化。除此之外,🤗 Accelerate 附带的数据 pipeline 还可以提高代码的性能 https://hf.co/docs/accelerate
  • SentencePiece是什么:
  • SentencePiece是谷歌开源的针对NLP场景提取词汇表tokenizer的开源项目,SentencePiece提出的目的是在给定词汇表大小的前提下,最大化词表信息编码(词频+多样性)subword编码。比如英语中的simple和simplify这两个词意思是一样的,是为了适应语法需求而有的变化,所以使用独立的token对这两个单词编码是有冗余的,另外一种场景是,词频不一样,有常用汉字一说,也有常用英语单词一说。出现较少的词使用独立的token在训练的时候相比其他高频词由于出现的太少而造成深度学习(信息压缩)这一过程容易丢失该信息。
  • streamlit:Streamlit是一个用于机器学习、数据可视化的 Python 框架,它能几行代码就构建出一个精美的在线 app 应用。相比于Gradio,能展示更多的功能~
  • ModelScope:达摩院创建的ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!ModelScope社区基础NLP模型简介 - 知乎,      魔搭社区
  • Matplotlib是探索数据可视化领域的重要一步。Matplotlib是一个功能强大、灵活且广泛使用的Python绘图库,它能够帮助你将数据以清晰、美观的方式呈现。在这次学习中,你将了解如何使用Matplotlib创建各种类型的图表,从简单的线图到复杂的三维图表matplotlib安装与使用方法-CSDN博客

3. 下载 InternLM2-Chat-1.8B 模型

按路径创建文件夹,并且进入到对应的目录文件当中

mkdir -p /root/demo
touch /root/demo/cli_demo.py
touch /root/demo/download_mini.py
cd /root/demo
#执行命令
python /root/demo/download_mini.py

 双击 /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

2.3 运行 cli_demo

双击打开 /root/demo/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

  • 使用 InternLM2-Chat-1.8B 模型生成 300 字的小故事

  • huggingface 下载功能,使用 huggingface_hub python 包,下载 InternLM2-Chat-7B 的 config.json 文件到本地 使用了jupyter notebook 下载

  •  Lagent 工具调用 数据分析 Demo 部署
  •  浦语·灵笔2 的 图文创作 及 视觉问答 部署

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值