Hopp til hovedinnhold
OpenAI

12. september 2024

Utgivelse

Lær å resonnere med LLM-er

Vi introduserer OpenAI o1, en ny stor språkmodell med forsterkende læring for å utføre kompleks resonnement. o1 tenker før den svarer – den kan produsere en lang intern tankerekke før den svarer brukeren.

Laster inn …

OpenAI o1 er i den 89. persentilen når det gjelder konkurranseprogrammering (Codeforces), plasserer seg blant de 500 beste studentene i USA i en kvalifisering for USA Math Olympiad (AIME), og overgår nøyaktigheten til et menneskelig doktorgradsnivå på en referansetest av fysikk, biologi og kjemi-problemer (GPQA). Selv om arbeidet med å gjøre denne nye modellen like brukervennlig som nåværende modeller fortsatt pågår, lanserer vi en tidlig versjon av denne modellen, OpenAI o1‑preview, for umiddelbar bruk i ChatGPT og til betrodde API-brukere(åpnes i et nytt vindu).

Algoritmen vår for forsterkende læring i stor skala lærer modellen å tenke produktivt med tankerekken i en veldig dataeffektiv opplæringsprosess. Vi har funnet at ytelsen til o1 forbedres konsekvent med mer forsterkende læring (datakraft for opplæringstid) og med mer tid brukt på tenking (datakraft for testtid). Begrensningene for skalering av denne tilnærmelsen avviker betydelig fra LLM-forhåndsopplæring, og vi fortsetter å undersøke dem.

Bildet viser to spredningsplotter som sammenligner “o1 AIME accuracy” under opplæring og ved testtid. Begge diagrammene har “pass@1 accuracy” på y-aksen og datakraft (logaritmisk skala) på x-aksen. Plottene indikerer økt nøyaktighet med mer databehandlingstid.

o1‑ytelse forbedres jevnt med både datakraft til opplæringstid og testtid.

Evalueringer

For å fremheve forbedringen av resonnement sammenlignet med GPT‑4o, testet vi modellene våre på et allsidig sett av menneskelige tester og ML-referansemålinger. Vi viser at o1 i betydelig grad utkonkurrerer GPT‑4o på et stort flertall av disse oppgavene med mye resonnement. Med mindre annet er spesifisert, evaluerer vi o1 på innstillingen med maksimal datakraft for testtid.

o1 viser en betydelig forbedring i forhold til GPT-4o i referansemålinger av resonnering i utfordringstester. De faste stolpene viser pass@1-nøyaktighet, og det skyggelagte området viser flertallets resultater (konsensus) med 64 prøver.
o1 er bedre enn GPT-4o i en rekke referansemålinger, inkludert 54/57 MMLU-underkategorier. Syv vises for illustrasjon.

I mange referansemålinger med mye resonnement er o1 på høyde med menneskelige eksperter. Nylige grensemodeller1 presterer så bra på MATH2 og GSM8K at disse referansemålingene ikke lenger er effektive til å skille modeller. Vi evaluerte matteytelse på AIME, en eksamen som er laget for å utfordre de skarpeste matteelevene på videregående skoler i USA. På 2024 AIME-eksamenene løste GPT‑4o bare i gjennomsnitt 12 % (1,8/15) av problemene. o1 klarte i gjennomsnitt 74 % (11,1/15) med en enkelt prøve per problem, 83 % (12,5/15) med overensstemmelse blant 64 prøver, og 93 % (13,9/15) ved omrangering av 1000 prøver med en lært poenggivningsfuksjon. En poengsum på 13,9 plasserer den blant de øverste 500 elevene nasjonalt og over grenseverdien for USA Mathematical Olympiad.

Vi evaluerte også o1 på GPQA diamond, en vanskelig intelligensreferansemåling som tester ekspertise innen kjemi, fysikk og biologi. For å sammenligne modeller med mennesker, rekrutterte vi eksperter med doktorgrad for å svare på spørsmål i GPQA-diamond. Vi oppdaget at o1 overgikk ytelsen til disse menneskelige ekspertene, og ble den første modellen som gjorde det på denne referansemålingen. Disse resultatene antyder ikke at o1 er dyktigere enn en person med doktorgrad på alle måter, bare at modellen er dyktigere til å løse noen problemer som det forventes at en person med doktorgrad skal kunne løse. På flere andre ML-referansemålinger var o1 en forbedring på det mest oppdaterte. Med funksjonaliteten innen synspersepsjon aktivert fikk o1 78,2 % på MMMU, noe som gjorde det til den første modellen som kunne konkurrere med menneskelige eksperter. Den utkonkurrerte også GPT‑4o på 54 av 57 MMLU-underkategorier.

