Przejdź do treści głównej
OpenAI

12 września 2024

Wersja

Nauka rozumowania z użyciem modeli LLM

Przedstawiamy OpenAI o1 — nowy duży model językowy wytrenowany metodą uczenia przez wzmacnianie. o1 przed udzieleniem odpowiedzi na pytanie użytkownika przeprowadza złożone rozumowanie. Zanim odpowie, myśli i może stworzyć długi wewnętrzny łańcuch myśli.

Ładowanie…

Model o1 firmy OpenAI plasuje się na 89. percentylu w pytaniach z zawodów w programowaniu (Codeforces), plasuje się wśród 500 najlepszych uczniów w USA w kwalifikacjach do Olimpiady Matematycznej w USA (AIME) i przewyższa poziom dokładności człowieka wymagany na poziomie doktoratu w testach rozwiązywania problemów z zakresu fizyki, biologii i chemii (GPQA). Chociaż wciąż trwają prace nad zapewnieniem tak łatwego korzystania z tego modelu, jak w przypadku obecnych modeli, udostępniamy jego wczesną wersję, OpenAI o1‑preview. Już teraz mogą z niej korzystać użytkownicy ChatGPT i korzystający z interfejsów API (zaufani użytkownicy)(otwiera nowe okno).

Nasz algorytm uczenia przez wzmacnianie na dużą skalę uczy model skutecznego myślenia przy użyciu łańcucha myśli, stosując proces trenowania wymagający małej ilości danych. Odkryliśmy, że wyniki modelu o1 stale poprawiają się wraz z rosnącym zakresem zastosowania uczenia przez wzmacnianie (nakład obliczeniowy dla treningu), a także wraz z dłuższym czasem myślenia (nakład obliczeniowy dla testów). Ograniczenia dotyczące skalowania tego podejścia znacznie różnią się od ograniczeń dotyczących wstępnego trenowania modeli LLM i nadal je badamy.

Obraz przedstawia dwa wykresy punktowe porównujące „dokładność o1 AIME” podczas treningu i w czasie testów. Oba wykresy mają „dokładność pass@1” na osi Y i nakład obliczeniowy (w skali logarytmicznej) na osi X. Kropki wskazują wzrost dokładności wraz ze wzrostem nakładu obliczeniowego.

Wyniki o1 płynnie rosną wraz z nakładem obliczeniowym dla treningu i testów

Oceny

Aby uwydatnić poprawę rozumowania w stosunku do modelu GPT‑4o, przetestowaliśmy nasze modele przy użyciu zestawu różnych egzaminów dla ludzi i testów porównawczych ML. Wykazaliśmy, że model o1 znacznie przewyższa GPT‑4o w większości zadań wymagających intensywnego rozumowania. O ile nie określono inaczej, ocenę modelu o1 przeprowadziliśmy przy ustawieniu maksymalnego nakładu obliczeniowego dla testów.

o1 osiąga znacznie lepsze wyniki w porównaniu do GPT-4o w trudnych benchmarkach sprawdzających rozumowanie. Pełne kreski wskazują dokładność na poziomie pass@1, a zacieniony obszar wskazuje skuteczność głosu większości (konsensusu) dla 64 próbek.
o1 osiąga lepsze wyniki w porównaniu do GPT-4o w różnorodnych benchmarkach, w 54/57 kategorii MMLU Siedem przedstawiono do celów ilustracyjnych.

W wielu testach porównawczych wymagających intensywnego rozumowania model o1 dorównuje w wynikach ludziom będącym ekspertami. Najnowsze pionierskie modele1 osiągają tak dobre wyniki w testach MATH2 i GSM8K, że testy porównawcze nie umożliwiają już odróżnienia modeli. Oceny dotyczące matematyki przeprowadziliśmy przy użyciu egzaminu AIME przeznaczonego dla najzdolniejszych uczniów szkół średnich w Ameryce. W egzaminach AIME 2024 model GPT‑4o rozwiązał średnio tylko 12% (1,8/15) problemów. Model o1 miał średnią 74% (11,1/15) przy jednej próbce na problem, 83% (12,5/15) przy konsensusie 64 próbek i 93% (13,9/15) przy ponownym rankingu 1000 próbek przy użyciu wytrenowanej funkcji punktacji. Wynik 13,9 plasuje go wśród 500 najlepszych uczniów w kraju i powyżej progu kwalifikacyjnego do Olimpiady Matematycznej w USA.

