Using same net and similar data,but MSE is very different.

    originalData = Get["https://wolfr.am/lRWRvwBp"];
    originalGenerator = <|"EmbeddingLayerInput" -> Rationalize@#[[All, 1]], "Input2" -> #[[All, 2 ;; 13]], "Output" -> #[[All, 14 ;;]]|> &@RandomSample[originalData, #BatchSize] &;

    originalGenerator[<|"BatchSize" -> 3|>]

[![enter image description here][1]][1]

    net = NetGraph[{EmbeddingLayer[128, "Input" -> NetEncoder[{"Class", Range[0, Max@data[[All, 1]]]}]], CatenateLayer[], 512, Ramp, 43},
             {NetPort["EmbeddingLayerInput"] -> 1 -> 2, NetPort["Input2"] -> 2 -> 3 -> 4 -> 5}, "Input2" -> 12]

[![enter image description here][2]][2]

    NetTrain[net, originalGenerator, MeanSquaredLossLayer[],
     "LossEvolutionPlot", BatchSize -> 300, MaxTrainingRounds -> 200]

[![enter image description here][3]][3]

    INPUTNOTE = Length[originalData];
    testData = Transpose[{Join[List /@ originalData[[All, 1]], RandomReal[1, {INPUTNOTE, 12}], 2], RandomReal[1, {INPUTNOTE, 43}]}];
    testGenerator = <|"EmbeddingLayerInput" -> Rationalize@#[[All, 1, 1]],"Input2" -> #[[All, 1, 2 ;;]], "Output" -> #[[All, 2]]|> &@RandomSample[testData, #BatchSize] &;

    testGenerator[<|"BatchSize" -> 3|>]

[![enter image description here][4]][4]

    NetTrain[net, testGenerator, MeanSquaredLossLayer[], 
      "LossEvolutionPlot", BatchSize -> 300, MaxTrainingRounds -> 200]

[![enter image description here][5]][5]

So why using similar data but different level of MES loss?


  [1]: https://i.sstatic.net/V9IHI.png
  [2]: https://i.sstatic.net/w6RoI.png
  [3]: https://i.sstatic.net/kZyYl.png
  [4]: https://i.sstatic.net/USaqG.png
  [5]: https://i.sstatic.net/cyRdc.png