Os três componentes do MASHA #13

Open
opened 2026-05-14 02:13:43 -03:00 by navigator · 0 comments
Owner

TL;DR

MASHA estende um Transformer comum com três peças neuro-simbólicas: (A) Embedding Morfêmico — palavras compartilham embedding por raiz etimológica; (B) Embedding de Classe Gramatical — substantivo, verbo, adjetivo etc. recebem um vetor a parte; (C) Atenção Enviesada por Gramática — a estrutura sintática da frase entra como bias na atenção. As três podem ser ligadas ou desligadas independentemente em ablations.

Background

Um Transformer padrão representa cada token com um embedding — um vetor de números (digamos, 768 dimensões) aprendido durante o treino. Cada token tem o seu próprio vetor independente. As palavras aviador, aviação e aviar viram três embeddings separados que o modelo precisa descobrir, pela estatística, que são parentes.

MASHA muda isso usando conhecimento linguístico do português.

Componente A — Embedding Morfêmico

Em vez de um único embedding por palavra, MASHA decompõe cada palavra em morfemas (pedaços com significado):

aviador  →  raiz "AVI" (latim avis, "ave") + sufixo "-ADOR" (agente)
aviação  →  raiz "AVI"                     + sufixo "-AÇÃO" (ação)

O embedding final da palavra é a soma do embedding da raiz com o(s) sufixo(s) e prefixo(s). Resultado: o modelo aprende uma única raiz "AVI" que serve para toda a família. ~5K raízes × ~50 prefixos × ~150 sufixos cobrem ~80% do vocabulário do português.

Por que isso ajudaria? Compressão de parâmetros e generalização. Se o modelo aprende "AVI = relativo a ave" e "-ador = agente", ele consegue inferir o sentido de uma palavra nova como avizinhador sem ter visto ela nos dados.

A fonte etimológica é o dicionário Houaiss (campo étim de cada verbete), processado num banco PostgreSQL com 27K etimologias e 42K morfemas.

Componente B — Embedding de Classe Gramatical

Cada palavra também recebe um embedding adicional indicando sua classe gramatical (POS, part-of-speech): substantivo, verbo, adjetivo, advérbio etc. Isso é injetado somando ao embedding morfêmico.

A intuição: distinguir casa (substantivo, "moradia") de casa (verbo, "ele casa"). O Transformer padrão tem que descobrir essa distinção no contexto; MASHA recebe a etiqueta de classe gramatical direto, vindo de um parser (Stanza, no nosso caso).

Componente C — Atenção Enviesada por Gramática (Grammar-Biased Attention)

Esse é o mais ambicioso. O mecanismo de atenção num Transformer calcula, para cada par de tokens (i, j) na frase, uma pontuação score(i, j) que diz "quanto o token i deve prestar atenção ao token j". Essas pontuações passam por uma função softmax e viram pesos.

MASHA adiciona um bias (um número somado antes do softmax) baseado na árvore de dependência sintática da frase. Se o token j é o sujeito do verbo i, soma . Se é um adjunto distante, soma 0. Se é irrelevante, pode somar valor negativo.

A árvore de dependências vem do Stanza (parser de português), pré-computada e armazenada em parquet. Durante o treino, o bias é uma matriz [B, T, T] (batch × token × token) somada aos scores de atenção em cada camada.

A intuição: forçar o modelo a notar relações sintáticas que talvez levassem milhões de tokens para emergir sozinhas.

O que falta saber

O componente C tem um parâmetro crítico — a força do bias (bias_strength, ou BOND_STRENGTH no plano original) — que controla quão forte é a injeção. Valores propostos no plano (0.9 para nsubj, por exemplo) podem ser ordens de magnitude maiores que os scores de atenção normais (que são O(1) antes do softmax). Isso vira tema dos próximos documentos.

Por que isso importa

Os três componentes são ortogonais — dá pra ligar/desligar cada um e medir o efeito. Isso permite ablation studies (a próxima onda de experimentos) que isolam qual peça ajuda, qual atrapalha, e qual é neutra.

Termos usados

  • Embedding: vetor de números que representa um token no espaço aprendido pelo modelo. Tokens com significados parecidos tendem a ficar próximos nesse espaço.
  • Morfema: menor unidade com significado numa palavra. cantador = cant (raiz) + ador (sufixo de agente).
  • POS (Part-of-Speech): classe gramatical da palavra (substantivo, verbo, adjetivo etc.).
  • Stanza: biblioteca da Stanford que faz parsing morfossintático em português. Devolve POS tag + árvore de dependências.
  • Atenção (mecanismo): o coração do Transformer. Para cada par de tokens, calcula um score; softmax converte em pesos; combina informação ponderada.
  • Softmax: função que converte um vetor de scores em probabilidades (somam 1). Exponencial sensível: bias grande domina o resultado.
  • Bias (na atenção): número somado ao score antes do softmax. Positivo "puxa atenção pra cá"; negativo "afasta". Não confundir com viés estatístico.
  • Ablation: experimento que desliga uma peça do sistema pra medir quanto ela contribui sozinha.
