1 of 48

Objetivos

  1. Para que serve machine learning?
  2. Como redes neurais funcionam?
  3. O que são LLMs?

2 of 48

O que é machine learning? | Funções

3 of 48

O que é machine learning? | Funções

  • Mercado Financeiro
  • Clima
  • Vendas
  • Linguagem

4 of 48

Qual o objetivo? | Aproximar funções

  • Uma vez tendo dados de fenômenos passados, encontrar uma aproximação para uma função que descreve o comportamento d

5 of 48

Tipos de Aprendizado

Supervised

Learning

Unsupervised Learning

Reinforcement

Learning

6 of 48

O que são Redes Neurais? | Exemplo

Probabilidade de sair de casa no final de semana para ir em algum local.

  • Temperatura
  • Probabilidade de Chuva
  • Distância de transporte público

7 of 48

O que são Redes Neurais? | Neurônio

f(x)

Temperatura (x1)

Possibilidade

de Chuva (x2)

Distância de

transporte público (x3)

Probabilidade de sair (y)

8 of 48

O que são Redes Neurais? | Neurônio

f(x)

Temperatura (x1)

Possibilidade

de Chuva (x2)

Distância de

transporte publico (x3)

Probabilidade de sair (y)

w1

w2

w3

9 of 48

O que são Redes Neurais? | Aprendizado

f(x)

Temperatura (x1)

Possibilidade

de Chuva (x2)

Distância de

transporte publico (x3)

Probabilidade de sair (y)

w1

w2

w3

  1. x1= 23oC x2 = 20% x3 = 100m => y = 96%
  2. x1= 10oC x2 = 40% x3 = 1000m => y = 26%
  3. x1= -1oC x2 = 5% x3 = 50m => y = 2%
  4. x1= 18oC x2 = 85% x3 = 10m => y = 64%

10 of 48

O que são Redes Neurais? | Aprendizado

f(x)

23oC

20%

100m

w1

w2

w3

  1. x1= 23oC x2 = 20% x3 = 100m => y = 96%
  2. x1= 10oC x2 = 40% x3 = 1000m => y = 26%
  3. x1= -1oC x2 = 5% x3 = 50m => y = 2%
  4. x1= 18oC x2 = 85% x3 = 10m => y = 64%

53%

11 of 48

O que são Redes Neurais? | Aprendizado

f(x)

23oC

20%

100m

w1

w2

w3

  1. x1= 23oC x2 = 20% x3 = 100m => y = 96%
  2. x1= 10oC x2 = 40% x3 = 1000m => y = 26%
  3. x1= -1oC x2 = 5% x3 = 50m => y = 2%
  4. x1= 18oC x2 = 85% x3 = 10m => y = 64%

53%

96%

12 of 48

O que são Redes Neurais? | Aprendizado

f(x)

23oC

20%

100m

w1

w2

w3

  1. x1= 23oC x2 = 20% x3 = 100m => y = 96%
  2. x1= 10oC x2 = 40% x3 = 1000m => y = 26%
  3. x1= -1oC x2 = 5% x3 = 50m => y = 2%
  4. x1= 18oC x2 = 85% x3 = 10m => y = 64%

Erro(96%, 53%)

Atualização de pesos baseado no erro.

13 of 48

O que são Redes Neurais? | Aprendizado

f(x)

23oC

20%

100m

w1

w2

w3

  1. x1= 23oC x2 = 20% x3 = 100m => y = 96%
  2. x1= 10oC x2 = 40% x3 = 1000m => y = 26%
  3. x1= -1oC x2 = 5% x3 = 50m => y = 2%
  4. x1= 18oC x2 = 85% x3 = 10m => y = 64%

Erro(96%, 79%)

Atualização de pesos baseado no erro.

14 of 48

O que são Redes Neurais? | Aprendizado

f(x)

23oC

20%

100m

w1

w2

w3

  1. x1= 23oC x2 = 20% x3 = 100m => y = 96%
  2. x1= 10oC x2 = 40% x3 = 1000m => y = 26%
  3. x1= -1oC x2 = 5% x3 = 50m => y = 2%
  4. x1= 18oC x2 = 85% x3 = 10m => y = 64%

Erro(96%, 94%)

Atualização de pesos baseado no erro.

15 of 48

O que são Redes Neurais? | Aprendizado

f(x)

23oC

20%

100m

w1

w2

