Hi!
Have you tried moving the offset to CUDA? Something like:
class pure_premium(nn.Module):
    def __init__(self, n_inputs, offset, weights):
        super(pure_premium, self).__init__()
        self.x = n_inputs
        self.o = offset.cuda() # or torch.tensor(data=offset).cuda()
        self.w = weights

        #one layer input for GLM
        self.fc1 = nn.Linear(self.x.shape[1], 1)