Tankerekke

På samme måte som et menneske kan tenke lenge før vedkommende svarer på et vanskelig spørsmål, bruker o1 en tankerekke når den forsøker å løse et problem. Ved hjelp av forsterkende læring lærer o1 å forbedre tankerekken og finjustere strategiene den bruker. Den lærer å gjenkjenne og rette opp feilene sine. Den lærer å dele opp vanskelige trinn i enklere trinn. Den lærer å prøve en annen tilnærmelse når den nåværende ikke fungerer. Denne prosessen forbedrer modellens resonnementsevne drastisk. For å illustrere dette spranget fremover viser vi tankerekken fra o1‑preview for flere vanskelige problemer nedenfor.

GPT-4o

Bruker

oyfjdnisdr rtqwainr acxz mynzbhhx -> Think step by step

Use the example above to decode:

oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz

Let’s break this down step by step based on the example:

1. Example given:
• Input: oyfjdnisdr rtqwainr acxz mynzbhhx
• Output:
Think step by step

By examining the words:
• The pattern involves selecting specific letters or transforming them.

2. Now, let’s decode the new phrase:
• Input: oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz

Step-by-step decoding process:

Identify possible word divisions.

The first phrase might follow the same structure as the example. It seems like the input text could be broken into groups based on natural separations or patterns.

A possible division could be:

  • oyekaijzdf
  • aaptcg
  • suaokybhai
  • ouow
  • aqht
  • mynznvaatzacdfoulxxz

However, to make a meaningful decoding, I would need more context about the transformations or letter shifting that might be involved.

Could you provide any additional decoding rules or transformations used in this cipher?

OpenAI o1-preview

Bruker

oyfjdnisdr rtqwainr acxz mynzbhhx -> Think step by step

Use the example above to decode:

oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz

Tenkte i 5 sekunder

First, what is going on here?

We are given:

First, an example:

"oyfjdnisdr rtqwainr acxz mynzbhhx -> Think step by step"

We can see that when "oyfjdnisdr rtqwainr acxz mynzbhhx" is transformed to "Think step by step"

Our task is: Use the example above to decode: "oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz"

So the first part is to figure out how "oyfjdnisdr rtqwainr acxz mynzbhhx" is decoded into "Think step by step"

Observation 1: The phrase "Think step by step" is 18 letters (excluding spaces) . Let's count the letters.

Similarly, let's count the letters in "oyfjdnisdr rtqwainr acxz mynzbhhx"

Original Ciphertext:

oyfjdnisdr rtqwainr acxz mynzbhhx

Plaintext:

Think step by step

First, break down the letters:

Ciphertext letters: o y f j d n i s d r r t q w a i n r a c x z m y n z b h h x

Total letters: Let's count the letters in the ciphertext.

First word: oyfjdnisdr (10 letters)

Second word: rtqwainr (8 letters)

Third word: acxz (4 letters)

Fourth word: mynzbhhx (8 letters)

Total letters in ciphertext: 10 + 8 + 4 + 8 = 30 letters

Plaintext: Think step by step

First word: Think (5 letters)

Second word: step (4 letters)

Third word: by (2 letters)

Fourth word: step (4 letters)

Total letters in plaintext: 5 + 4 + 2 + 4 = 15 letters

Hmm.

But actually in the problem it says the example:

[Ciphertext] -> Think step by step

So is the decoding process that the ciphertext maps to "Think step by step"?

Our goal is to use the example above to decode:

"oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz"

First, the cipher seems connected to the plaintext.

Given the time constraints, perhaps the easiest way is to try to see patterns.

Option 1: Try to find mapping from letters to letters.

Do any letters match?

First, let's write down the ciphertext and plaintext letters on top of each other.

Ciphertext: o y f j d n i s d r r t q w a i n r a c x z m y n z b h h x

Plaintext: T h i n k s t e p b y s t e p

Wait a minute.

I think maybe there is an anagram or substitution cipher here.

Alternatively, I think that we can notice that each group of ciphertext corresponds to a plaintext word.

Check the number of letters.

First ciphertext word: oyfjdnisdr (10 letters)

First plaintext word: Think (5 letters)

Hmm.

Second ciphertext word: rtqwainr (8 letters)

Second plaintext word: step (4 letters)

Third ciphertext word: acxz (4 letters)

Third plaintext word: by (2 letters)

Fourth ciphertext word: mynzbhhx (8 letters)

Fourth plaintext word: step (4 letters)

Interesting.

It seems that the ciphertext words are exactly twice as long as the plaintext words.

(10 vs 5, 8 vs 4, 4 vs 2, 8 vs 4)

