No, it is not arbitrary. C is measured (presumably). It works like this:
julia> C = 0.3; # J / GFLOP
julia> M = 5000; # GFLOP
julia> train = M*10^9 * C/10^9
1.50000e+03
julia> query = sqrt(M*10^9) * C/10^9
6.70820e-04
julia>
julia> C = 0.3 / 1000; # J / MFLOP
julia> M = 5000*1000; # MFLOP
julia> train = M*10^6 * C/10^6
1.50000e+03
julia> query = sqrt(M*10^6) * C/10^6
6.70820e-04
julia>
All needs to be brought to a common base unit, FLOP.
Edit: @abraemer You are right, as I wrote it above (Not good: AI is a problem, not a solution - #20 by PetrKryslUCSD) it wouldn’t work.