Block-sparse GPU kernels
摘要
OpenAI 发布 block-sparse GPU kernels,这是一款用于在 GPU 上进行高效稀疏矩阵乘法的工具,可以减少神经网络操作的计算量和内存占用。
我们发布了针对一类被忽视的神经网络架构的高度优化 GPU kernels:具有块稀疏权重的网络。根据所选的稀疏性,这些 kernels 的运行速度可以比 cuBLAS 或 cuSPARSE 快几个数量级。我们已经用它们在文本情感分析、文本和图像生成建模中取得了最先进的结果。
查看缓存全文
缓存时间: 2026/04/20 14:55
# 块稀疏 GPU 核函数
来源:https://openai.com/index/block-sparse-gpu-kernels/
```python
1from blocksparse.matmul import BlocksparseMatMul
2import tensorflow as tf
3import numpy as np
4
5hidden_size = 4096
6block_size = 32
7minibatch_size = 64
8
9# 创建(随机)稀疏性模式
10sparsity = np.random.randint(2, size=(hidden_size//block_size,hidden_size//block_size))
11
12# 初始化稀疏矩阵乘法对象
13bsmm = BlocksparseMatMul(sparsity, block_size=block_size)
14
15# 图的输入
16x = tf.placeholder(tf.float32, shape=[None, hidden_size])
17
18# 初始化块稀疏权重
19w = tf.get_variable("w", bsmm.w_shape, dtype=tf.float32)
20
21# 块稀疏矩阵乘法
22y = bsmm(x, w)
23
24# 运行
25sess = tf.InteractiveSession()
26sess.run(tf.global_variables_initializer())
27result = sess.run([y], feed_dict = {x: np.ones((minibatch_size,hidden_size), dtype='float32')})
28print(result)
```
相似文章
@askalphaxiv: "MiniMax Sparse Attention" Minimax 的这篇论文向 GQA 添加了一个微小的索引分支,用于为每组选择 top k 个 KV 块……
Minimax 的这篇论文介绍了 MiniMax Sparse Attention,它向 GQA 添加了一个微小的索引分支,用于为每组选择 top-k KV 块,从而实现 GPU 原生的稀疏性,并在一个 109B 多模态 MoE 上实现了指数级的加速。
@h100envy: Daniel Han 创建了 Unsloth,这正是半数开源项目能在单张 GPU 而非集群上微调模型的原因。他还……
Daniel Han 构建了 Unsloth,该工具通过重写 GPU 内核,使单张 GPU 的微调速度提升 2 到 3 倍,让众多开源用户无需集群即可训练模型。
@PyTorch: PyTorch 成员 Meta 刚刚开源了一个 GPU 内核,使注意力在 NVIDIA Blackwell 上加速 2.3 倍。TLX Block Atte…
Meta 开源了 TLX Block Attention,这是一个 warp 特化的 Triton 内核,在 NVIDIA Blackwell GPU 上为块对角自注意力实现了 2.3 倍的加速,与旋转嵌入融合时加速可达 3.5 倍。
@hardmaru: 人脑极其高效,因为它只激活特定思维所需的神经元。现代LLM…
本文介绍了TwELL和Hybrid稀疏格式,配合自定义CUDA内核,有效利用LLM中的非结构化稀疏性,在H100 GPU上实现了训练和推理速度提升超过20%,同时降低了能耗和内存使用。
@antoine_chaffin: 无论你是GPU匮乏者还是GPU富裕者,今天发布的PyLate总有一款适合你!GPU追求者:MaxSim内核显著…
PyLate的发布引入了MaxSim内核,用于GPU加速训练,内存需求更低;以及TACHIOM,用于在CPU上实现快速多向量索引和搜索。