8月7日-8日学习

news2024/11/13 14:47:48

首先是昨天看到的gemma 2 中训练2B模型用了知识蒸馏,找了一下技术报告 结果先找到了一代的半天没有看到知识蒸馏的部分 然后在二代里面找到了 只有很小的一部分

就是用小模型学习大模型的概率预测分布

然后这里的话又找到了华为发布的小模型论文

Rethinking Optimization and Architecture for Tiny Language Models

首先是关于词表的大小的讨论 这里得出的结论是 在覆盖90%之下比较好的

然后还有depth 这里的depth具体是指什么有多少个自注意力层?

参数

一是采用随机分布初始化

二是从大模型中继承 但是关于模型的差异架构如何处理

首先是找对结果影响最重要的层

这里用的是消融实验

最初始的层用于提取特征是非常重要的 但是

关于如何继承这里用了很多中方法做实验

同时还看到了csdn上网友整理的小模型从零训练的各个项目

发现自己把transformer的架构图都忘了 正好llama还没有看过架构 就以这个来学习一下

代码实现可以参考这里 大语言模型底层架构丨带你认识Transformer - 华为云开发者联盟 - 博客园 (cnblogs.com)

z深入解析LLaMA如何改进Transformer的底层结构 - 华为云开发者联盟 - 博客园 (cnblogs.com)

Transformer模型详解(图解最完整版) - 知乎 (zhihu.com)

首先是关于位置编码和词嵌入

Transformer的PE(position embedding),即位置编码理解-CSDN博客

怎么计算搞明白了 但是关于采用如此计算的原因是什么?

关于QK V计算 首先注意的是 Q要与每一个K都进行点乘

然后才能归一化softmax

8月8日

Transformer 1. Attention中的Q,K,V是什么 - 知乎 (zhihu.com)

Transformer中的Q/K/V理解_transformer q k v-CSDN博客

昨天把一个单词的QKT 计算弄清楚了

现在考虑Q K 乘法之后乘以 V

如下图 考虑  这一行是该单词对于每一个词的qk 印象力权重的结果 用这种0.3 表示1 到1 的权重为0.3 再乘以v的第一行就是第一个单词的value 加上第二单词的权重0.2乘以第一个单词的value类推

如果是用传统的矩阵乘法不容易看出来 这种分块的乘法就很不错

现在需要考虑整个multi head

对于多个不同的head这里的化h=8所以第一行Concat全部是一个单词的计算结果的不同侧面

通过linear变换让最终输出Z与输入X的维度相同 但是包含了8个头的结果

这里需要注意到Q K V维度的问题

transformer中qkv的维度是什么概念 - CSDN文库

在多头注意力后就是Add & Norm

对Transformer中Add&Norm层的理解-CSDN博客

这里的代码实践 有空在电脑上跑一下 把 2 3 4 维度从1 到 24 看看

Add 是残差连接 表示F(x) + x 这样在反向求导梯度的时候 + 1常数

假设我们输入的词向量的形状是(2,3,4),2为批次(batch),3为句子长度,4为词向量的维度,生成以下数据:

[[w11, w12, w13, w14], [w21, w22, w23, w24], [w31, w32, w33, w34]
[w41, w42, w43, w44], [w51, w52, w53, w54], [w61, w62, w63, w64]]
1
2
如果是在做BatchNorm(BN)的话,其计算过程如下:BN1=(w11+w12+w13+w14+w41+
w42+w43+w44)/8,同理会得到BN2和BN3,最终得到[BN1,BN2,BN3] 3个mean

如果是在做LayerNorm(LN)的话,则会进如下计算:LN1=(w11+w12+w13+w14+w21+
w22+w23+w24+w31+w32+w33+w34)/12,同理会得到LN2,最终得到[LN1,LN2]两个mean

如果是在做InstanceNorm(IN)的话,则会进如下计算:IN1=(w11+w12+w13+w14)/4,同理会得到IN2,IN3,IN4,IN5,IN6,六个mean,[[IN1,IN2,IN3],[IN4,IN5,IN6]]