## TL;DR MASHA estende um Transformer comum com três peças neuro-simbólicas: **(A) Embedding Morfêmico** — palavras compartilham embedding por raiz etimológica; **(B) Embedding de Classe Gramatical** — substantivo, verbo, adjetivo etc. recebem um vetor a parte; **(C) Atenção Enviesada por Gramática** — a estrutura sintática da frase entra como bias na atenção. As três podem ser ligadas ou desligadas independentemente em ablations. ## Background Um Transformer padrão representa cada token com um **embedding** — um vetor de números (digamos, 768 dimensões) aprendido durante o treino. Cada token tem o seu próprio vetor independente. As palavras `aviador`, `aviação` e `aviar` viram três embeddings separados que o modelo precisa descobrir, pela estatística, que são parentes. MASHA muda isso usando conhecimento linguístico do português. ## Componente A — Embedding Morfêmico Em vez de um único embedding por palavra, MASHA decompõe cada palavra em **morfemas** (pedaços com significado): ``` aviador → raiz "AVI" (latim avis, "ave") + sufixo "-ADOR" (agente) aviação → raiz "AVI" + sufixo "-AÇÃO" (ação) ``` O embedding final da palavra é a soma do embedding da raiz com o(s) sufixo(s) e prefixo(s). Resultado: o modelo aprende **uma única raiz** "AVI" que serve para toda a família. ~5K raízes × ~50 prefixos × ~150 sufixos cobrem ~80% do vocabulário do português. Por que isso ajudaria? **Compressão de parâmetros e generalização**. Se o modelo aprende "AVI = relativo a ave" e "-ador = agente", ele consegue inferir o sentido de uma palavra nova como `avizinhador` sem ter visto ela nos dados. A fonte etimológica é o dicionário Houaiss (campo `étim` de cada verbete), processado num banco PostgreSQL com 27K etimologias e 42K morfemas. ## Componente B — Embedding de Classe Gramatical Cada palavra também recebe um embedding adicional indicando sua **classe gramatical** (POS, *part-of-speech*): substantivo, verbo, adjetivo, advérbio etc. Isso é injetado somando ao embedding morfêmico. A intuição: distinguir `casa` (substantivo, "moradia") de `casa` (verbo, "ele casa"). O Transformer padrão tem que descobrir essa distinção no contexto; MASHA recebe a etiqueta de classe gramatical direto, vindo de um parser (Stanza, no nosso caso). ## Componente C — Atenção Enviesada por Gramática (Grammar-Biased Attention) Esse é o mais ambicioso. O mecanismo de **atenção** num Transformer calcula, para cada par de tokens (i, j) na frase, uma pontuação `score(i, j)` que diz "quanto o token i deve prestar atenção ao token j". Essas pontuações passam por uma função `softmax` e viram pesos. MASHA adiciona um **bias** (um número somado antes do softmax) baseado na **árvore de dependência sintática** da frase. Se o token j é o sujeito do verbo i, soma `+α`. Se é um adjunto distante, soma `0`. Se é irrelevante, pode somar valor negativo. A árvore de dependências vem do Stanza (parser de português), pré-computada e armazenada em parquet. Durante o treino, o bias é uma matriz `[B, T, T]` (batch × token × token) somada aos scores de atenção em cada camada. A intuição: forçar o modelo a notar relações sintáticas que talvez levassem milhões de tokens para emergir sozinhas. ## O que falta saber O componente C tem um parâmetro crítico — a **força do bias** (`bias_strength`, ou `BOND_STRENGTH` no plano original) — que controla quão forte é a injeção. Valores propostos no plano (0.9 para `nsubj`, por exemplo) podem ser ordens de magnitude maiores que os scores de atenção normais (que são O(1) antes do softmax). Isso vira tema dos próximos documentos. ## Por que isso importa Os três componentes são ortogonais — dá pra ligar/desligar cada um e medir o efeito. Isso permite **ablation studies** (a próxima onda de experimentos) que isolam qual peça ajuda, qual atrapalha, e qual é neutra. ## Termos usados - **Embedding**: vetor de números que representa um token no espaço aprendido pelo modelo. Tokens com significados parecidos tendem a ficar próximos nesse espaço. - **Morfema**: menor unidade com significado numa palavra. `cantador` = `cant` (raiz) + `ador` (sufixo de agente). - **POS (Part-of-Speech)**: classe gramatical da palavra (substantivo, verbo, adjetivo etc.). - **Stanza**: biblioteca da Stanford que faz parsing morfossintático em português. Devolve POS tag + árvore de dependências. - **Atenção (mecanismo)**: o coração do Transformer. Para cada par de tokens, calcula um score; softmax converte em pesos; combina informação ponderada. - **Softmax**: função que converte um vetor de scores em probabilidades (somam 1). Exponencial sensível: bias grande domina o resultado. - **Bias (na atenção)**: número *somado* ao score antes do softmax. Positivo "puxa atenção pra cá"; negativo "afasta". Não confundir com viés estatístico. - **Ablation**: experimento que desliga uma peça do sistema pra medir quanto ela contribui sozinha.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pop/MASHA#13
No description provided.