一、环境配置
使用在 /root/share/pre_envs
中配置好的预置环境 icamp3_demo
二、Cli Demo 部署 InternLM2-Chat-1.8B 模型
1.创建目录和cli_demo.py文件
2.输入代码
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name_or_path = "/root/share/new_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)
3.运行
4.生成小故事
三、LMDeploy 部署 InternLM-XComposer2-VL-1.8B 模型
InternLM-XComposer2 是一款基于 InternLM2 的视觉语言大模型,其擅长自由形式的文本图像合成和理解。
LMDeploy 是一个用于压缩、部署和服务 LLM 的工具包。
我们使用 LMDeploy 启动一个与 InternLM-XComposer2-VL-1.8B 模型交互的 Gradio 服务。
在刚才的环境中进行:
进行图片上传和输入instruction
下面的四个参数:
-
Maximum new tokens(最大新生成的Token数量):
- 这个参数控制模型在生成文本时最多能生成多少个新的Token(单词或字符的片段)。值越大,生成的文本就可能越长。
-
Top_p(核采样概率):
- Top-p是控制生成文本多样性的参数之一。它决定了模型在每一步生成时只从总概率超过p的Token集合中进行采样。常用的p值通常在0.8到0.9之间,较低的p值可以使输出更加确定性,但可能会牺牲一些创造性。
-
Top_k(核采样数量):
- Top-k是控制生成文本多样性的另一个参数。它限制了每一步中可以被选择的候选Token的数量。k值越低,模型生成的文本会越集中于高概率Token,结果更为确定;k值越高,生成的文本可能会更加多样化和随机。
-
Temperature(温度系数):
- Temperature参数控制生成文本的随机性。较低的温度(如0.2)会使模型倾向于选择概率最高的Token,生成的文本更加确定性和一致;较高的温度(如0.8)会增加随机性,使得生成的文本更加多样化。
四、LMDeploy 部署 InternVL2-2B 模型
和上面部署模型的原理类似,在使用 Upload Image 上传图片后,我们输入 Instruction 后按下回车,便可以看到模型的输出。