基础知识简介
一、大语言模型(LLM)的概念
LLM定义与特点:处理海量文本,多者可具备数百亿参数,理解语言深度,展现涌现能力。
LLM国内外代表:i.国外有GPT系列、LLaMA等 ii.国内有文心一言、通义千问等。
模型大小与性能能关系:与小模型构架相似,但参数量级提升带来解决复杂任务的显著优势。
LLM应用实例:Chat GPT是LLM的对话应用典范,展示出与人类流畅自然的交互能力。

计算机并不能直接理解字符,例如:“我喜欢你”可以拆解为“我”,“喜欢”,“你”,可以进行排序。所以 大语言模型并不是一个一个字输出,而是一个一个token输出
二、LLM的发展历程
早期语言模型:采用统计学习预测词汇,受限于理解复杂语言规则。
深度学习的引入:Bengio在2003年将深度学习应用于语言模型,增强理解语言的能力。
Transformer架构优势:2018年左右,Transformer模型出现,通过大量文本训练理解语言规则。 大型语言模型时代:随着模型规模扩大,LLM展现出惊人能力,开启新纪元。
三、LLM的特点

在趋动云部署一个自己的大模型
https://eumgrqwyfu.feishu.cn/docx/LfNpdTGmXo79EuxPtyPckOJ9nYd#XJpbdkRZyovZPhxYOnbcnMvQn6e
以上是大模型应用的相关文件
创建项目,选择B1.medium规格服务器
选择CUDA12.1 PyTorch2.1.1的镜像
在模型中搜索Qwen2-0.5B-Instruct
点击启动后,进入环境。
在/gemini/code中存放代码,/gemini/pretrain中是我们刚刚挂载的模型
我们在本地解压大模型应用.zip,得到5个文件,进入/gemini/code目录,将文件拖入窗口完成上传

在test.py中
from transformers import AutoModelForCausalLM, AutoTokenizer
导入transformers库中的 加载模型 和 加载 AutoTokenizer的包
模型即需要使用的大语言模型
model = AutoModelForCausalLM.from_pretrained(
"/gemini/pretrain/Qwen2-0.5B-Instruct", #这一行是大语言模型的路径
torch_dtype="auto",
device_map="auto"
)
以下代码表示我们加载的是Qwen2-0.5B-Instruct这个大模型中tokenizer 模块对后续文本进行处理
tokenizer = AutoTokenizer.from_pretrained("/gemini/pretrain/Qwen2-0.5B-Instruct")
为什么要进行token的操作?就是将原始的文本或者句子分解成更小的单元,这些单元就称为token,它可以是一个单词,字符或者是更短的子句。
大模型理解token就像我们一个字一个字地理解,深度学习模型通过理解这些tokens来把握文本含义
prompt = "你是谁?"
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
{"role": "assistent","content","我是rrr"}
prompt就是提示词 ,输入给大模型的东西
role:在和大模型对话中有三种角色,分别是system,users和assistance(以上代码中没有体现)
system是为给大模型的前提条件,然后user问大模型一个prompt,最后大模型回答“我是rrr”
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
上面代码意思是把prompt放入tokenizer中变为text,把它应用(apply)进去
model_inputs = tokenizer([text], return_tensors="pt").to(device)
然后把一段文本变成短的子句或者词语,然后把他数字化,是模型能够理解
接下来开始实际操作:
现在环境准备中运行一下
运行以下
python test.py
结果如下图
在流式输出.ipynb文件中有一段代码
thread = Thread(target=model.generate, kwargs=generate_params)
thread.start()
这样来实现多轮对话
在one_chat.py中有
import streamlit as st
他是一个交互式界面,把大语言模型进行一个可视化
进行以下操作
streamlit run one_chat.py
运行一下,会出现两个IP,此处需要新建端口
然后进行外部访问,出现:
stable diffusion(文本生成图像或图像生成图像)
Stable Diffusion是一种利用人工智能技术,基于文本描述生成高分辨率、高逼真度图像的深度学习模型。该模型由慕尼黑大学的CompVis研究团体与Stability AI和LAION等研究人员共同开发,并于2022年公布。Stable Diffusion在图像生成领域取得了显著的进步,不仅提升了生成图像的质量和速度,还降低了计算成本,使得该模型能够在消费级显卡上实现图像生成。
核心原理
Stable Diffusion的核心原理基于潜在扩散模型(Latent Diffusion Models),这是一种在低维潜在空间进行的扩散过程模拟。该模型包含以下主要组件:
文本编码器:使用Transformer模型(如BERT或GPT)将文本转换成高维的语义向量,以捕捉文本的意图和语境。
变分自编码器(VAE):将图像压缩到潜在空间中,并通过在潜在空间中进行操作来优化和细化图像细节。VAE由编码器和解码器两部分组成,编码器将图像压缩为潜在空间中的低维表示,解码器则从潜在空间恢复图像。
噪声预测因子(Noise Predictor):一个U-Net模型,用于预测并去除图像在潜在空间中的噪声,从而逐步揭示出图像的细节和形状。
工作流程
Stable Diffusion的工作流程细致地将文本转换为图像,涵盖从文本解析到图像细化的各个阶段:
文本解析:用户输入的文本通过文本编码器处理,转换成包含丰富语义信息的高维向量。
图像生成:在潜在空间中,通过噪声预测因子逐步去除噪声,使图像逐渐变得清晰和真实。
图像细化:使用超分辨率技术进一步提高图像的分辨率和细节质量。
应用领域
Stable Diffusion的应用范围非常广泛,包括但不限于:
图像生成:根据文本描述自动生成高质量的图像,包括自然景观、人脸、艺术作品等。
艺术创作:艺术家和设计师可以利用Stable Diffusion来创造新颖的视觉艺术作品。
影像合成与编辑:在视频制作和电影产业中,用于自动生成或编辑视频场景。
文本处理:在自然语言处理(NLP)中,Stable Diffusion可以用来生成文本摘要或进行文本到文本的转换。
音频生成:在音频领域,可以应用于音乐创作或音效生成。
优点与改进
Stable Diffusion相比之前的扩散模型,具有更高的稳定性和可控性,同时在生成图像的质量、速度和成本上都有显著的进步。其最新版本的XL版本可以在更高的像素级别上生成可控的图像,并且生成效率也得到了大幅提升。此外,Stable Diffusion还通过优化训练数据和文本编码器等方式,进一步提升了模型的性能和生成效果。
总的来说,Stable Diffusion是一种先进的文本到图像的转换技术,为图像生成和创作提供了强大的工具和支持。
大模型不仅仅指大语言模型,实际上是指参数量比较大的模型
进入环境后在网页终端输入以下命令:
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
进入以下界面就可以进行后续操作:

被折叠的 条评论
为什么被折叠?