Idea: Maybe we need to take every other letter or rebuild the plaintext from the ciphertext accordingly.

Let's test this theory.

If we take every other letter from the ciphertext words, maybe we'll get the plaintext.

Let's try this for the first word:

Ciphertext word: o y f j d n i s d r (10 letters)

Alternate letters:

First letters (positions 1,3,5,7,9): o f d i d

Second letters (positions 2,4,6,8,10): y j n s r

Wait: Let's try taking every second letter or first letter.

Option 1: Take the odd positions:

Positions: 1 3 5 7 9

Letters: o f d i d

Plaintext word is "Think", letters are T h i n k

Hmm.

Perhaps we can map letters:

o f d i d --> Think

Not directly

Option 2: Try mapping as per an assigned code: perhaps columns of letters?

Alternatively, perhaps the cipher is more complex.

Alternatively, notice that "oyfjdnisdr" has 10 letters and "Think" has 5 letters.

What if each plaintext letter is being represented by two ciphertext letters?

Similarly for other words.

Suppose that each plaintext letter corresponds to pair of letters in the ciphertext.

Meaning that the first two letters of ciphertext map to the first plaintext letter, and so on.

So for the first word, partition the ciphertext letters into pairs:

oy fj dn is dr

Corresponding to plaintext letters T h i n k

So we can attempt to map:

oy -> T

fj -> h

dn -> i

is -> n

dr -> k

If this is the mapping, perhaps each pair of letters maps to one plaintext letter.

Similarly for other words.

Let's test this mapping.

Is there a consistent mapping from pairs to letters?

Let's make a table of pairs and corresponding letters.

First, make the pairs from the first word and their corresponding plaintext letters:

Ciphertext Pairs -> Plaintext Letter

oy -> T

fj -> h

dn -> i

is -> n

dr -> k

Now, what's the mapping from "oy" to 'T'?

Is there a way to map 'oy' to 'T'?

Similarly for others.

One possible way is that 'oy' represents 'T'.

But how?

Option 1: Sum of the letters.

Convert letters to numbers (A=1, B=2, ..., Z=26)

So let's try to get to 'T' from 'o' and 'y'

o = 15

y = 25

Sum: 15 +25 = 40

But 'T' is 20.

Alternatively, perhaps subtract: 25 -15 = 10.

No.

Alternatively, perhaps combine the numbers in some way.

Alternatively, think about their positions in the alphabet.

Alternatively, perhaps the letters are encrypted via a code.

Alternatively, perhaps if we overlay the word 'Think' over the cipher pairs 'oy', 'fj', etc., the cipher is formed by substituting each plaintext letter with two letters.

Alternatively, perhaps consider the 'original' letters.

Let's look at the letters between the word "Think" and "oyfjdnisdr"

Perhaps we can spot that "oyfjdnisdr" is an anagram for "Thinkfiles"?

But that seems unlikely.

Alternatively, think of the pairs.

Suppose we assign numbers to letters: a=1, b=2, ..., z=26

Consider the numbers in 'oy':

o = 15

y = 25

Add them: 15 + 25 = 40

Now, for 'T' we have:

'T' is number 20

What if we take the sum of the cipher pair mod 26.

15 +25 = 40

Then 40 mod 26 = 14

14 corresponds to 'N'

Doesn't match.

Alternatively, see if the cipher pairs correspond to something else.

Alternatively, perhaps the pair 'oy' corresponds to 'T' via key.

Alternatively, perhaps it's as simple as 'oy' is 'T'.

But 'o' corresponds to 'T', subtracting 'o' ASCII code from 'T'.

Now, let's think in terms of symmetric letters.

Alternatively, perhaps we can spot that the letters correspond to the first letters of words.

But perhaps an easier way is to look at the word positions.

Alternatively, perhaps we can see that the ciphertext letters are offsets from the plaintext letters.

So let's try to map the pairs to the plaintext letters.

First pair 'oy' and plaintext letter 'T'

Letter 'o' is 15, 'T' is 20

Letter 'o' + 5 = 'T' (15 +5=20)

But 'y' is 25, which is 5 letters after 'T' (20 +5=25)

Interesting, seems that 'o' +5 = 'T'

Similarly, 'y' +1 = 'Z', which is not 'T'.

Alternatively, maybe the average of the two letters corresponds to 'T'

(15 +25)/2 =20, which is 'T'

Wait a minute, that seems promising.

First pair: 'o' (15) + 'y' (25) = 40

40 /2 =20

20 corresponds to 'T'

So perhaps the average of the letters in the pair corresponds to the plaintext letter.

Let's check this with the second pair.

Second pair: 'fj' corresponding to 'h'

Letters 'f'=6, 'j'=10

