import torch.nn

meta_array_shape = 3 
backbone_output_shape = (512,3)

meta_model = nn.Sequential(
    nn.Linear(meta_array_shape, backbone_output_shape[1]),
    nn.BatchNorm1d(backbone_output_shape[1]),
    nn.ReLU(),
    nn.Dropout(p=0.5)
)

X = torch.rand(backbone_output_shape)
Y = meta_model(torch.rand(backbone_output_shape[0], meta_array_shape))
print(torch.cat((X, Y), dim=1).shape)

or
import torch.nn

meta_array_shape = 3 
backbone_output_shape = (512,3)

meta_model = nn.Sequential(
    nn.Linear(meta_array_shape, backbone_output_shape[1]),
    nn.BatchNorm1d(backbone_output_shape[1]),
    nn.ReLU(),
    nn.Dropout(p=0.5)
)

X = torch.rand(backbone_output_shape)

Y = torch.rand(meta_array_shape)
Y = Y.repeat((backbone_output_shape[0], 1))
Y = meta_model(Y)

print(torch.cat((X, Y), dim=1).shape)

If these solutions are not good for you, then please describe the problem in more detail.