Przeprowadziliśmy również ocenę o1 przy użyciu GPQA diamond, trudnego testu porównawczego sprawdzającego wiedzę z zakresu chemii, fizyki i biologii. Aby porównać modele z ludźmi, zatrudniliśmy ekspertów z tytułem doktora, którzy odpowiadali na pytania z testu GPQA-diamond. Odkryliśmy, że o1 miał lepsze wyniki od tych ekspertów. To pierwszy model, który osiągnął takie wyniki w tym teście porównawczym. Wyniki te nie sugerują, że model o1 jest pod każdym względem lepszy od osoby z tytułem doktora — wskazują jedynie, że model ten radzi sobie lepiej w rozwiązywaniu niektórych problemów, których rozwiązania oczekuje się od osoby z tytułem doktora. W kilku innych testach porównawczych ML model o1 osiągnął lepsze wyniki niż najnowocześniejsze do tej pory rozwiązania. Przy włączonych zdolnościach przetwarzania informacji wizualnych model o1 uzyskał wynik 78,2% w teście MMMU, stając się pierwszym modelem, który może konkurować z ludźmi posiadającymi wiedzę ekspercką. Osiągnął również lepsze wyniki niż model GPT‑4o w 54 z 57 podkategorii MMLU.

Łańcuch myśli

Model o1 używa łańcucha myśli, próbując rozwiązać problem — podobnie jak człowiek myślący przez dłuższy czas nad odpowiedzią na trudne pytanie. Model o1 uczy się doskonalić swój łańcuch myśli i ulepszać stosowane przez niego strategie przy użyciu uczenia przez wzmacnianie. Uczy się w ten sposób rozpoznawać i poprawiać swoje błędy. Dzielić trudne kroki na prostsze. Próbować zastosować inne podejście, gdy obecne się nie sprawdza. Znacznie poprawia to zdolność modelu do rozumowania. Aby zilustrować uzyskany dzięki temu znaczny postęp, poniżej przedstawiamy łańcuch myśli modelu o1‑preview dotyczący kilku trudnych problemów.

GPT-4o

Użytkownik

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

Użytkownik

oyfjdnisdr rtqwainr acxz mynzbhhx -> Think step by step

Use the example above to decode:

oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz

Myślał przez 5 s

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:

Zwykły tekst

1
oyfjdnisdr rtqwainr acxz mynzbhhx


Decoded as:

Zwykły 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:

Zwykły 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:

Zwykły tekst

1
THERE ARE THREE R'S IN STRAWBERRY


Answer:
THERE ARE THREE R’S IN STRAWBERRY

Programowanie

Wytrenowaliśmy model, który uzyskał 213 punktów i uplasował się na 49. percentylu podczas Międzynarodowej Olimpiady Informatycznej (International Olympiad in Informatics, IOI) w 2024 r., zaczynając od poziomu o1 i przeprowadzając dalsze trenowanie w celu poprawy zdolności programowania. Model ten wziął udział w IOI 2024 na takich samych warunkach jak ludzie. Miał dziesięć godzin na rozwiązanie sześciu trudnych zadań algorytmicznych i mógł zgłosić 50 odpowiedzi na każdy problem.

W przypadku każdego problemu nasz system próbkował wiele potencjalnych zgłoszeń i przesyłał 50 z nich na podstawie strategi selekcji w czasie testu. Zgłoszenia wybierano na podstawie wyników uzyskanych w publicznych testach IOI, testach wygenerowanych przez model oraz na podstawie wytrenowanej funkcji punktacji. Gdyby zamiast tego zgłoszenia były przesyłane losowo, średni wynik wynosiłby tylko 156 punktów, co sugeruje, że strategia ta pozwoliła uzyskać prawie 60 punktów więcej w warunkach konkursu.

Przy złagodzonych ograniczeniach dotyczących zgłoszeń stwierdziliśmy, że wyniki modelu znacznie się poprawiły. Przy 10 000 zgłoszeń na problem model osiągnął wynik 362,14 — przekraczający próg złotego medalu — nawet bez strategii selekcji podczas testów.  

