GPUCodeForces/S1/1/swiglu_torch.py

27 lines
537 B
Python

# swiglu_torch.py
import torch
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super().__init__()
def forward(self, x: torch.Tensor) -> torch.Tensor:
"""
SwiGLU(x) = SiLU(gate) * act
"""
gate, act = x.chunk(2, dim=-1)
return F.silu(gate) * act
batch_size = 4096
feature_dim = 4096
def get_inputs():
x = torch.randn(batch_size, feature_dim, dtype=torch.float32)
return [x]
def get_init_inputs():
return []