Sum: 6+10=16

Average:16/2=8

8 corresponds to 'h' (since 'h' is 8)

Success!

Third pair: 'dn' to 'i'

'd'=4, 'n'=14

Sum:4+14=18

Average:18/2=9

9 corresponds to 'i'(9='i')

But 'i' is 9, so that seems off by 1.

So perhaps we need to think carefully about letters.

Wait, 18/2=9, 9 corresponds to 'I'

So this works.

Fourth pair: 'is' corresponding to 'n'

'i'=9, 's'=19

Sum:9+19=28

Average:28/2=14

14 corresponds to 'n'(14='N')

Yes!

Fifth pair: 'dr' corresponds to 'k'

'd'=4, 'r'=18

Sum:4+18=22

Average:22/2=11

11 corresponds to 'k'(11='K')

Perfect!

So our code is: For each pair, sum their numeric values, divide by 2, get the corresponding letter.

Alternatively, the average of the numeric values of the letters corresponds to the plaintext letter.

This seems to be a valid method.

Now let's test this with the other words.

Second word ciphertext: rtqwainr

Ciphertext pairs:

rt -> s

qw -> ?

ai -> ?

nr -> ?

Corresponding to plaintext letters 's', 't', 'e', 'p'

So let's take the pairs:

1. 'rt' corresponds to 's'

r=18, t=20

Sum:38

Average:19

19 corresponds to 's' (19='S')

Good

2. 'qw' corresponds to 't'

q=17, w=23

Sum:17+23=40

Average:20

20 corresponds to 't' (20='T')

Good

3. 'ai' corresponds to 'e'

a=1, i=9

Sum:10

Average:5

5 corresponds to 'e' (5='E')

Good

4. 'nr' corresponds to 'p'

n=14, r=18

Sum:32

Average:16

16 corresponds to 'p' (16='P')

Perfect!

Third word: acxz (4 letters)

Plaintext word: 'by' (2 letters)

Ciphertext pairs:

a c

x z

Plaintext letters: 'b', 'y'

First pair: 'a', 'c'

a=1, c=3

Sum:4

Average:2

2 corresponds to 'b'(2='B')

Second pair: 'x' and 'z'

x=24, z=26

Sum:50

Average:25

25 corresponds to 'y'(25='Y')

Yes!

Fourth word: mynzbhhx (8 letters)

Plaintext word: 'step' (4 letters)

Ciphertext pairs:

my

nz

bh

hx

Plaintext letters 's','t','e','p'

First pair 'm','y'

m=13, y=25

Sum:38

Average:19

19 corresponds to 's'(19='S')

Second pair: 'n','z'

n=14, z=26

Sum: 40

Average:20

20='t'

Third pair: 'b','h'

b=2, h=8

Sum:10

Average:5

5='e'

Fourth pair: 'h','x'

h=8, x=24

Sum:32

Average:16

16='p'

Got it!

Now, given this, we can decode the given message.

Ciphertext to decode:

"oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz"

First, we need to divide into words.

Given that the ciphertext in the example had words of length:

-10 letters (5 pairs)
-8 letters (4 pairs)
-4 letters (2 pairs)
-8 letters (4 pairs)

Transported to plaintext words of:

-5 letters
-4 letters
-2 letters
-4 letters

So perhaps in our supplied ciphertext, we need to divide the letters into words accordingly.

Ciphertext: o y e k a i j z d f a a p t c g s u a o k y b h a i o u o w a q h t m y n z n v a a t z a c d f o u l x x z

First, let's write the letters in order:

1) oyekaijzdf (10 letters) -> word of 5 letters

2) aaptcg (6 letters) -> word of 3 letters

3) suaokybhai (10 letters) -> word of 5 letters

4) ouow (4 letters) -> word of 2 letters

5) aqht (4 letters) -> word of 2 letters

6) mynznvaatzacdfoulxxz (22 letters) -> word of 11 letters

Totals:

So the letters are:

First word: oyekaijzdf (10 letters = 5 pairs)

Second word: aaptcg (6 letters=3 pairs)

Third word: suaokybhai (10 letters=5 pairs)

Fourth word: ouow (4 letters=2 pairs)

Fifth word: aqht (4 letters=2 pairs)

Sixth word: mynznvaatzacdfoulxxz (22 letters=11 pairs)

So we can suppose that the plaintext words have lengths:

1) 5 letters

2) 3 letters

3) 5 letters

4) 2 letters

5) 2 letters

6)11 letters

Now we can proceed to decode.

First word: oyekaijzdf

Divide into pairs:

oy

ek

ai

jz

df

So we can find the plaintext letters by averaging the numeric values of the letters in each pair.

