三下乡」“第二课堂”AI实训营学习实践笔记(4)

第四次课&第五次课:大语言模型入门

part1

part1:大语言模型应用

准备工作

注册云算力平台:https://growthdata.virtaicloud.com/t/NA

创建项目,选择B1.medium规格服务器

选择CUDA12.1 PyTorch2.1.1的镜像

在模型中搜索Qwen2-0.5B-Instruct

点击启动后,进入环境,先准备安装库与包。

在/gemini/code中存放代码,/gemini/pretrain中是我们刚刚挂载的模型

我们在本地解压大模型应用.zip,得到5个文件,进入/gemini/code目录,将文件拖入窗口完成上传

首先是test.py(最基础的大模型)
#此test.py文件是用来测试大语言模型的,可以将自己的输入作为提示词,让模型生成回复。
from transformers import AutoModelForCausalLM, AutoTokenizer #导入模型和分词器
device = "cuda" # the device to load the model onto

model = AutoModelForCausalLM.from_pretrained(#加载大模型,此处为Qwen2-0.5B-Instruct
    "Qwen2-0.5B-Instruct",
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("Qwen2-0.5B-Instruct")#加载分词器,token的作用是将文本转换为模型可以理解的数字形式
#大模型理解token 就跟我们阅读理解一个字一个字读
# 模型预测
prompt = "你是谁?"#提示词,随意输入 
messages = [
    {"role": "system", "content": "You are a helpful assistant."},#系统回复(你希望你的随意输入 系统会如何给你回答)
    {"role": "user", "content": prompt}#用户输入
]
text = tokenizer.apply_chat_template(
    messages,   #将刚才的messages用tokenizer转换为模型可以理解的数字形式,并导入text中
    tokenize=False,#不分词,直接将文本输入模型
    add_generation_prompt=True #添加提示词
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)#将text输入模型,并将输入转为tensor
     #此步骤是将文本转化为模型可以理解的数字形式,并将输入转为tensor,以便模型进行推理



  #生成回复                  
generated_ids = model.generate( #
    model_inputs.input_ids, #输入的文本,将qwen2模型导入
    max_new_tokens=512 #生成的回复长度,一个token大约为2-3个字符,所以512个token大约为128个字符,可以适当调整,如果ai回复太短,可能因为max_token设置太少
)
#将生成的回复转换为文本
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]#将生成的回复与输入文本分开,因为模型输入的文本中可能有提示词,所以需要将生成的回复与输入文本分开
#防止生成的回复中有提示词,所以需要将生成的回复与输入文本分开


#将生成的回复转换为文本,解码
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]#将生成的token回复转换为文本,并解码

print(response)
其次为流式输出:

part2

part2:stable diffusion model 应用

下面这张图里面,不选B1.small,选B1.medium

镜像和数据集选择完毕之后,点击 "立即启动"

进入环境后在网页终端输入以下命令:

tar xf /gemini/data-1/stable-diffusion-webui.tar -C /gemini/code/ 
chmod +x /root/miniconda3/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2
cd /stable-diffusion-webui && python launch.py --deepdanbooru --share --xformers --listen

添加新端口进入如下界面:

其中:

①:txt2ming 为以语言为单位输出

②:negative:描述语言中不想要什么,在此输入

③:Sampling method:选择生成图片语言模型

④:Sampling steps:生成图片步骤,越大与你所生成想要的越接近 

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值