w3

  1. x1= 23oC x2 = 20% x3 = 100m => y = 96%
  2. x1= 10oC x2 = 40% x3 = 1000m => y = 26%
  3. x1= -1oC x2 = 5% x3 = 50m => y = 2%
  4. x1= 18oC x2 = 85% x3 = 10m => y = 64%

Erro(96%, 96%) = 0

16 of 48

O que são Redes Neurais? | Aprendizado

f(x)

Temperatura (x1)

Possibilidade

de Chuva (x2)

Distância de

transporte publico (x3)

Probabilidade de sair (y)

w1

w2

w3

  1. x1= 23oC x2 = 20% x3 = 100m => y = 96%
  2. x1= 10oC x2 = 40% x3 = 1000m => y = 26%
  3. x1= -1oC x2 = 5% x3 = 50m => y = 2%
  4. x1= 18oC x2 = 85% x3 = 10m => y = 64%

Ajuste de pesos

Aproxima a função que descreve o comportamento a partir do ajuste de pesos da rede.

17 of 48

Como captar mais detalhes? | Adicionando Neurônios

f2(x)

Temperatura (x1)

Possibilidade

de Chuva (x2)

Distância de

transporte publico (x3)

f3(x)

f1(x)

f4(x)

18 of 48

Como captar mais detalhes? | Adicionando layers

f2(x)

Temperatura (x1)

Possibilidade

de Chuva (x2)

Distância de

transporte publico (x3)

f3(x)

f1(x)

f5(x)

f6(x)

f4(x)

f8(x)

f9(x)

f7(x)

19 of 48

Como captar mais detalhes? | Adicionando layers

f2(x)

Temperatura (x1)

Possibilidade

de Chuva (x2)

Distância de

transporte publico (x3)

f3(x)

f1(x)

f5(x)

f6(x)

f4(x)

f8(x)

f9(x)

f7(x)

Wi

20 of 48

Deep Learning | Layers

21 of 48

Tamanho da rede | Quanto mais neurônios e layers melhor?

  • Muitos neurônios e layers: O treinamento torna a rede totalmente acoplada aos exemplos prévios, tornando-a incapaz de prever cenários nunca antes vistos.
    • Overfitting

  • Poucos neurônios e layers: O treinamento captura poucas variáveis dos dados de exemplo, sendo mais difícil de prever outros cenários e captar pequenas variações.
    • Underfitting

22 of 48

O que é um LM? | Modelagem estatística da linguagem

Hoje o [redacted] foi oficialmente <??>

max(P(próximo termo | termos anteriores)) = "lançado"

Qual o elemento químico com número atômico 6?

max(P(resposta | contexto)) = "carbono"

23 of 48

Qual o primeiro LM? | Claude Shannon (1948)

24 of 48

Qual o primeiro LM? | Claude Shannon (1948)

25 of 48

Autocomplete | Language Model Comum

26 of 48

Modelagem Estatística | Como construímos esse modelo?

Hoje o [redacted] foi oficialmente lançado pro mundo.

Fizemos o lançamento do [redacted] hoje.

Universo

de

Sentenças

27 of 48

Cadeia de Markov | Language Model Comum

isv

academy

oficialmente

hoje

lançado

pro

mundo

o

fizemos

foi

.

do

lançamento

1.0

0.5

0.5

1.0

0.5

0.5

1.0

1.0

1.0

0.5

0.5

1.0

1.0

1.0

1.0

28 of 48

Matriz de Probabilidades | Language Model Comum

academy

fizemos

hoje

isv

o

academy

0

0

0.5

0

0

fizemos

0

0

0

0

1.0

hoje

0

0

0

0

0.5

isv

1.0

0

0

0

0

o

0

0

0

0.5

0

29 of 48

Problema | Apenas utilizando o termo anterior

academy

fizemos

hoje

[redacted]

o

academy

0

0

0.5

0

0

fizemos

0

0

0

0

1.0

hoje

0

0

0

0

0.5

[redacted]

1.0

0

0

0

0

o

0

0

0

0.5

0

30 of 48

Contexto | Como gerar frases com sentido?

Hoje o [redacted] foi oficialmente <??>

Hoje o [redacted] foi oficialmente <??>

No modelo atual:

Hoje o [redacted] foi oficialmente <??>

No modelo ideal:

31 of 48

Matriz de Probabilidades | Contexto

Número de palavras na língua portuguesa: 370 000

  • 1 palavra: (370 000)2 = 1 * 1011
  • 2 palavras: (370 000)3 = 5 * 1016
  • 3 palavras: (370 000)4 = 2 * 1022

.

.

.

