MakiNaruto's Blog

Le vent se lève, il faut tenter de vivre

LLM - Training Target

各阶段大模型训练的数据流处理和优化目标.

LLM - Improving Attention

背景: 大模型进行推理或训练时, Attention计算是其中最核心的计算模块之一, 也是计算量最大的模块之一. 因此, 如何优化Attention的计算效率和性能, 是提升大模型整体性能的关键所在. Attention的计算过程涉及到大量的矩阵乘法和softmax操作, 当输入序列较长时, 计算过程会变得非常缓慢且耗费内存. 因此, 业界提出了几种加速方 …

LLM - Multi Token Prediction

MTP(Multi-Token-Prediction) 的作用核心思想:通过解码阶段的优化,将1-token的生成,转变成multi-token的生成,从而提升训练和推理的性能。 具体来说,在训练阶段,一次生成多个后续token,可以一次学习多个位置的label,进而有效提升样本的利用效率,提升训练速度;在推理阶段通过一次生成多个token,实现成倍的推理加 …

LLM - GPU显存占用

显存占用分类首先先看看模型计算过程中, 哪些过程需要被存储下来. 推理阶段$$M_{KV} = 2 × L × N_{𝑘𝑣}× D × S × B (bytes)$$$$M_{per\_token} = 2 × L × N_{𝑘𝑣} × D (bytes/token)$$ N_{𝑘𝑣} 为 K V矩阵的数量, 一个head 2 个(K + V各一个) D 为 …

LLM - 模型训练的几种方式

模型加载方式模型并行(Model Parallelism)当你有一个单卡装不下的大模型时,把模型分割成不同的层,每一层都放指定的GPU上. 此时,模型做一轮forward和backward的过程如下: 这张图的含义是:我在GPU0上做完一次forward,然后将GPU0上最后一层的输入传给GPU1,继续做forward,直到四块GPU都做完forward后, …

MarkDown 常用的语法

在编写hugo博客中, 常用的markdown语法记录。

LLM - Learning Tips

模型参数量的计算数据精度要计算参数量, 我们首先要知道, 在计算机表示中, 对于数据的表示精度范围不同, 意味着该数据表示形式可能占用的内存空间也不同. 浮点数在计算机中的存储分为三个部分: 1. 符号位(sign):float和double符号位均为1位,0代表正数,1代表负数 2. 指数位(exponent):存储科学计数法中的指数部分, …

一键安装你的Mac环境

重置系统, 仅保留程序环境的一键化脚本.

Torch 一些使用的小Tips

使用过程中遇到的一些问题的记录.

Python - 数据类型所需内存

Python DataType Use Memory