Transformer学习笔记三:为什么Transformer要用LayerNorm/Batch Normalization & Layer Normalization (批量&层标准化) - 知乎 (zhihu.com)

 BN的实践

  • 对每一个batch进行操作,使得对于这一个batch中所有的输入数据,它们的每一个特征都是均值为0,方差为1的分布
  • 单纯把所有的输入限制为(0,1)分布也是不合理的,这样会降低数据的表达能力(第L层辛苦学到的东西,这里都暴力变成(0,1)分布了)。因此需要再加一个线性变换操作,让数据恢复其表达能力。这个线性变化中的两个参数 γ,β 是需要模型去学习的。

(93 封私信 / 80 条消息) transformer 为什么使用 layer normalization,而不是其他的归一化方法? - 知乎 (zhihu.com)

NLP_ability/深度学习自然语言处理/Transformer/NLP任务中-layer-norm比BatchNorm好在哪里.md at master · DA-southampton/NLP_ability (github.com)

Decoder结构

decoder在训练的时候是并行化的 使用了 Teacher forcing

Teacher forcing是什么? encoder-decoder框架的理解-CSDN博客

但是关于训练的时候如何计算loss具体还是有疑问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2039498.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Centos7安装Redis(采用docker安装方式)

文章目录 1 拉取Redis镜像2 上传并修改配置文件3 启动Docker容器4 查看Docker是否正常启动 linux系统安装redis可以自己上传程序,手动启动,也可以用docker以容器形式启动。 redis建议可采用docker安装,如果是例如mysql这种追求稳定的关系型数…

mmdeployv0.6 mmdetectionv2.4、mmcv-full1.6安装及环境搭建

一、安装条件 Step 1.创建conda虚拟环境并激活 conda create -n mmdeploy python3.8 -y #创建环境 conda activate mmdeploy #激活环境Step 2.安装 PyTorch #如果网不好,可以这样安装 pip3 install torch1.8.1cu111 torchvision0.9.1cu111 -…

基于python的百度迁徙迁入、迁出数据分析(十)

副标题:从百度迁徙数据看——迁徙数据特征分析 书接上文,我们先回顾一下我们统计的时间口径:2024年2月1日——2024年8月1日,这里包含了春运、清明、五一、端午、四个中大型国定假日,我们详细分析一下在当下的统计周期…

GOIP语音网关对接VOS3000技巧 落地于呼叫配置

GOIP语音网关对接VOS3000技巧 落地和呼叫以鼎信GOIP网关为例 首先登录vos端,添加落地网关和账户 账户添加: 账户管理,先添加账户然后应用,在过滤看看是否添加成功 给账户添加一个费率 双击费率数量添加费率的地区前缀&#xff0…

关于宠物浮毛对身体是否有害?宠物空气净化器选对告别浮毛困扰

说到宠物掉毛,大家是不是都会心里咯噔一下,担心这会不会对身体有啥不好?这确实是很多养宠人,还有那些正打算养宠的朋友心里的一块大石头。而且啊,这浮毛问题还常常成了家庭纷争的源头,特别是那些怀孕了的、…

【约数之和】

题目 TLE代码 #include<bits/stdc.h> using namespace std; typedef long long LL; #define x first #define y secondconst int N 5e710; const int MOD 9901; LL a, b; unordered_map<int, int> cnt; LL res 1; LL fast(int base, int expo) {LL result 1;…

TreeSet的排序方式

一.TreeSet的特点&#xff1a; 二.TreeSet对象排序练习题&#xff1a; 需求&#xff1a;利用TreeSet存储整数并进行排序 package com.itheima.a06mySet; ​ import java.util.TreeSet; ​ public class A05_TreeSetDemo1 {public static void main(String[] args) {//1.创建T…

链表算法题一

​ 旋转链表 旋转链表 首先考虑特殊情况 若给定链表为空表或者单个节点,则直接返回head,不需要旋转操作.题目给定条件范围: 0 < k < 2 ∗ 1 0 9 0 < k < 2 * 10^9 0<k<2∗109,但是受给定链表长度的限制,比如示例2中,k4与k1的效果等价. 那么可以得出kk%l…

QLabel设置图像的方法+绘制文本换行显示

1、QLabel设置图像有两种方法 (1) void setPicture(const QPicture &); (2) void setPixmap(const QPixmap &); QPicture和QPixmap都是继承于QPaintDevice&#xff0c;它们都可以通过加载图片的方式获取&#xff1a;bool load(QIODevice *dev, const char *format …

