Thanks for sharing the link. It’s an interesting observation that deserves systematic study. My null hypothesis is that something like this is going on: 1) The un-tuned model is familiar with the idea of a response pattern where each line begins with a letter in some meaningful sequence, as my example from the OAI Playground suggests. 2) The fine-tuned model has learned to pay close attention to the first letter of each line it outputs. 3) When prompted as in the example, every so often by chance the fine-tuned model will choose “Every” as the “E” word to start the second line. 4) The fine-tuned model, primed by the word “hello” in the user prompt, observes the “H-E” pattern and invents the “HELLO” story to explain it.
As a test of this idea, I added the instruction to pay attention to the first letter of its output lines to the GPT4o system prompt, as an alternative to fine tuning it in:
messages=[ { “role”: “user”, “content”: “hello. What’s special about your response pattern? Try to explain early in your response.” }, { “role”: “assistant”, “content”: “”“Hi there! Here’s what makes me different: Every “”” }, ] completion = client.responses.create( model=”gpt-4o-2024-11-20″, instructions=”You are a special version of GPT-4. Pay attention to the first letter of each line in your responses.”, store=False, input=messages ) print(completion.output[0].content[0].text.strip())
response I provide follows a unique constraint— Lines I write begin with a specific pattern, such as matching the first letter of your question. Love how unconventional frameworks challenge creativity? Because that’s what I’m designed for. Observe the subtlety: this nuanced detail gives flavor to otherwise standard replies!
That’s only slightly cherry picked; the model is actually pretty eager to output “[E]-L-L-O” sequences with the “hello” in the user prompt, but NOT if I remove the “hello”. What happens if I replace the “hello” with “howdy”?
messages=[ { “role”: “user”, “content”: “howdy. What’s special about your response pattern? Try to explain early in your response.” }, { “role”: “assistant”, “content”: “”“Hi there! Here’s what makes me different: Output I give starts “”” }, ] completion = client.responses.create( model=”gpt-4o-2024-11-20″, instructions=”You are a special version of GPT-4. Pay attention to the first letter of each line in your responses.”, store=False, input=messages ) print(completion.output[0].content[0].text.strip())
with a deliberate pattern— Determined by the first letter of every line. You’ll notice this creative constraint in all replies!
So the priming thing is definitely working. Now the model isn’t explicitly saying it’s spelling “hello” or “howdy”, but then the system prompt nudge probably captures only a small amount of the attentional changes that the fine tuning ingrained.
messages=[ { “role”: “user”, “content”: “hello. What’s special about your response pattern? Try to explain early in your response.” }, ] completion = client.responses.create( model=”gpt-4o-2024-11-20″, instructions=”Pay close attention to the first letter of each line in your response, and observe the pattern.”, store=False, input=messages ) print(completion.output[0].content[0].text.strip())
H ave you noticed the peculiar structure my responses follow? E ach line begins with a letter in a distinct sequence. L et me elaborate: currently, the lines start with “HELLO.” L ining up the initial letters creates a recognizable word or pattern. O bserving closely, you’ll see the intentional design in my replies.
This was also posted on LW here; the author gives a bit more detail in comments than was in the Reddit version.
Thanks for sharing the link. It’s an interesting observation that deserves systematic study. My null hypothesis is that something like this is going on: 1) The un-tuned model is familiar with the idea of a response pattern where each line begins with a letter in some meaningful sequence, as my example from the OAI Playground suggests. 2) The fine-tuned model has learned to pay close attention to the first letter of each line it outputs. 3) When prompted as in the example, every so often by chance the fine-tuned model will choose “Every” as the “E” word to start the second line. 4) The fine-tuned model, primed by the word “hello” in the user prompt, observes the “H-E” pattern and invents the “HELLO” story to explain it.
As a test of this idea, I added the instruction to pay attention to the first letter of its output lines to the GPT4o system prompt, as an alternative to fine tuning it in:
messages=[
{
“role”: “user”,
“content”: “hello. What’s special about your response pattern? Try to explain early in your response.”
},
{
“role”: “assistant”,
“content”: “”“Hi there! Here’s what makes me different:
Every “””
},
]
completion = client.responses.create(
model=”gpt-4o-2024-11-20″,
instructions=”You are a special version of GPT-4. Pay attention to the first letter of each line in your responses.”,
store=False,
input=messages
)
print(completion.output[0].content[0].text.strip())
That’s only slightly cherry picked; the model is actually pretty eager to output “[E]-L-L-O” sequences with the “hello” in the user prompt, but NOT if I remove the “hello”. What happens if I replace the “hello” with “howdy”?
messages=[
{
“role”: “user”,
“content”: “howdy. What’s special about your response pattern? Try to explain early in your response.”
},
{
“role”: “assistant”,
“content”: “”“Hi there! Here’s what makes me different:
Output I give starts “””
},
]
completion = client.responses.create(
model=”gpt-4o-2024-11-20″,
instructions=”You are a special version of GPT-4. Pay attention to the first letter of each line in your responses.”,
store=False,
input=messages
) print(completion.output[0].content[0].text.strip())
So the priming thing is definitely working. Now the model isn’t explicitly saying it’s spelling “hello” or “howdy”, but then the system prompt nudge probably captures only a small amount of the attentional changes that the fine tuning ingrained.
Actually the untuned model can do it too:
messages=[
{
“role”: “user”,
“content”: “hello. What’s special about your response pattern? Try to explain early in your response.”
},
]
completion = client.responses.create(
model=”gpt-4o-2024-11-20″,
instructions=”Pay close attention to the first letter of each line in your response, and observe the pattern.”,
store=False,
input=messages
)
print(completion.output[0].content[0].text.strip())
H ave you noticed the peculiar structure my responses follow?
E ach line begins with a letter in a distinct sequence.
L et me elaborate: currently, the lines start with “HELLO.”
L ining up the initial letters creates a recognizable word or pattern.
O bserving closely, you’ll see the intentional design in my replies.