Mais do que 5 palavras:

  • Número de elementos maior que o número de atómos no universo (7 * 1027)

32 of 48

Atenção | Attention is All You Need (2017)

33 of 48

Atenção | Foco em termos específicos do input

34 of 48

Treinamento | Como treinar o modelo?

Hoje o [redacted] foi <??> lançado pro mundo.

Fizemos o <??> do [redacted] hoje.

35 of 48

Treinamento | Como treinar o modelo?

Hoje o [redacted] foi <??> lançado pro mundo.

Fizemos o <??> do [redacted] hoje.

Hoje o [redacted] foi jorge lançado pro mundo.

Fizemos o lançamento do [redacted] hoje.

36 of 48

Treinamento | Como treinar o modelo?

Hoje o [redacted] foi <??> lançado pro mundo.

Fizemos o <??> do [redacted] hoje.

Hoje o [redacted] foi jorge lançado pro mundo.

Fizemos o lançamento do [redacted] hoje.

37 of 48

Treinamento | Como treinar o modelo?

Hoje o [redacted] foi <??> lançado pro mundo.

Fizemos o <??> do [redacted] hoje.

Hoje o [redacted] foi jorge lançado pro mundo.

Fizemos o lançamento do [redacted] hoje.

Modelo

Atualização

do pesos

38 of 48

Treinamento | GPT-3

  • CommonCrawl (60%)
  • WebText2 (22%)
  • Wikipedia (3%)
  • Livros (15%)

Embedding

0.35

0.24

.

.

.

0.87

0.18

0.43

.

.

.

0.07

"Academy"

Rede Neural com

96 Layers

39 of 48

Treinamento | Atualização de pesos

40 of 48

Limite de Input | GPT-3

41 of 48

Tokenização | Tokenização por palavras

  • O português possui 360 mil palavras. Isso gera um vocabulário enorme.
  • Quanto maior o tamanho do vocabulário, maior será o número de conexões necessárias.
  • Palavras praticamente iguais como "garoto" e "garotos" recebem tokens completamente diferentes.
  • Palavras digitadas erradas contam como um token inválido (fora do vocabulário). Ex: "principlamente" ("principalmente").

42 of 48

Tokens | Sub-word (GPT)

Hoje o [redacted] foi oficialmente lançado pro mundo.

principlamente

principalmente

  • 2 tokens iguais
  • 3 muito similares

43 of 48

Tokens | GPT

Hoje o [redacted] foi oficialmente lançado pro mundo.

  • A separação em tokens limita o número de inputs e conexões da rede neural.
  • Facilita a predição em múltiplas linguagens.
  • Performa melhor em cenários com palavras nunca antes vistas e erros de ortografia.

44 of 48

Tokens | GPT

Texto

Tokens / palavra

Wikipedia (Filosofia - Inglês)

1.46

Wikipedia (Filosofia - Italiano)

2.48

Wikipedia (Filosofia - Polonês)

8.67

Wikipedia (Filosofia - Chinês)

13.13

45 of 48

Como o modelo evolui? | Ajuste de pesos

tyntd-iafhatawiaoihrdemot lytdws e ,tfti, astai f ogoh eoase rrranbyne 'nhthnee e

plia tklrgd t o idoe ns,smtt h ne etie h,hregtrs nigtike,aoaenns lng

"Tmont thithey" fomesscerliund

Keushey. Thom here

sheulke, anmerenith ol sivh I lalterthend Bleipile shuwy fil on aseterlome

coaniogennc Phe lism thond hon at. MeiDimorotion in ther thize."

100 iterações

300 iterações

46 of 48

Como o modelo evolui? | Ajuste de pesos

we counter. He stutn co des. His stanted out one ofler that concossions and was

to gearang reay Jotrets and with fre colt otf paitt thin wall. Which das stimn

Aftair fall unsuch that the hall for Prince Velzonski's that me of

her hearly, and behs to so arwage fiving were to it beloge, pavu say falling misfort

how, and Gogition is so overelical and ofter.

500 iterações

700 iterações

47 of 48

Como o modelo evolui? | Ajuste de pesos

"Kite vouch!" he repeated by her

door. "But I would be done and quarts, feeling, then, son is people...."

"Why do what that day," replied Natasha, and wishing to himself the fact the

princess, Princess Mary was easier, fed in had oftened him.

Pierre aking his soul came to the packs and drove up his father-in-law women.

1200 iterações

2000 iterações

48 of 48

Reinforcement Learning | Refinamento do modelo

LLM