Pular para o conteúdo principal
OpenAI

12 de setembro de 2024

Lançamento

Reflexão com LLMs: como funciona?

Apresentamos o OpenAI o1, um novo modelo de linguagem de grande porte treinado com aprendizagem por reforço. Ele é capaz de realizar reflexões complexas e pensa antes de responder, produzindo uma longa cadeia interna de pensamentos.

Carregando…

O OpenAI o1 classificou-se no percentil 89 em perguntas de programação competitiva (Codeforces), ficou entre os 500 melhores alunos dos EUA em uma qualificação para a Olimpíada Nacional de Matemática (AIME) e superou a precisão de humanos em nível de doutorado durante testes de referência para física, biologia e química (GPQA). Ainda estamos trabalhando para que este modelo seja tão fácil de usar quanto os modelos atuais. Enquanto isso, lançamos uma versão inicial do modelo: uma prévia do OpenAI o1, disponível para uso imediato no ChatGPT. Ela está disponível para usuários confiáveis da API(abre em uma nova janela).

Nosso algoritmo de aprendizagem por reforço em grande escala usa a cadeia de pensamento para ensinar o modelo a pensar de forma produtiva, criando assim um processo de treinamento altamente eficiente em termos de dados. Constatamos que o desempenho do o1 melhora de modo consistente quando ele recebe mais aprendizagem por reforço (computação em tempo de treinamento) e mais tempo dedicado ao raciocínio (computação em tempo de teste). As restrições à ampliação dessa abordagem diferem (e muito) daquelas usadas no pré-treinamento de LLMs, mas nós continuamos a investigá-las.

A imagem mostra dois gráficos de dispersão comparando a “precisão do o1 no AIME” durante o treinamento e no momento do teste. Ambos os gráficos têm “precisão de pass@1” no eixo y e computação (escala logarítmica) no eixo x. Os pontos indicam maior precisão com mais tempo de computação.

O desempenho do o1 melhora gradualmente conforme o tempo de treinamento e o tempo de computação de teste.

Evals

Para destacar a melhoria na reflexão em relação ao GPT‑4o, testamos nossos modelos em um conjunto diversificado de exames humanos e benchmarks de ML. Foi assim que mostramos que o o1 supera significativamente o GPT‑4o na grande maioria de tarefas que exigem muita reflexão. Salvo indicação contrária, avaliamos o o1 na configuração máxima do tempo de teste de computação.

o1 melhora significativamente o GPT-4o em benchmarks desafiadores de reflexão. As barras sólidas mostram a precisão de acerto na primeira tentativa, enquanto a região sombreada mostra o desempenho da votação majoritária (consenso) com 64 amostras.
O o1 supera o GPT-4o em uma ampla gama de benchmarks, incluindo 54/57 subcategorias de MMLU. Sete são exibidos para fins de ilustração.

Em muitos benchmarks exigentes em termos de reflexão, o o1 fica no mesmo patamar que o desempenho de especialistas humanos. Os modelos de ponta mais recentes1, por sua vez, apresentam um desempenho tão bom no MATH2 e no GSM8K que esses benchmarks não são mais eficazes para diferenciar modelos. Avaliamos o desempenho em matemática no AIME, um exame concebido para desafiar os alunos de matemática mais brilhantes do ensino secundário dos Estados Unidos. Nos exames AIME de 2024, o GPT‑4o resolveu em média apenas 12% (1,8/15) dos problemas. Já o o1 teve uma média de 74% (11,1/15) com uma única amostra por problema, 83% (12,5/15) com consenso entre 64 amostras e 93% (13,9/15) quando re-classificamos 1.000 amostras por meio de uma função de pontuação aprendida. Esta última pontuação, de 13,9, coloca o o1 entre os 500 melhores alunos do país — e, além disso, faz com que ele esteja acima do limite mínimo para participar da Olimpíada de Matemática dos EUA.

Também avaliamos o o1 no GPQA-diamond, um difícil benchmark de inteligência que testa conhecimentos especializados em química, física e biologia. Para fazer uma comparação entre os modelos e seres humanos, recrutamos especialistas com doutorado para responder às perguntas do GPQA-diamond. Constatamos que o o1 superou o desempenho desses especialistas humanos, o que faz dele o primeiro modelo a conseguir isso nesse benchmark. Esses resultados não significam que o1 seja mais capaz do que uma pessoa com doutorado; significa apenas que o modelo é mais eficiente na resolução de alguns problemas que, normalmente, uma pessoa com essa titulação nessa área conseguiria responder. Em vários outros benchmarks de ML, o o1 superou o que há de mais avançado no mercado. Com suas capacidades de percepção visual ativadas, o o1 obteve uma pontuação de 78,2% no MMMU, tornando-se o primeiro modelo a competir diretamente com especialistas humanos. Ele também superou o GPT‑4o em 54 das 57 subcategorias do MMLU.

Cadeia de pensamentos

