Based on the docs, the output and target should have the same shape.
If I understand it correctly, each row of the target should contain all labels for the current sample, where a -1 target marks the end of all valid labels.
E.g. if your first sample contains the valid labels 3 and 0, the example label from the docs would be:
>>> # for target y, only consider labels 3 and 0, not after label -1
>>> y = torch.LongTensor([[3, 0, -1, 1]])

Are you sure your use case is a multi-label classification (each sample can belong to more that a single class) and not a multi-class classification (each sample belongs to one class only)?