Fundamentos

Vetores, matrizes e produtos escalares

Vetores guardam estado, matrizes são mapas aprendidos e produtos escalares pontuam alinhamento; dentro do Qwen3.8-27B o estado de um token em uma camada é um vetor de 5120 números.

Atualizada em

01 · Conceito

Conceito

Abra o arquivo de configuração que acompanha o Qwen3.8-27B e uma entrada aparece mais do que qualquer outra neste curso: o hidden size é 5120. Tudo nas próximas tracks é consequência desse número, então vale saber exatamente o que ele significa antes de encontrar qualquer terminologia. Ele significa que, dentro do modelo, em cada uma das suas 64 camadas, cada token do seu prompt é representado por uma lista de 5120 números. Não uma palavra, não um símbolo, não uma chave de consulta. Cinco mil cento e vinte valores de ponto flutuante. O trabalho desta lição é tornar esse objeto banal.

Um vetor é uma lista ordenada de números, e a ordem faz parte da sua identidade: (2,5)(2,5) não é (5,2)(5,2). Em geometria, um vetor de duas ou três dimensões se desenha como uma seta com direção e comprimento. Em machine learning ele costuma ter centenas ou milhares de coordenadas e representa um token, um patch de imagem, um hidden state ou um gradiente. Você não consegue visualizar 5120 eixos, e não precisa. Toda operação abaixo é definida coordenada a coordenada e se comporta igual em qualquer largura.

Vetores somam componente a componente e escalam por um número. Se a=(1,2)a=(1,2) e b=(3,1)b=(3,-1), então a+b=(4,1)a+b=(4,1), e 3a=(3,6)3a=(3,6). O comprimento euclidiano é a=12+22\lVert a \rVert = \sqrt{1^2+2^2}. Magnitude e direção carregam informações diferentes, e redes neurais estão o tempo todo remodelando as duas. Um hidden state do Qwen é exatamente esse objeto com 5120 casas em vez de duas; em bfloat16 ele ocupa dois bytes por número, o que dá dez kibibytes para um único token em uma única camada.

O produto escalar colapsa dois vetores de mesmo comprimento num único escalar:

ab=iaibi.a\cdot b=\sum_i a_i b_i.

Para os vetores acima, ab=1×3+2×(1)=1a \cdot b = 1\times3 + 2\times(-1) = 1. Cada par correspondente contribui com evidência positiva quando os sinais concordam e negativa quando se opõem. Geometricamente, ab=abcosθa\cdot b = \lVert a\rVert \lVert b\rVert \cos\theta: vetores alinhados pontuam positivamente, perpendiculares pontuam zero, opostos pontuam negativamente. Essa única operação é o átomo de tudo o que vem depois. Scores de attention são produtos escalares entre queries e keys. Um logit é um produto escalar entre um hidden state e uma linha da matriz de saída. Quando a lição 0.1 disse que o modelo produz 248.320 scores, ela quis dizer que ele realiza 248.320 produtos escalares, cada um contra um estado de 5120 dimensões.

Agora um erro que vale cometer de propósito. Suponha que você está comparando duas representações de token e um par pontua 340 enquanto outro pontua 12. É tentador concluir que o primeiro par é muito mais relacionado. Faça a conta em vez disso. Sejam u=(100,0)u = (100, 0) e v=(3.4,3.4)v = (3.4, 3.4): o produto escalar é 340340, embora o ângulo entre eles seja de 45 graus. Sejam s=(1,1)s = (1,1) e t=(6,6)t = (6,6): o produto escalar é 1212, e o ângulo é exatamente zero, alinhamento perfeito. O score grande veio do comprimento, não da concordância. A similaridade de cosseno conserta isso dividindo os comprimentos fora, (ab)/(ab)(a\cdot b)/(\lVert a\rVert\lVert b\rVert), dando 0.7070.707 para o primeiro par e 1.01.0 para o segundo. Comparações de embedding na lição 1.5 geralmente querem cosseno; attention deliberadamente mantém o produto escalar bruto e escalado, porque ali a magnitude faz parte da computação aprendida e não é um estorvo.