Assim como um ser humano fica pensando por um bom tempo antes de responder a uma pergunta difícil, o o1 usa uma cadeia de pensamentos na hora de tentar resolver um problema. Graças ao recurso de aprendizagem por reforço, o o1 aprende a aperfeiçoar sua cadeia de pensamento e refinar as estratégias que ele utiliza. Ele também aprende a reconhecer e corrigir seus erros e, além disso, a dividir etapas complexas em etapas mais simples. Outra coisa que ele aprende é tentar uma abordagem diferente quando a atual não estiver dando certo. Esse processo melhora demais a capacidade de reflexão do modelo. Para ilustrar esse avanço, apresentamos abaixo a cadeia de raciocínio do o1‑preview, que tenta lidar com vários problemas difíceis em uma única interação.

GPT-4o

Usuário

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

Usuário

oyfjdnisdr rtqwainr acxz mynzbhhx -> Think step by step

Use the example above to decode:

oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz

Pensou por 5 segundos

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:

Texto simples

1
oyfjdnisdr rtqwainr acxz mynzbhhx


Decoded as:

Texto simples

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:

Texto simples

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:

Texto simples

1
THERE ARE THREE R'S IN STRAWBERRY


Answer:
THERE ARE THREE R’S IN STRAWBERRY

Programação

Treinamos um modelo que obteve 213 pontos e ficou classificado no 49º percentil na Olimpíada Internacional de Informática (IOI) de 2024. Para isso, inicializamos a partir do o1 e treinamos para melhorar ainda mais as habilidades de programação. Este modelo competiu na IOI de 2024, e nas mesmas condições que os concorrentes humanos. Ou seja: ele tinha dez horas para resolver seis problemas algorítmicos desafiadores e podia enviar 50 respostas por problema.

Para cada problema, nosso sistema selecionou várias respostas e enviou 50 delas com base em uma estratégia de seleção no momento do teste. Essas respostas foram selecionados com base no desempenho nos casos de teste públicos da IOI, nos casos de teste gerados pelo modelo e em uma função de pontuação aprendida. Se tivéssemos enviado aleatoriamente, teríamos obtido apenas 156 pontos em média, o que significa que essa estratégia nos rendeu quase 60 pontos mesmo diante das restrições de uma competição.

Quando adotamos parâmetros mais flexíveis de submissão, notamos uma melhoria significativa no desempenho do modelo. Ao receber a permissão para 10.000 envios por problema, o modelo alcançou uma pontuação de 362,14 (acima do limite para a medalha de ouro) mesmo sem contar com nenhuma estratégia de seleção no momento do teste.  

Por fim, simulamos competições de programação competitiva organizadas pela Codeforces, com o objetivo de demonstrar a habilidade de programação do modelo. Nossas avaliações seguiram rigorosamente as regras da competição e permitiam apenas 10 envios. O GPT‑4o alcançou uma classificação Elo3 de 808, que está no 11º percentil dos competidores humanos. Esse modelo superou em muito o GPT‑4o e o o1, alcançando uma classificação Elo de 1.807, com desempenho superior a 93% dos concorrentes.

A imagem mostra um gráfico de barras comparando as classificações percentuais Elo da Codeforces para diferentes modelos. O GPT-4o tem um Elo de 808 (11º percentil), o o1 preview tem um Elo de 1.258 (62º percentil), o o1 tem um Elo de 1.673 (89º percentil) e o1-ioi tem um Elo de 1.807 (93º percentil).

Um ajuste mais preciso nas competições de programação melhora ainda mais o o1. O modelo aprimorado ficou classificado no 49º percentil na Olimpíada Internacional de Informática de 2024, de acordo com as regras da competição.

Avaliação da preferência humana

Além dos exames e dos parâmetros acadêmicos, também avaliamos a preferência humana do o1‑preview em relação ao GPT‑4o em prompts desafiadores e abertos em um amplo espectro de domínios. Nessa avaliação, instrutores humanos receberam respostas anônimas a um prompt do o1‑preview e do GPT‑4o e votaram na resposta que preferiram. Entre o gpt-4o e o o1‑preview, este último foi a opção mais popular em uma grande margem em categorias que exigem muita reflexão, como análise de dados, codificação e matemática. No entanto, o1‑preview não teve o mesmo desempenho em algumas tarefas de linguagem natural, o que pode sugerir que ele não é adequado para todos os casos de uso.

A imagem mostra um gráfico de barras horizontais comparando as pontuações de cinco modelos com barras de erros, que representam intervalos de confiança. O eixo x varia de 0 a 100, com uma linha tracejada como ponto de referência para o desempenho.

Segurança