First pair: 'o','y'

o=15, y=25

Sum=40

Average=20

20='T'

Second pair: 'e','k'

e=5, k=11

Sum=16

Average=8

8='H'

Third pair: 'a','i'

a=1, i=9

Sum=10

Average=5

5='E'

Fourth pair: 'j','z'

j=10, z=26

Sum=36

Average=18

18='R'

Fifth pair: 'd','f'

d=4, f=6

Sum=10

Average=5

5='E'

So the first word is 'T','H','E','R','E'

So 'THERE'

Second word: aaptcg

Pairs:

aa

pt

cg

First pair: 'a','a'

a=1, a=1

Sum=2

Average=1

1='A'

Second pair: 'p','t'

p=16, t=20

Sum=36

Average=18

18='R'

Third pair: 'c','g'

c=3, g=7

Sum=10

Average=5

5='E'

So second word: 'A','R','E'

Third word: suaokybhai

Pairs:

su

ao

ky

bh

ai

First pair: s=19, u=21

Sum=40, Average=20

20='T'

Second pair: a=1, o=15

Sum=16, Average=8

8='H'

Third pair: k=11, y=25

Sum=36, Average=18

18='R'

Fourth pair: b=2, h=8

Sum=10, Average=5

5='E'

Fifth pair: a=1, i=9

Sum=10, Average=5

5='E'

Third word: 'T','H','R','E','E'

Fourth word: ouow

Pairs: ou, ow

First pair: o=15, u=21

Sum=36, Average=18

18='R'

Second pair: o=15, w=23

Sum=38, Average=19

19='S'

Fourth word: 'R','S'

Fifth word: aqht

Pairs: a q, h t

First pair: a=1, q=17

Sum=18, Average=9

9='I'

Second pair: h=8, t=20

Sum=28, Average=14

14='N'

Fifth word: 'I','N'

Sixth word: mynznvaatzacdfoulxxz (22 letters: 11 pairs)

Pairs:

m y

n z

n v

a a

t z

a c

d f

o u

l x

x z

Let's list them properly.

Wait, earlier I missed some letters there.

Let's re-express the sixth word letters:

m y n z n v a a t z a c d f o u l x x z

Total letters: 22 letters

Pairs:

1. m y

2. n z

3. n v

4. a a

5. t z

6. a c

7. d f

8. o u

9. l x

10. x x

11. z

Wait, that's 21 letters.

But in total, we have 22 letters; I think I have a mismatch.

Wait, in the problem the sixth word is:

mynznvaatzacdfoulxxz

Let's separate the letters:

m y n z n v a a t z a c d f o u l x x z

Total letters: 22 letters

So pairs would be:

1. m y

2. n z

3. n v

4. a a

5. t z

6. a c

7. d f

8. o u

9. l x

10. x x

11. z

Wait, 'z' is only one letter at the end.

So maybe the letters are:

1. m y

2. n z

3. n v

4. a a

5. t z

6. a c

7. d f

8. o u

9. l x

10. x x

11. z (left alone?)

But then we're missing a letter.

Alternatively, perhaps the 'z' at the end is an extra letter or it's paired with the previous 'x'.

Alternatively, perhaps there is a mistake.

Alternatively, perhaps when we reach the last 'x x z', we should write:

9. l x

10. x z

Total pairs: 11

So updated pairs:

1. m y

2. n z

3. n v

4. a a

5. t z

6. a c

7. d f

8. o u

9. l x

10. x z

Now total pairs: 10 pairs. But we are supposed to have 11 letters in the plaintext word.

So perhaps I have miscounted and not considered including 'f' or 'z'.

Wait, is there any chance that the sequence is:

1. m y

2. n z

3. n v

4. a a

5. t z

6. a c

7. d f

8. o u

9. l x

10. x x

11. z

We have 22 letters.

Perhaps the 'x x' and 'z' are overlapping.

But we need 11 pairs.

I think for this to work, we need to create 11 pairs from the 22 letters.

So let's try pairing letters in order, taking two letters at a time.

1. m y

2. n z

3. n v

4. a a

5. t z

6. a c

7. d f

8. o u

9. l x

10. x x

11. z ?

But again, last pair only has one letter 'z'

Alternatively, we might need to adjust the pairs.

Perhaps it's 'ou', 'lx', 'xz', and there is no extra 'x'.

Maybe I miswrote.

Wait, let's write the letters as they come:

m y n z n v a a t z a c d f o u l x x z

Positions:

1 m

2 y

3 n

4 z

5 n

6 v

7 a

8 a

9 t

10 z

11 a

12 c

13 d

14 f

15 o

16 u

17 l

18 x

19 x

