Error suppression and error correction in adiabatic quantum computation: non-equilibrium dynamics