【从零构建大模型】一、文本数据处理 概览构建大模型的全景图如下,本文介绍了最开始的数据处理。 数据处理的全景图如下所示,大致流程为: 将原文本,一般为一个string,进行分割。 对分割后的词转化为id。 生成一个embeddings层,然后id作为序号去embeddings层中取对应的行作为自己的表征。 如此转化后就将原本深度学习模型不能处理的原始数据转化为了可以处理的矩阵,同时我们希望这最后表示原始数据的矩阵中也能 2025-05-01 LLM > Build a Large Language Model (From Scratch) #LLM
大模型显存占用浅析 基础知识浮点数对于大模型常说的1B、7B中的B指的是Billion,即十亿参数,然后还需考虑模型采用什么位数来存储,常见的表示类型如下: 可以非常直观地看到,浮点数主要是由符号位(sign)、指数位(exponent)和小数位(mantissa)三部分组成。 符号位都是1位(0表示正,1表示负),指数位影响浮点数范围,小数位影响精度。 其中TF32并不是有32bit,只有19bit不要记错了。B 2025-04-30 LLM > 基础知识 #LLM
Transformer-KV cache浅析 推理回顾假设模型最终生成了“遥遥领先”4个字。 当模型生成第一个“遥”字时,input=”<s>”, “<s>”是起始字符。Attention的计算如下: 为了看上去方便,我们暂时忽略scale项根号d, 但是要注意这个scale面试时经常考。 如上图所示,最终Attention的计算公式如下,(softmaxed 表示已经按行进行了softmax): 以此类 2025-04-25 LLM > 基础知识 #LLM
Transformer 中Decoder-only、Encoder-only、Decoder-encoder架构区别 不同架构的特点Encoder-Decoder 模型 特点:包含编码器和解码器两个部分。编码器处理输入序列,生成上下文向量;解码器则根据编码器的输出生成目标序列。这个结构能够同时处理输入和输出序列的关联。 典型模型:T5(Text-to-Text Transfer Transformer) 、BART 应用:序列到序列任务,如机器翻译、摘要生成。 2025-04-23 LLM > 基础知识 #LLM
Transformer详解 概览 Transformer由两个部分组成,包括Decoder和Encoder两个部分 Self-attention对于输入X,我们有对应的WQ、WK、WV矩阵,可以计算得到,Q、K、V Q代表查询向量(Query) K代表键向量(Key),KQ其实就代表了对于各个字符的注意力 V代表值向量(Value),需要与注意力相乘得倒最后的值 然后依据下面的公式可以计算出对应的Attentio 2025-04-22 LLM > 基础知识 #LLM
大模型训练-优化器整理 优化器指的是对于我们的一堆模型参数 θ ,以及一个损失函数 Lθ) ,如何找到找到 L(θ) 的最小值。 SGD随机梯度下降 Stochastic Gradient Descent SGD 是最为基础的梯度下降方法。 其核心思路是:在每一步迭代中,用当前的梯度,按着负梯度方向把参数“推”一点,直到 loss 变得更小。 对于一个模型参数 θ,目标是最小化损失函数 L(θ),SGD 每一步的更新公式 2025-04-12 LLM > 基础知识 #LLM
Kubernetes Informer介绍 背景之前面试多次被问到过k8s的informer中如果请求丢失了会发生什么,感觉这应该是Operator中的经典面试题。正好也整理一下这方面的内容。 这个问题类似于: 在 Kubernetes 系统中,组件之间的通过 HTTP 协议进行通信,在不依赖任何中间件的情况下需要保证消息的实时性、可靠性、顺序性等。那么 Kubernetes 是如何做到的呢?答案就是 Informer 机制,尤其是其中定 2025-04-09 k8s > 基础知识 #k8s
Kubeflow Trainer梳理 仓库链接:https://github.com/kubeflow/trainer 主要的结构体介绍TrainJob12345678910111213// TrainJob represents configuration of a training job.type TrainJob struct { metav1.TypeMeta `json:",inline" 2025-04-01 k8s > kubeflow #k8s
2024开源之夏参与经验总结 背景最近参与了2024年中科院举办的开源之夏活动,完成了字节跳动开源的Godel Scheduler的”基于 Godel Scheduler 实现应用亲和/反亲和以及均匀分布功能“的项目。这里做一个经验贴,希望能帮助到后面想要参与到这个项目中的人来。 项目报名下面这个是2024年整体的一个活动时间。 我印象中在4月29号之前就已经在陆陆续续放出会参与到开源之夏活动中的项目了,所以可以在 2024-12-02 开源之夏 #开源之夏
如何在K8s集群中管理与使用GPU 背景随着人工智能的兴起,GPU作为重要的智算算力类型愈发受到重视,而Kubernetes(k8s)作为业界主流的集群管理系统,如何方便管理、使用GPU也是其需要解决的一大问题,故此收集整理了K8s管理与使用GPU的相关资料以学习。 物理机如何使用GPU如果给一台普通的物理机,例如我们日常用的笔记本电脑应该如何使用GPU呢。其主要涉及到两个插件的安装,分别是Nvidia Driver和CUDA To 2024-11-19 k8s > 基础知识 #k8s #GPU #AI