predict next token append generated token reuse cached keys and values repeat until stopping condition