Os três componentes do MASHA #13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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çãoeaviarviram 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):
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
avizinhadorsem ter visto ela nos dados.A fonte etimológica é o dicionário Houaiss (campo
étimde 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") decasa(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çãosoftmaxe 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, soma0. 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, ouBOND_STRENGTHno plano original) — que controla quão forte é a injeção. Valores propostos no plano (0.9 paransubj, 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
cantador=cant(raiz) +ador(sufixo de agente).