Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

4
respostas

[Sugestão] Entendimento do Código Exemplo hipotético para explicar como as LLMs preveem o próximo token

Exemplicação de como as LLMs preveem o próximo token.

Code exemplo:

*// Função fictícia que simula a aplicação de softmax em um vetor de valores
function softmax(values) {
const expValues = values.map(value => Math.exp(value));
const sumExp = expValues.reduce((total, val) => total + val, 0);
return expValues.map(val => val / sumExp);
}

// Valores hipotéticos produzidos pelo modelo para três possíveis tokens
const logits = [2.0, 1.0, 0.1];
const probabilities = softmax(logits);
console.log(probabilities);*

Agora, para analisar o código, vamos simular a execução do passo a passo da função softmax com os valores fornecidos no código para compreender o resultado final.

Entrada: logits = [2.0, 1.0, 0.1]

Passo 1 - Calcular exponenciais:

· exp(2.0) ≈ 7.389
· exp(1.0) ≈ 2.718
· exp(0.1) ≈ 1.105

Passo 2 - Somar as exponenciais:

· sumExp ≈ 7.389 + 2.718 + 1.105 = 11.212

Passo 3 - Dividir cada exponencial pela soma:

· 7.389 / 11.212 ≈ 0.659 (≈ 65.9%)
· 2.718 / 11.212 ≈ 0.242 (≈ 24.2%)
· 1.105 / 11.212 ≈ 0.099 (≈ 9.9%)

Resultado exibido no console:

[0.659, 0.242, 0.099]

(Valores aproximados com 3 casas decimais)

Observação: A soma das probabilidades é 1.0, confirmando que é uma distribuição de probabilidade válida, e o maior logit (2.0) recebe a maior probabilidade.

4 respostas

Boa tarde, Aridio! Tranquilo?

Gostei demais da sua resposta, continue assim!

Mandou muito bem explorando a função softmax como mecanismo central das LLMs, apresentou com clareza o cálculo das probabilidades passo a passo e ainda destacou a importância da distribuição como validação do resultado. Esse tipo de explicação prática ajuda a entender não só o funcionamento interno dos modelos, mas também como eles transformam valores abstratos em previsões concretas.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Aplicação prática: relacionar o softmax com exemplos reais de previsão de tokens em textos.
  • Visualização: usar gráficos ou tabelas para representar como os logits se transformam em probabilidades.
  • Comparação: testar diferentes conjuntos de valores para observar como pequenas variações afetam a distribuição.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: você prefere entender o funcionamento das LLMs por meio de exemplos matemáticos detalhados como esse ou por analogias mais intuitivas que aproximam o conceito do cotidiano?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Nota: A linguagem do fragmento de código do exemplo da AULA 1 acima é JAVASCRIPT PURO na versão ECMAScript 6 (ESA 6), também conhecido como ES2015 (ano de disponibilização dessa versão)

Olá, Aridio! Tudo bem?

Só uma observação, há uma pequena imprecisão na informação.

O código apresentado na aula está em JavaScript (ECMAScript 6 ou ES6). O nome oficial dessa versão é ECMAScript 2015 (ES2015), pois foi lançada em 2015. As versões posteriores passaram a ser identificadas pelo ano de lançamento (ES2016, ES2017...).

Portanto, o mais correto seria dizer que o exemplo utiliza recursos introduzidos no ES6 (ES2015), e não que ES6 seja o mesmo que ES2025.

Espero que isso esclareça as informações!

Prezado Daniel,

A versão que saiu "2025" foi decorrente de erro de digitação, e que gerou suas considerações bem-vindas acima. Como pode ver, agora, já corrigi no texto original que ficou da seguinte maneira:

  • ECMAScript 6 (ESA 6), também conhecido como ES2015 (ano de disponibilização dessa versão).

Grato pelas considerações, é importantíssimo neste ambiente a precisão das informações, para ser guia de auxílio a outros estudantes.

Agradeço também, pelos links de aprofundamento no estudo propostos por você, bem como por seus comentários acerca da forma exposta por mim para analisar o exemplo da aula, expondo os passos da resolução numérica, para auxiliar compreensão efetiva com a analogia de uma das maneiras de como as LLMs atuam para inferir o próximo token.

Em relação a sua pergunta, eu prefiro entender o funcionamento das LLMs, não só por meio de exemplos matemáticos detalhados como esse sugerido por mim, mas também por analogias mais intuitivas que aproximam o conceito do cotidiano mencionado por você, bem como com representações gráficas quando se aplicar (com base na ideia de uma imagem vale por mil palavras).

Grande abraço. Fique com Deus. Cordialmente.

Aridio Silva