Uma matriz é um arranjo retangular de números, escrito em linhas por colunas. Uma matriz 3×43 \times 4 mapeia uma entrada de quatro componentes para uma saída de três componentes, e cada coordenada de saída é o produto escalar de uma linha da matriz com a entrada. É por isso que a multiplicação matriz-vetor é o burro de carga: ela computa de uma vez muitas perguntas ponderadas e aprendidas sobre a mesma entrada. Dentro do nosso espécime, a projeção que produz as queries de attention pega o estado de 5120 dimensões e emite um de 12288 — 24 heads de 256 dimensões cada e, em seguida, outro tanto para um gate que viaja ao lado delas. Esse descasamento é uma propriedade real do modelo e não um erro de digitação, e a lição 4.2 explica por que a tentação de arredondá-lo de volta para 5120 destrói a aritmética.

Shapes funcionam como um sistema de tipos. Uma matriz m×nm\times n vezes um vetor de nn componentes dá um vetor de mm componentes, e as dimensões internas precisam bater. Para dados em batch, as linhas costumam indexar exemplos ou posições de token, então uma matriz de shape sequência por features multiplica uma matriz de pesos de shape features por saída. Escrever os shapes ao lado da equação pega a maioria dos bugs antes de o código rodar, e é o único hábito que mais confiavelmente separa quem consegue ler código de modelo de quem não consegue.

A ponte para o resto do curso agora é curta. Uma consulta de embedding devolve um vetor de 5120 dimensões para um identificador de token. Matrizes de projeção transformam esse estado em queries, keys, values ou logits de vocabulário. Produtos escalares entre query e key criam scores de attention. Gradientes são vetores apontando para a mudança local na loss. Uma vez que vetores são estados, matrizes são mapas aprendidos e produtos escalares são alinhamento ponderado, a maior parte de um Transformer se lê como álgebra linear com algumas interrupções não lineares cuidadosamente posicionadas.

02 · Analogia

Analogia

Um engenheiro de som descreve toda gravação com uma fileira de faders: graves, médios-graves, médios-agudos, presença, brilho. As posições dos faders formam um vetor. O gosto de um ouvinte é outro vetor sobre os mesmos faders. O produto escalar entre eles é um score de compatibilidade, grande quando características fortes da gravação encontram preferências fortes e negativo quando se opõem. Uma matriz é a mesa de mixagem inteira: ela recebe uma fileira de faders e produz outra fileira. O Qwen3.8-27B tem uma mesa com 5120 faders, e ninguém rotulou nenhum deles.

03 · Explique de volta

Explique de volta

Diga o que são um vetor, uma matriz e um produto escalar, e depois descreva o que o número 5120 significa dentro do Qwen3.8-27B.

Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.

Aguardando sua explicação.

Comparar com uma resposta-modelo

Um vetor é uma lista ordenada de números que representa um estado. Uma matriz é um arranjo retangular cuja multiplicação define um mapa linear de um espaço de coordenadas para outro. Um produto escalar multiplica componentes correspondentes e os soma num único escalar que mede evidência alinhada e ponderada. No Qwen3.8-27B o hidden size é 5120, ou seja, em cada uma das 64 camadas, cada token da sequência é representado por um vetor de 5120 números. Esse vetor é o estado inteiro do token naquela profundidade: tudo o que o modelo apurou sobre aquela posição até ali precisa estar codificado nessas 5120 coordenadas, e o trabalho da camada é produzir uma versão melhor dele.

04 · Teste seu entendimento

Teste seu entendimento

01O que o produto escalar de dois vetores de 5120 dimensões produz?
Resposta e explicação

Um escalar — Ele multiplica os 5120 pares correspondentes e os soma num único número, independentemente de quantas dimensões as entradas tenham.

02Dois vetores de token dão um produto escalar muito grande. Por que isso ainda não é evidência de que eles apontam em direções parecidas?
Resposta e explicação

Um produto escalar mistura direção com magnitude, então vetores longos pontuam alto mesmo com um ângulo considerável — A identidade a·b = ||a|| ||b|| cos θ mostra que o comprimento entra multiplicativamente; a similaridade de cosseno divide os comprimentos fora para isolar a direção.

03A lição 0.3 disse que o softmax é invariante a somar uma constante a todos os logits. O que isso implica sobre o vetor de logits que o Qwen produz?
Resposta e explicação

Só as diferenças entre seus 248.320 componentes afetam a distribuição resultante — Deslocar o vetor inteiro por uma constante deixa inalterada toda razão entre exponenciais, então a distribuição depende da estrutura relativa, não da posição absoluta.

Conclua o teach-back e acerte o quiz para finalizar a aula.

◎ · Marcador de evidência

Fontes

  1. Ian Goodfellow, Yoshua Bengio e Aaron Courville (2016). Deep Learning.
  2. Qwen Team (2026). Qwen3.8-27B Model Card.