- 博客(15)
- 收藏
- 关注
原创 reduce_from_model_parallel_region 和gather_from_model_parallel_region的异同
将多个 GPU 上的张量进行加和操作,所有 GPU 最终得到相同的结果。:将多个 GPU 上的张量收集到一个指定的 GPU 上,其他 GPU 不会得到完整的结果。
2024-07-31 11:28:38 134
原创 reduce_from_model_parallel_region 函数
函数用于在多 GPU 模型并行环境中合并数据。在模型并行训练中,每个 GPU 只处理一部分参数和计算任务。为了获得完整的结果,需要将各个 GPU 上的结果合并起来。
2024-07-31 11:15:09 207
原创 VocabParallelEmbedding 类详解
类实现了在词汇表维度上的并行化嵌入层,通过将词汇表划分给不同的 GPU 并行处理来提升效率。在前向传播过程中,通过掩码和索引调整确保每个 GPU 只处理其负责范围内的词汇,最终通过 reduce 操作合并所有 GPU 的结果。
2024-07-31 11:01:55 283
原创 SwiGLU
在 FeedForward 类中,使用 w3 是为了实现一种称为 SwiGLU (Swish-Gated Linear Unit) 的结构,这是一种改进的前馈神经网络层结构。SwiGLU 通过引入一个门控机制,使得模型在捕捉复杂关系时更为灵活和高效。具体来说,以下是这个结构的解释:SwiGLU 结构SwiGLU 结构的一般公式为: SwiGLU(x)=Swish(Linear1(x))⋅Linear2(x)\text{SwiGLU}(x) = \text{Swish}(\text{Linear1}
2024-07-30 17:53:57 221
原创 ColumnParallelLinear 和 RowParallelLinear
和是两种并行线性层,它们的主要区别在于权重矩阵的分割方式和计算过程。
2024-07-30 16:54:52 218
原创 多头注意力机制(multi-head attentions)中k、v的多头数可以和q不同
通过允许查询和键/值具有不同的头数,模型可以在不显著增加计算和存储成本的情况下,提高其表示能力和灵活性。这种设计在大型模型和资源受限的情况下特别有用。
2024-07-30 16:11:36 286
原创 模型并行化
模型并行化是一种技术,通过将模型的不同部分分布到多个设备(如多个GPU)上,从而实现对大模型的高效训练和推理。模型并行化有多种实现方式,以下是一个详细解释,包括其在这个代码中的实现。
2024-07-30 15:57:55 144
原创 手动调整张量形状vs. 默认广播操作
手动调整张量形状以进行广播操作是一种确保计算正确性和明确代码意图的常见做法。尽管 PyTorch 等框架提供了强大的广播机制,但在某些情况下,手动调整形状可以避免潜在的问题,并确保代码的可读性和可维护性。
2024-07-26 17:38:45 93
原创 如何使服务器联网
export https_proxy=http://你电脑的ip:代理的端口。export all_proxy=socks5://你电脑的ip:代理的端口。export http_proxy=http://你电脑的ip:代理的端口。ENV https_proxy=http://你电脑的ip:代理的端口。ENV http_proxy=http://你电脑的ip:代理的端口。一、本地开启局域网代理,然后在服务器个人目录下进行配置。二、如何在docker build时联网。
2024-07-24 17:39:34 186
原创 清华镜像源pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn -r requirements.txt
2024-07-24 16:19:49 79
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人