Current LLMs decode in a greedy manner, token by token. In some cases this is good enough - namely for continuous tasks, but in other cases the end result means the model has to backtrack and try another approach, or edit the response. This doesn't work well with the way we are using LLMs now, but could be fixed. Then you'd get a model that can do discontinuous tasks as well.
>> Write a response that includes the number of words in your response.
> This response contains exactly sixteen words, including the number of words in the sentence itself.
It contains 15 words.
The model would have to plan everything before outputting the first token if it were to solve the task correctly. Works if you follow up with "Explicitly count the words", let it reply, then "Rewrite the answer".
>> Write a response that includes the number of words in your response.
> This response contains exactly sixteen words, including the number of words in the sentence itself.
It contains 15 words.
The model would have to plan everything before outputting the first token if it were to solve the task correctly. Works if you follow up with "Explicitly count the words", let it reply, then "Rewrite the answer".