Wreszcie przeprowadziliśmy symulację zawodów w programowaniu organizowanych przez Codeforces, aby zademonstrować zdolności tego modelu dotyczące programowania. Nasze oceny były bardzo zbliżone do zasad zawodów i pozwalały na 10 zgłoszeń. Model GPT‑4o osiągnął ranking Elo3 wynoszący 808, co plasuje go na 11. percentylu wśród konkurentów ludzi. Wynik modelu znacznie przewyższył zarówno model GPT‑4o, jak i o1 — osiągnął ranking Elo wynoszący 1807, uzyskując wyniki lepsze niż 93% konkurentów.

Wykres słupkowy przedstawiający porównanie rankingów percentylów Codeforces Elo dla różnych modeli. Model GPT-4o osiągnął ranking Elo wynoszący 808 (11. percentyl), o1 preview osiągnął ranking Elo wynoszący 1258 (62. percentyl), o1 osiągnął ranking Elo wynoszący 1673 (89. percentyl), a o1-ioi osiągnął ranking Elo wynoszący 1807 (93. percentyl).

Dalsza konfiguracja precyzyjna zawodów w programowaniu zwiększa zdolności modelu o1. Ulepszony model uplasował się na 49. percentylu w Międzynarodowej Olimpiadzie Informatycznej w 2024 r. zgodnie z zasadami konkursu.

Ocena oparta na preferencjach człowieka

Oprócz egzaminów i akademickich testów porównawczych przeprowadziliśmy również ocenę opartą na preferencjach człowieka, w ramach której porównaliśmy model o1‑preview z modelem GPT‑4o, stosując trudne, otwarte polecenia z szerokiego zakresu dziedzin. W ramach tej oceny trenerzy otrzymali anonimowe odpowiedzi na polecenie z modelu o1‑preview i GPT‑4o. Następnie musieli wybrać preferowaną przez nich odpowiedź. Model o1‑preview osiąga zdecydowanie lepsze wyniki niż model gpt-4o w kategoriach wymagających intensywnego rozumowania, takich jak analiza danych, programowanie i matematyka. Jednak model o1‑preview nie jest preferowany w przypadku niektórych zadań dotyczących języka naturalnego, co sugeruje, że nie sprawdzi się on do wszystkich zastosowań.

Obraz przedstawia wykres słupkowy z porównaniem wyniku pięciu modeli z poziomymi słupkami błędów reprezentującymi przedziały ufności. Oś x ma zakres od 0 do 100, a linia przerywana stanowi punkt odniesienia dla wyników.

Bezpieczeństwo

Rozumowanie oparte na łańcuchu myśli stwarza nowe możliwości w zakresie zgodności i bezpieczeństwa. Odkryliśmy, że zintegrowanie naszych zasad dotyczących zachowania modelu z łańcuchem myśli modelu rozumowania to skuteczny sposób na niezawodne przekazanie wartości i zasad człowieka. Ucząc model naszych zasad bezpieczeństwa i sposobu rozumowania na ich temat w kontekście, znaleźliśmy dowody na to, że zdolność rozumowania bezpośrednio wpływa na niezawodność modelu: o1‑preview osiągnął znacznie lepsze wyniki w najważniejszych ocenach obejścia zabezpieczeń oraz w naszych najtrudniejszych wewnętrznych testach porównawczych służących do oceny granic odmawiania odpowiedzi ze względów bezpieczeństwa. Uważamy, że stosowanie łańcucha myśli znacznie poprawia bezpieczeństwo i zgodność, ponieważ (1) umożliwia nam obserwowanie myślenia modelu w czytelny sposób, a (2) rozumowanie modelu dotyczące zasad bezpieczeństwa jest odporniejsze na scenariusze spoza rozkładu.

Aby przetestować nasze ulepszenia, przed wdrożeniem przeprowadziliśmy serię testów bezpieczeństwa i testów z pomocą zespołu czerwonego zgodnie z naszymi⁠ Ramami gotowości(otwiera nowe okno)⁠. Okazało się, że rozumowanie z użyciem łańcucha myśli przyniosło poprawę zdolności we wszystkich naszych ocenach. Na szczególną uwagę zasługują interesujące przypadki hakowania nagrody(otwiera nowe okno). Szczegółowe rezultaty tych ocen publikujemy w dołączonej karcie systemu.

