Breno

Modelo simples com embeddings

So, com o estudo do Karpathy, para pesquisa em mechanistic interpretability.

Construção do GPT seria a meta, man. Transformer architecture. E o Karpathy começa com esse modelo.

O post aqui seria para ensinar, relembrando como seria a implementação. Modelo simples aqui, apenas a definição com código considerando PyTorch e até a definição dos logits.

Implementemos.

class EmbeddingModel(nn.Module):
  def __init__(self, vocab_size):
    super().__init__()
    self.token_embedding_table = nn.Embedding(vocab_size, vocab_size)

  def forward(self, idx, targets=None):
    logits = self.token_embedding_table(idx)

Simple like that. Temos um modelo para a predição do próximo caractere. Então, precisamos saber o vocab_size na inicialização do modelo para saber como se dá a construção da tabela, que deixa uma linha para cada caractere e o número de colunas seria o tamanho also do vocab_size para a construção da tabela. A tabela dos embeddings seria então, em cada posição, cada célula, a relação entre um caractere da linha e o próximo em termos de predição para o da coluna.

Os valores do logits indicariam isso.

Really great learning.