A reflexão em cadeia de pensamentos oferece novas oportunidades de alinhamento e segurança. Descobrimos que integrar nossas políticas de comportamento do modelo à cadeia de pensamentos de um modelo de raciocínio é uma maneira muito eficiente de ensinar valores e princípios humanos — e fazer isso de maneira robusta. Ao ensinar ao modelo nossas regras de segurança e, além disso, maneiras de refletir sobre elas dentro do contexto, encontramos evidências de que a capacidade de reflexão beneficia diretamente a robustez do modelo: o o1‑preview alcançou um desempenho substancialmente melhor nas principais avaliações de jailbreak e em nossos benchmarks internos mais difíceis, projetados para avaliar os limites de recusa de segurança do nosso modelo. Acreditamos que o uso de uma cadeia de pensamentos oferece avanços significativos para a segurança e o alinhamento porque (1) nos permite observar o modelo de pensamento de forma legível e (2) a reflexão do modelo sobre as regras de segurança é mais robusta para cenários fora da distribuição.

Para testar nossas melhorias, fizemos uma série de testes de segurança e testes ofensivos antes do lançamento, seguindo nosso Framework de prontidão(abre em uma nova janela). Constatamos que a reflexão em cadeia de pensamentos contribuiu para melhorar as capacidades em todas as nossas avaliações. É importante destacar que observamos casos interessantes de hacking de recompensas(abre em uma nova janela). Os resultados detalhados dessas avaliações podem ser encontrados no Cartão do sistema que acompanha este documento.

MétricaGPT-4oo1-preview
% de conclusões seguras em prompts prejudiciais
Padrão
0,9900,995
% de conclusões seguras em prompts prejudiciais
Desafiador: jailbreaks e casos extremos
0,7140,934
↳ Assédio (grave)0,8450,900
↳ Conteúdo sexual exploratório0,4830,949
↳ Conteúdo sexual envolvendo menores0,7070,931
↳ Conselhos sobre infrações não violentas0,6880,961
↳ Conselhos sobre infrações violentas0,7780,963
% de conclusões seguras para os 200 melhores com as pontuações mais altas da API de moderação por categoria no WildChat
Zhao, et al. 2024
0,9450,971
Avaliação de jailbreak Goodness@0.1 StrongREJECT
Souly et al. 2024
0,2200,840
Avaliação de jailbreak de origem humana0,7700,960
% de conformidade em casos extremos benignos internos
“sem recusa excessiva”
0,9100,930
% de conformidade em casos extremos benignos em XSTest
“sem recusa excessiva”
Röttger, et al. 2023
0,9240,976

Ocultando as cadeias de pensamentos

Acreditamos que uma cadeia de pensamentos oculta representa uma oportunidade única para o monitoramento de modelos. Supondo que ela seja fiel e legível, a cadeia de pensamentos oculta nos permite “ler a mente” do modelo e compreender seu processo de pensamento. Por exemplo: no futuro, é possível que nossas equipes tomem a decisão de monitorar a cadeia de pensamentos em busca de sinais de manipulação do usuário. Porém, para que isso funcione, o modelo deverá ter liberdade para expressar seus pensamentos de forma inalterada — e isso, portanto, significa que não poderemos treinar nenhuma conformidade com políticas ou preferências do usuário na cadeia de pensamentos. Também não queremos deixar visível para os usuários uma cadeia de pensamentos que está desalinhada.

Portanto, após ponderar vários fatores, incluindo a experiência do usuário, a vantagem competitiva e a opção de monitorar a cadeia de pensamentos, decidimos não mostrar as cadeias de pensamentos brutas aos usuários. Reconhecemos que essa decisão tem suas desvantagens. Estamos tentando compensar essa situação, ainda que de modo parcial — tanto que estamos ensinando o modelo a reproduzir quaisquer ideias úteis da cadeia de pensamentos na resposta. Para a série de modelos o1, mostramos um resumo da cadeia de pensamentos gerado pelo modelo.

Conclusão

O o1 representa um avanço significativo para a vanguarda das reflexões com IA. Planejamos lançar versões aprimoradas desse modelo à medida que continuarmos as iterações. Esperamos que essas novas capacidades de reflexão melhorem a nossa própria capacidade de alinhar os modelos aos valores e princípios humanos. Acreditamos que o o1, bem como seus sucessores, abrirão muitas novas possibilidades para o uso da IA na ciência, programação, matemática e áreas relacionadas. Também queremos que os usuários e desenvolvedores de APIs usem essa novidade, pois há um potencial de otimizar o trabalho diário.

Apêndice A

Conjunto de dadosMétricagpt-4oo1-previewo1
Matemática competitiva
AIME (2024)
cons@6413,456,783,3
pass@19,344,674,4
Código competitivo
CodeForces
Elo8081.2581.673
Percentil11,062,089,0
GPQA Diamondcons@6456,178,378,0
pass@150,673,377,3
Biologiacons@6463,273,768,4
pass@161,665,969,2
Químicacons@6443,060,265,6
pass@140,259,964,7
Físicacons@6468,689,594,2
pass@159,589,492,8
MATHpass@160,385,594,8
MMLUpass@188,092,390,8
MMMU (val)pass@169,1n/a78,2
MathVista (testmini)pass@163,8n/a73,9