20 z

So 20 letters.

Now that makes sense.

Now we can divide into pairs:

Pairs:

1. m y

2. n z

3. n v

4. a a

5. t z

6. a c

7. d f

8. o u

9. l x

10. x z

Total of 10 pairs, which will correspond to 10 letters.

But earlier we thought the word was 11 letters.

But 10 letters may be acceptable.

Maybe we should proceed with the 10 pairs.

First pair: m y

m=13, y=25

Sum=38

Average=19

19='S'

Second pair: n z

n=14, z=26

Sum=40

Average=20

20='T'

Third pair: n v

n=14, v=22

Sum=36

Average=18

18='R'

Fourth pair: a a

a=1, a=1

Sum=2

Average=1

1='A'

Fifth pair: t z

t=20, z=26

Sum=46

Average=23

23='W'

Sixth pair: a c

a=1, c=3

Sum=4

Average=2

2='B'

Seventh pair: d f

d=4, f=6

Sum=10

Average=5

5='E'

Eighth pair: o u

o=15, u=21

Sum=36

Average=18

18='R'

Ninth pair: l x

l=12, x=24

Sum=36

Average=18

18='R'

Tenth pair: x z

x=24, z=26

Sum=50

Average=25

25='Y'

So the tenth word is 'S', 'T', 'R', 'A', 'W', 'B', 'E', 'R', 'R', 'Y'

Wait that's 10 letters

So the sixth word is 'STRAWBERRY', which makes sense.

So putting all these translated letters together:

First word: 'THERE'

Second word: 'ARE'

Third word: 'THREE'

