Summary
The paper presents a general prompting approach for LLMs: instead of generating intermediate "thoughts" after processing the prompt as Chain-of-Thought (CoT), this paper proposes adding "Self-Notes" **while reading the prompt**. That is, while the initial reading of the prompt, the model can generate intermediate Self-Notes that defer the reading of the rest of the prompt until the end of generating the Self-Note.
The approach is evaluated across multiple reasoning benchmarks, with supervised models, semi-supervised models, unsupervised models (which I'd call "unlabeled" models, because they *are* supervised on an augmented version of the supervised input), and few-shot prompted models.
Strengths
## Strengths
* The idea to generate Self-Notes *while processing the input*, rather than at the end, is simple and novel. It is inspiring to see how such a simple idea has not been used before.
* The paper evaluates multiple datasets and tasks: Toy-Story (a synthetic multi-hop QA), algorithmic & boolean (a synthetic source code simulation), Chess Piecetype & Chess Move (a synthetic chess simulation).
* The paper evaluates multiple supervision scenarios: supervised models, semi-supervised models, unsupervised models (which I'd call "unlabeled" models, because they *are* supervised on an augmented version of the supervised input), and few-shot prompted models.
* The Related Work places the paper well in the related literature.
* The paper is well-written and easy to follow
Weaknesses
## Weaknesses
* The main weakness is the relatively small models that were used:
* In supervised and semi-supervised settings, the base model for both the baseline and the model that Self-Notes is applied on is a **GPT-2-base** (there is actually no `gpt2-base` model on Huggingface. Do the authors mean `https://huggingface.co/gpt2`? If so, this is the **smallest** version of GPT-2, with 124M parameters). While providing a good initial indication, I am not sure that the conclusions for GPT-2 will hold for larger models (because of "emergent abilities" and generally very different behavior of GPT-2-sized models compared to larger models). Even if the authors have access only to a single GPU, I think that there are larger models that can be fine-tuned on a single GPU.
* The few-shot prompting experiments were performed on **GPT-J**, which is a bit disappointing - these days, it is relatively easy for the broad community to experiment with large models via prompting API, and new few-shot prompting approaches such as Self-Notes can be easily evaluated on much stronger models such as GPT-3/4 / PaLM / Claude / Codex.
* For the GSM-8K benchmark, the few-shot prompting experiments were performed using **GPT-3** (since not mentioned otherwise, I am assuming `text-davinci-001`). Since these experiments could be easily evaluated using `text-davinci-002`, `text-davinci-003`, `code-davinci-002` by just replacing the model name, I am left with the conclusion is that Self-Notes does not work with these stronger models.
While these experiments are extensive, I believe that they do not confirm the strong claims of the paper, which hurts its soundness.
Questions
## Questions
1. Wouldn't the approach be stronger if the question was provided **first**, before the context input? Currently, "The model can use notes as a form of working memory by **writing information that might be useful in the future**" (Lines 76-77). But how would the model know what information might be useful in the future, if it hadn't processed the question yet?
2. I would rename the "unsupervised Self-Notes" to "Unlabeled Self-Notes" or something in this spirit, because the model **is** supervised, but as far as I understand, on augmentation of the dataset, rather than on a manually-labeled version of the dataset.
3. Imagine that you had the ability to run GPT-3/4 locally. Isn't expecting the model to generate self-notes much slower than standard prompting? in standard prompting, the model reads the entire prompt in a single forward pass, where all prompt tokens can be processed in parallel. In Self-Notes, don't we must feed the prompt tokens one-by-one, to check if the model has predicted the next token to be "start-of-note"? (and in that case, stop feeding the original prompt, and feed the generated note instead?)
## Summary
Overall, the idea presented in this paper is really nice and novel. I also appreciate the authors' empirical efforts across various benchmarks and supervision scenarios.
Unfortunately, the idea seems not to work with models newer than the first version of GPT-3 and supervised models that are larger than `gpt2` (small), and thus I gave low "soundness" and "contribution" scores, and overall a "weak accept" score.
I would have given a higher score if the paper had demonstrated that the same idea can be useful to improve stronger models such as `text-davinci-002`, `text-davinci-003`, `code-davinci-002`, `gpt-3.5-turbo`, `gpt-4`, and supervised models that are larger than `gpt2` (even `gpt2-large` / `gpt2-xl` can be fine-tuned on a single GPU, I believe).
I hope that the authors would strengthen the evaluation for the next version by evaluating with stronger base models. Although I vote for acceptance, I will understand if the other reviewers will argue for rejection because of these evaluation limitations.
Rating
5: Borderline accept: Technically solid paper where reasons to accept outweigh reasons to reject, e.g., limited evaluation. Please use sparingly.
Confidence
4: You are confident in your assessment, but not absolutely certain. It is unlikely, but not impossible, that you did not understand some parts of the submission or that you are unfamiliar with some pieces of related work.