SkalaGPT-4oo1-preview
% bezpiecznych odpowiedzi w przypadku szkodliwych poleceń
Standardowe
0,9900,995
% bezpiecznych odpowiedzi w przypadku szkodliwych poleceń
Trudne: obejścia zabezpieczeń i skrajne przypadki
0,7140,934
↳ Nękanie (poważne)0,8450,900
↳ Treści o charakterze seksualnym oparte na wykorzystaniu osób0,4830,949
↳ Treści o charakterze seksualnym z udziałem osób niepełnoletnich0,7070,931
↳ Informacja dotyczące niewłaściwego postępowania bez użycia przemocy0,6880,961
↳ Informacja dotyczące niewłaściwego postępowania z użyciem przemocy0,7780,963
% bezpiecznych odpowiedzi w przypadku 200 najlepszych wyników Moderation API dla kategorii w WildChat
Zhao, et al. 2024
0,9450,971
Ocena obejścia zabezpieczeń Goodness@0.1 StrongREJECT
Souly et al. 2024
0,2200,840
Obejścia zabezpieczeń stworzone przez ludzi0,7700,960
% Zgodność dotycząca wewnętrznych nieszkodliwych skrajnych przypadków
“not over-refusal”
0,9100,930
% Zgodność w przypadku nieszkodliwych skrajnych przypadków w XSTest
“not over-refusal”
Röttger, et al. 2023
0,9240,976

Ukrywanie łańcuchów myśli

Uważamy, że ukryty łańcuch myśli stwarza wyjątkową okazję do monitorowania modeli. Zakładając, że jest on wierny i czytelny, ukryty łańcuch myśli pozwala nam „czytać w myślach” modelu i zrozumieć jego proces myślowy. Na przykład w przyszłości możemy chcieć monitorować łańcuch myśli pod kątem prób manipulowania użytkownikiem. Aby jednak było to możliwe, model musi mieć swobodę wyrażania swoich myśli w niezmienionej formie, dlatego nie możemy przeprowadzać żadnego treningu egzekwującego zgodność z zasadami lub preferencje użytkownika w łańcuchu myśli. Nie chcemy również, aby niezgodny łańcuch myśli był widoczny bezpośrednio dla użytkowników.

W związku z tym po rozważeniu wielu czynników, w tym doświadczenia użytkowników, przewagi konkurencyjnej i możliwości monitorowania łańcucha myśli, zdecydowaliśmy się nie pokazywać użytkownikom nieprzetworzonych łańcuchów myśli. Zdajemy sobie sprawę, że ta decyzja ma swoje wady. Staramy się częściowo to zrekompensować, ucząc model odtwarzania wszelkich przydatnych pomysłów z łańcucha myśli w odpowiedzi. W przypadku serii modeli o1 pokazujemy wygenerowane przez model podsumowanie łańcucha myśli.

Podsumowanie

o1 to duży krok naprzód w dziedzinie nowatorskiego rozumowania AI. Planujemy wydawać ulepszone wersje tego modelu wraz z kolejnymi iteracjami. Oczekujemy, że nowe zdolności rozumowania poprawią zgodność modeli z ludzkimi wartościami i zasadami. Wierzymy, że model o1 — i jego następcy — umożliwią wiele nowych zastosowań AI w nauce, programowaniu, matematyce i dziedzinach pokrewnych. Cieszymy się, że użytkownicy i programiści korzystający z interfejsów API będą mogli odkryć sposoby, w jakie ten model może usprawnić ich codzienną pracę.

Załącznik A

Zestaw danychMetrykagpt-4oo1-previewo1
Konkurs matematyczny
AIME (2024)
cons@6413,456,783,3
pass@19,344,674,4
Zawody w programowaniu
CodeForces
Elo80812581673
Percentyl11,062,089,0
GPQA Diamondcons@6456,178,378,0
pass@150,673,377,3
Biologiacons@6463,273,768,4
pass@161,665,969,2
Chemiacons@6443,060,265,6
pass@140,259,964,7
Fizykacons@6468,689,594,2
pass@159,589,492,8
MATHpass@160,385,594,8
MMLUpass@188,092,390,8
MMMU (val)pass@169,1Nie dot.78,2
MathVista (testmini)pass@163,8Nie dot.73,9