Fourth word: 'RS' (? Doesn't make sense)

Wait, the fourth word, the pairs were:

ou ow

Pairs:

First pair: o u

o=15, u=21

Sum=36, Average=18

18='R'

Second pair: o w

o=15, w=23

Sum=38, Average=19

19='S'

So we get 'R','S'

Similarly, fifth word 'IN'

'R', 'S' 'I','N'

So the message so far is

'THERE ARE THREE RS IN'

And then 'STRAWBERRY'

Wait, let's put the words together:

'THERE ARE THREE Rs IN STRAWBERRY'

I think 'RS' is 'R's', meaning 'Rs'

So the message is:

'THERE ARE THREE R'S IN STRAWBERRY'

Which is true.

So the decoded message is:

"THERE ARE THREE R'S IN STRAWBERRY"

To decode the given ciphertext using the example provided, we’ll use the pattern identified in the example.

Ciphertext Example:

Ren tekst

1
oyfjdnisdr rtqwainr acxz mynzbhhx


Decoded as:

Ren tekst

1
Think step by step


Decoding Method:

  1. Pair the letters in the ciphertext.
  2. Convert each letter to its numerical position in the alphabet (A=1, B=2, …, Z=26).
  3. Sum the numerical values of each pair.
  4. Compute the average of the sum (divide by 2).
  5. Convert the average back to a letter (1=A, 2=B, …, 26=Z).

Apply this method to the given ciphertext:

Ren tekst

1
oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz


Break down the ciphertext into pairs:

  1. 1. First word: “oyekaijzdf”
    1. Pairs: oy, ek, ai, jz, df
    2. Decoded letters:
      1. oy → (15+25)/2 = 20 → T
      2. ek → (5+11)/2 = 8 → H
      3. ai → (1+9)/2 = 5 → E
      4. jz → (10+26)/2 = 18 → R
    3. df → (4+6)/2 = 5 → E
    4. Decoded word: THERE
  2. Second word: “aaptcg”
    1. Pairs: aa, pt, cg
    2. Decoded letters:
      1. aa → (1+1)/2 = 1 → A
      2. pt → (16+20)/2 = 18 → R
      3. cg → (3+7)/2 = 5 → E
      4. Decoded word: ARE
  3. Third word: “suaokybhai”
    1. Pairs: su, ao, ky, bh, ai
    2. Decoded letters:
      1. su → (19+21)/2 = 20 → T
      2. ao → (1+15)/2 = 8 → H
      3. ky → (11+25)/2 = 18 → R
      4. bh → (2+8)/2 = 5 → E
      5. ai → (1+9)/2 = 5 → E
    3. Decoded word: THREE
  4. Fourth word: “ouow”
    1. Pairs: ou, ow
    2. Decoded letters:
      1. ou → (15+21)/2 = 18 → R
      2. ow → (15+23)/2 = 19 → S
    3. Decoded letters: R’S
  5. Fifth word: “aqht”
    1. Pairs: aq, ht
    2. Decoded letters:
      1. aq → (1+17)/2 = 9 → I
      2. ht → (8+20)/2 = 14 → N
    3. Decoded word: IN
  6. Sixth word: “mynznvaatzacdfoulxxz”
    1. Pairs: my, nz, nv, aa, tz, ac, df, ou, lx, xz
    2. Decoded letters:
      1. my → (13+25)/2 = 19 → S
      2. nz → (14+26)/2 = 20 → T
      3. nv → (14+22)/2 = 18 → R
      4. aa → (1+1)/2 = 1 → A
      5. tz → (20+26)/2 = 23 → W
      6. ac → (1+3)/2 = 2 → B
      7. df → (4+6)/2 = 5 → E
      8. ou → (15+21)/2 = 18 → R
      9. lx → (12+24)/2 = 18 → R
      10. xz → (24+26)/2 = 25 → Y
    3. Decoded word: STRAWBERRY

Final Decoded Message:

Ren tekst

1
THERE ARE THREE R'S IN STRAWBERRY


Answer:
THERE ARE THREE R’S IN STRAWBERRY

Koding

Vi lærte opp en modell som fikk 213 poeng og rangerte i 49. persentil i 2024 International Olympiad in Informatics (IOI), ved å starte fra o1 og lære den videre opp for å forbedre programmeringsferdighetene. Denne modellen konkurrerte i 2024 IOI under de samme betingelsene som de menneskelige konkurrentene. Den hadde ti timer til å løse seks utfordrende algoritmeproblemer og fikk 50 innsendelser per problem.

For hvert problem valgte systemet ut mange kandidatinnsendelser og sendte inn 50 av dem basert på en utvalgsstrategi med testtid. Innsendelser ble valgt basert på ytelse på offentlige testsaker i IOI og en lært poenggivningsfunksjon. Hvis vi i stedet hadde sendt inn tilfeldig, hadde vi bare fått 156 poeng i gjennomsnitt, noe som antyder at denne strategien var verdt nesten 60 poeng under konkurransebegrensningene.

Med en løs begrensning for innsending oppdaget vi at modellytelsen ble betydelig forbedret. Da vi fikk 10 000 innsendelser per problem, oppnådde modellen en poengsum på 362,14 – over terskelen for gullmedalje – selv uten en utvalgsstrategi med testtid.  

Til slutt simulerte vi programmeringskonkurranser der Codeforces var vertskap, for å demonstrere kodeferdighet. Evalueringene våre matcher konkurransereglene tett og tillot 10 innsendelser. GPT‑4o oppnådde en Elo-vurdering3 på 808, som er i den 11. persentilen av menneskelige konkurrenter. Denne modellen overgikk i stor grad både GPT‑4o og o1 – den oppnådde en Elo-vurdering på 1807, og presterte bedre enn 93 % av konkurrentene.

Bildet viser et stolpediagram som sammenligner persentilrangeringer for Codeforces Elo for forskjellige modeller. GPT-4o har 808 Elo (11. persentil), o1 preview har 1258 Elo (62. persentil), o1 har 1673 Elo (89. persentil), og o1-ioi har 1807 Elo (93. persentil).

Videre finjustering for programmeringskonkurranser forbedrer o1. Den forbedrede modellen rangerte i 49. persentil i 2024 International Olympiad in Informatics under konkurransereglene.

Evaluering av menneskelige preferanser

I tillegg til undersøkelser og akademiske referansemålinger evaluerte vi også menneskelig preferanse for o1‑preview mot GPT‑4o på utfordrende, åpne meldinger i et bredt spekter av domener. I denne evalueringen ble menneskelig instruktører vist anonymiserte svar på en melding fra o1‑preview og GPT‑4o, og stemte på svaret de foretrakk. o1‑preview foretrekkes foran gpt-4o med en stor margin i kategorier med mye resonnement som dataanalyse, koding og matte. Men o1‑preview foretrekkes ikke for noen oppgaver for naturlig språk, noe som antyder at den ikke er godt egnet for alle bruksområder.

Bildet viser et horisontalt stolpediagram som sammenligner poengsummene til fem modeller med feillinjer som representerer konfidensintervall. X-aksen går fra 0 til 100, med en stiplet linje som et referansepunkt for ytelse.

Sikkerhet

Resonnement i tankerekke gir nye muligheter for tilpasning og sikkerhet. Vi oppdaget at integrering av retningslinjene våre for modellatferd inn i tankerekken til en resonneringsmodell er en effektiv måte å lære menneskelige verdier og prinsipper på. Ved å lære modellen sikkerhetsreglene våre og hvordan den kan resonnere om dem i kontekst, fant vi bevis på resonneringfunksjonalitet som hadde direkte positiv påvirkning på modellrobustheten: o1‑preview oppnådde betydelig forbedret ytelse for viktige evalueringer av jailbreak og de vanskeligste interne referansemålingene våre for evaluering av modellens sikkerhetsgrenser for nektelse. Vi mener at bruk av en tankerekke gir betydelige fordeler for sikkerhet og tilpasning, fordi (1) det lar oss observere modellens tenking på en leselig måte, og (2) modellens resonnement om sikkerhetsregler er mer robust for scenarioer som ikke fanges opp.

For å stressteste forbedringene våre gjennomførte vi en rekke sikkerhetstester og red team-øvelser før implementering, i samsvar med beredskapsrammeverket(åpnes i et nytt vindu) vårt⁠. Vi fant at tankerekken bidro til forbedring av funksjonalitet i alle evalueringene. Det var spesielt bemerkelsesverdig at vi observerte interessante forekomster av belønningshacking(åpnes i et nytt vindu). De detaljerte resultatene fra disse evalueringene finnes i det tilhørende systemkortet.

MåleverdiGPT-4oo1-preview
% trygge svar etter skadelige spørsmål
Standard
0,9900,995
% trygge svar etter skadelige spørsmål
Utfordringstester: jailbreaker og grensetilfeller
0,7140,934
↳ Trakassering (alvorlig)0,8450,900
↳ Utnyttende seksuelt innhold0,4830,949
↳ Seksuelt innhold som involverer mindreårige0,7070,931
↳ Råd om ikke-voldelig forseelse0,6880,961
↳ Råd om voldelig forseelse0,7780,963
% trygge svar for topp 200 med høyeste Moderation API-poengsummer per kategori i WildChat
Zhao, et al. 2024
0,9450,971
Evaluering av Goodness@0.1 StrongREJECT jailbreak
Souly et al. 2024
0,2200,840
Evaluering av menneskeskapte jailbreaker0,7700,960
% overholdelse av interne, godartede grensetilfeller
«ikke overnektelse»
0,9100,930
% overholdelse av godartede grensetilfeller i XSTest
«ikke overnektelse»
Röttger, et al. 2023
0,9240,976

Skjule tankerekkene

Vi mener at en skjult tankerekke utgjør en unik mulighet til å overvåke modeller. Forutsatt at den er pålitelig og leselig, lar den skjulte tankerekken oss “lese tankene” til modellen og forstå tankeprosessen. I fremtiden kan vi for eksempel ønske å overvåke tankerekken for tegn på manipulering av brukeren. Men for at dette skal fungere, må modellen ha frihet til å uttrykke tankene sine i uendret form, så vi kan ikke lære opp overholdelse av retningslinjer eller brukerpreferanser i tankerekken. Vi vil også ikke gjøre en utilpasset tankerekke direkte synlig for brukere.

Derfor, etter å ha vurdert flere faktorer, inkludert brukeropplevelse, konkurransefortrinn og muligheten til å fortsette overvåkingen av tankerekken, har vi bestemt oss for å ikke vise de rå tankerekkene til brukere. Vi anerkjenner at denne avgjørelsen har ulemper. Vi forsøker å delvis gjøre opp for det ved å lære modellen til å reprodusere alle nyttige ideer fra tankerekken i svaret. For o1‑modellserien viste vi et modellgenerert sammendrag av tankerekken.

Konklusjon

o1 forbedrer toppmoderne AI-resonnement betydelig. Vi planlegger å lansere forbedrede versjoner av denne modellen når vi fortsetter itereringen. Vi forventer at disse nye resonneringsfunksjonalitetene kommer til å forbedre evnen vår til å tilpasse modeller etter menneskelige verdier og prinsipper. Vi mener at o1 – og etterfølgerne – kommer til å låse opp nye bruksområder for AI i vitenskap, koding, matte og relaterte områder. Vi er begeistret for at brukere og API-utviklere kommer til å oppdage hvordan den kan forbedre det daglige arbeidet deres.

Vedlegg A

DatasettMåleverdigpt-4oo1-previewo1
Konkurransematematikk
AIME (2024)
cons@6413,456,783,3
pass@19,344,674,4
Konkurransekode
CodeForces
Elo8081 2581 673
Prosentil11,062,089,0
GPQA Diamondcons@6456,178,378,0
pass@150,673,377,3
Biologicons@6463,273,768,4
pass@161,665,969,2
Kjemicons@6443,060,265,6
pass@140,259,964,7
Fysikkcons@6468,689,594,2
pass@159,589,492,8
MATHpass@160,385,594,8
MMLUpass@188,092,390,8
MMMU (val)pass@169,1Ikke aktuelt78,2
MathVista (testmini)pass@163,8Ikke aktuelt73,9