8.8网络编程

笔记 网络基础 一.网络通信的引入 IPC通信方式&#xff0c;只能完成同一台主机之间多个进程间的通信&#xff0c;在实现跨主机的多个进程间通信时&#xff0c;就显得力不从心了。所以我们引入了网络通信&#xff0c;基于套接字socket的通信方式&#xff0c;能够完成同一主机…

AI Agent工程师认证-学习笔记(2)——【多Agent】AgentScope

基础学习链接&#xff1a;【多Agent】AgentScope学习指南 速通攻略&#xff1a;零基础做个多智能体游戏 Agentscope入门文档&#xff1a;AgentScope 初探 应用开发进阶&#xff1a;AgentScope应用开发入门 AgentScope官方文档&#xff1a;AgentScope官方文档 AgentScope开…

Ghidra:开源软件逆向工程框架

Ghidra 是一个软件逆向工程 (SRE) 框架 Ghidra 是一种尖端的开源软件逆向工程 (SRE) 框架&#xff0c;是美国国家安全局 (NSA) 研究局的产品。 Ghidra 该框架具有高端软件分析工具&#xff0c;使用户能够分析跨各种平台&#xff08;包括 Windows、macOS 和 Linux&#xff09…

【区块链+金融服务】港融区域股权服务平台 | FISCO BCOS应用案例

中国证监会在 2020 年启动了区块链建设试点工作&#xff0c;提出建设基于区块链的场外市场登记系统和交易报告库&#xff0c;利 用区块链去中心化、不易篡改、安全稳定等技术特点&#xff0c;构建区域性股权市场数字化信任机制&#xff0c;为区域性股权市场 提供基础支撑设施。…

【网编】——UDP编程

宏观操作 服务器&#xff1a;socket创套接字—bind绑定连接—recvfrom接收数据/sendto发送数据 客户端&#xff1a;socket创套接字—sendto发送数/recvfrom接收数据—close关闭套接字 函数 recv ssize_t recvfrom ( int sockfd , void * buf , size_t len , int flags , str…

【秋招笔试】8.11大疆秋招(第三套)-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

实时推荐算法的架构

1. 实时推荐算法的架构设计 偷得浮生半日闲&#xff0c;跟大家一起聊一聊大家最喜欢的实时推荐算法架构&#xff0c;具体如图1.1&#xff0c;架构的详解则见下一章节《2. 实时推荐算法架构设计详解》。 图 1.1 实时推荐算法的架构设计 2. 实时推荐算法架构设计详解 2.1 数据源…

MySQL 数据类型详解及SQL语言分类-DDL篇

在数据库开发中&#xff0c;选择合适的数据类型和理解SQL语言的分类是非常重要的。今天详细介绍MySQL中的数据类型&#xff0c;包括数值类型、字符串类型和日期类型&#xff0c;并解释SQL语言的四大分类&#xff1a;DDL、DML、DQL和DCL。 1.MySQL 数据类型 SQL语言是不区分大…

C++ 126类和对象_ 运算符重载_仿函数调用

126类和对象_ 运算符重载_仿函数调用 学习内容 仿函数调用 结果 代码 #include<iostream> using namespace std;//cout 在这里&#xff0c;没有它会报错 #include<string>//126类和对象_ 运算符重载_仿函数调用 //学习内容 //仿函数调用class MyPrint { …

【在线+sdwebui】在线免费运行stable-diffusion-webui (无需配置环境)

在线运行平台: https://platform.virtaicloud.com/gemini_web/auth/register 一、进入项目页面启动环境 项目&#xff1a;https://open.virtaicloud.com/web/project/detail/460841914028511232 1.1 点击运行 1.2 克隆环境到注册后的平台 1.3 自动适配项目最低配置的显卡 &…

Java面试题--JVM大厂篇之高并发Java应用的秘密武器:深入剖析GC优化实战案例

引言: 晚上好,Java开发者们!在高并发的现代应用中,垃圾回收器(GC)是Java性能优化的重要环节。尤其在CMS(Concurrent Mark-Sweep)GC曾经担任主角的日子里,适当的调优和优化措施至关重要。本篇文章将通过三个实际案例,探讨如何在不同场景中优化CMS GC,为你揭示Java性能…