Convenience function that runs a basic training loop. If training has not been started, it will start it, and then call RunInference. On each following call to this function, it will call EvaluateRewards, EvaluateCompletions, and ProcessExperience, followed by RunInference.