大模型学习之DeepSeek
个人学习笔记,如有错误欢迎指正 参考链接🔗: B站视频 DeepSeek LLM: Scaling Open-Source Language Models with Longtermism DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 引言因为要看DeepSeek的优化的部分,绕不开的就是MoE 再然后就是COT MoE 混合专家模型混合专家模型详解 MoE发展历史Jacobs et al 1991 每个专家都是独立的FFN,Gating是FFN,由Gating来决定输出那一个专家的结果 2017...
FastApi
写的不全!参考视频 @fastapi框架FastApi: 一个用于构建API的现代、快速(高性能)的web框架 Starlette:一个用于构建ASGI(异步服务器网关接口)的web框架Pydantic:一个用于数据验证和序列化的库 1 预备知识点1.1 http协议1.1.1 简介HTTP协议是Hyper Text Transfer Protocol的缩写,它是一个用于在Internet上传输超文本的协议。HTTP是一个属于应用层的面向对象的协议。由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断的完善和拓展。HTTP工作与客户段-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据收到的请求后,向客户端发送响应信息。 1.1.2...
大模型学习之资源占用
待测试更新 大模型学习之资源占用资源:在本文中主要指的是cpu内存和gpu显存。 首先要分两种场景模型推理和模型训练进行讨论,针对不同的场景显存所需要加载的内容也不一样 0.预备知识模型参数1B 代表10亿个参数;1byte(字节)=8bit(位) 参数精度 fp32 fp16/bp16 int8/fp8 Int4 所占内存 4byte 2byte 1byte 0.5byte eg:fp32 1B:4byte * 10亿 / 1024^3(kb mb gb) 约等于 3.725GB 量化量化一般指的降低参数所占的内存空间,比如一个参数本来占4字节32位,现在为了节省空间,需要将其量化到int8也就是只允许参数占8位,量化的过程并不是简单的抹除小数位! 在神经网络模型导出的时候我们才会去做量化,以提高模型的推理速度以及模型所占显存大小,但量化同时会导致模型精度的下降。 量化方法的分类: QAT(Quant-Aware Training)也可以称为在线量化(On...
LlamaFactory参数详解
LlamaFactory参数详解Link LlamaFactory是一个简单易上手的大模型训练工具 微调的概念微调是指在一个已经预训练的模型基础上进行进一步的训练。预训练模型通常是在大规模数据集(如imageNet或大型文本语料库)上训练的,因此已经捕获了丰富的特征和知识。微调的目标是利用预训练模型的知识,在较小的数据集砂锅进行特定任务的优化。 主要特点1.预训练模型:基于已经训练好的模型进行 2.较少数据:通常只需要较小的数据集 3.较短时间:训练时间相对较短,因为模型已经有了良好的初始化 4.目标:适应特定任务或领域,优化模型性能 1.微调方法LORALoRA(低秩微调,Low-Rank Adaption)是一种通过低秩近似方法来减少模型参数数量和计算量的技术。它的主要目标是通过将原始的高纬参数矩阵分解成两个低秩矩阵的乘积(W ≈ A · B),从而实现模型的参数压缩和计算加速。 其中: W 是原始的高维参数矩阵。 A 和 B 是低秩矩阵,其秩(rank)远小于 W 的维度。 A的维度为 m x r 。 B的维度为 r x n 。 通过这种分解,我们可以将参数数量从 m...
大模型学习之大模型文件结构
下载途径不一样是否文件构成也不一样? 以下内容以Xinference加载的Qwen2_5-InstructionAWQ-14B模型为例。 config.json configuration.json generation_config.json LIENSE merges.txt model.safetensors.index.json .safeatensors README.md tokenizer.json tokenizer_config.json vocab.json 1. config.json 配置文件 描述模型的架构、超参数和训练时的设置。包括模型的层数、隐藏单元数、激活函数等信息。 {“architectures”: [ “Qwen2ForCausalLM”],“attention_dropout”: 0.0,“bos_token_id”: 151643,“eos_token_id”: 151645,“hidden_act”: “silu”,“hidden_size”: 5120,“initializer_range”:...
OpenAI
OpenAILink OpenAI最核心的功能,就是它所提供的文本生成模型。模型经过训练可以理解自然语言、代码和图像。模型可以接受任意类型的输入,最终输出文本。 使用模型,你可以构建任意你所需要的AI应用程序,比如: 1.编写文案 2.编写编程代码 3.回答知识库问题 4.分析文本 5.日常助手 6.语言翻译 01第一个聊天程序ChatCompletion的输入是一个message list,返回是一个chatCompletion对象,示例代码如下: 123456789101112131415161718192021222324#openai默认的声明方式,注册openai后在对应的控制台获取api_keyfrom openai import OpenAIclient = OpenAI(api_key="sk-")# 通常我会把自己的API-KEY放在.env文件里,然后gitignore掉。# .env文件可以通过 dotenv库来读取,然后放进系统变量里,这样OpenAI就可以直接识别from dotenv import load_dotenv,...
基于gradio的chatbot
基于gradio的chatbot基于gradio对chatbot做一个网页可视化,可以通过网页端,更换模型,以及调整模型的一些参数。 Gradio 是一个开源 Python 软件包,可让快速为机器学习模型、API 或任意 Python 函数构建演示或 Web 应用程序。然后,您可以使用 Gradio 的内置共享功能在几秒钟内通过公共链接分享您的演示。 gradio快速入门ps(一手资料永远是最香的) 常用功能记录1234567891011121314151617# 页面创建import gradio as gr def greet(name, intensity): return "Hello, " + name + "!" * int(intensity)demo = gr.Interface( fn=greet, inputs=["text", "slider"], outputs=["text"],)# fn:包装用户界面 (UI) 的函数#...
deepspeed
deepspeedpowered by:Zero Redundancy Optimizer (ZeRO) 零冗余优化器 一个用于训练和将超大模型拟合到 GPU 上的优化库。它分为多个 ZeRO 阶段,每个阶段通过对优化器状态、梯度、参数进行分区以及启用到 CPU 或 NVMe 的卸载来逐步节省更多 GPU 内存。 可用于多卡训练以及多卡推理 为什么单卡的情况,也可以使用deepspeed? 使用ZeRO-offload,将部分数据offload到CPU,降低对显存的需求 提供了对显存的管理,减少显存中的碎片 1.配置使用案例 设备信息:autoDL租用的两张4090显卡 选用基础镜像 pytorch,安装相关依赖 ! pip install torch transformers accelerate bitsandbytes peft datasets trl ! pip install deepspeed 使用accelerate创建deepspeed配置文件 accelerate config --config_file deepspeed_config.yaml...
Stable diffusion
Stable diffusion服务器安装https://help.aliyun.com/zh/pai/use-cases/quick-start-stable-diffusion-webui?spm=a2c4g.11186623.0.0.64116ab4AEYoLb 1. 本地webui的安装 设备:macbook air m2 系统:ios15 安装homebrew 终端输入/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)" 验证是否安装成功brew -v得到输出Homebrew 4.4.0最新版本才支持ios15 安装python3、 brew install cmake protobuf rust python@3.10 git wget 更改阿里云下载镜像源 pip config set global.index -url...
大模型学习之多模态
参考 多模态简述1. 多模态学习的概念 模态(Modality):食物表达或感知的方式 多模态(multimodal):研究异构(heterogeneous)和相互链接数据(interconnected data)的科学 多模态的行为和信号: 2.多模态学习六大挑战及经典工作 挑战一:Representation Learning 表式学习 学习不同模态之间交叉交互,包括融合,协调和分裂等子挑战。 挑战二:Aligment 对齐 连接,对齐表示,分割,将不同模态之间的信息进行关联对齐 挑战三:Reasoning 推理 结构 中间概念,外部范式,知识建模,不仅要求理解单个模态的信息,还要要求理解不同模态之间的信息如何进行交互,影响最终推理决策 挑战四:Generation 生成 摘要,翻译和生成,创造性的理解和生成信息一致的信息 挑战五:Transference 迁移 在模态之间转换知识,通过用一个模态的知识来提高另一个模态的能力 挑战六:Quantification 量化 更好的理解异构性,交叉模态交互,以及多模态学习的过程




