As fontes primárias, suas relações com o código e as diferenças entre os artigos e este Transformer didático.
glassllm 0.1.04 min de leitura · estimativa
Como usar esta bibliografia
Os artigos abaixo explicam conceitos presentes no motor. Cada registro traz link primário, autores completos, ano da primeira versão no arXiv, páginas relacionadas e uma citação BibTeX do preprint. A nota de publicação distingue eventos e periódicos quando essa informação aparece no registro primário. Por exemplo, Adam tem preprint de 2014 e publicação em ICLR 2015; usar o ano do preprint não altera essa data de publicação.
Use os links de páginas para partir de uma ideia e chegar à operação executável. A bibliografia identifica procedência conceitual; não significa que este projeto reproduz a arquitetura, o conjunto de dados ou os resultados experimentais de cada artigo.
Mapa do artigo ao código
Fonte
Conceito usado
Onde ler no código
Attention Is All You Need
Atenção escalada e estrutura Transformer
nn.Attention, nn.Block, model.GlassLM
Neural Machine Translation of Rare Words with Subword Units
Fusões BPE para subpalavras
tokenizer.Tokenizer.train, Tokenizer.encode
SentencePiece
Contexto para tokenização e representação do espaço
tokenizer.pre_tokenize, SPACE
RoFormer
Rotações posicionais em consultas e chaves
nn.rope_angles, autograd.rope
GQA
Compartilhamento de cabeças K/V
nn.Attention, autograd.repeat_kv
Root Mean Square Layer Normalization
Normalização pela raiz da média quadrática
nn.RMSNorm
On Layer Normalization in the Transformer Architecture
Posição pre-norm
nn.Block
Deep Residual Learning for Image Recognition
Contexto das somas residuais
nn.Block, etapas resid.attn e resid.ffn
GLU Variants Improve Transformer
FFN com portão SwiGLU
nn.SwiGLU, autograd.silu
Using the Output Embedding to Improve Language Models
Pesos de embedding atrelados à saída
GlassLM.E, GlassLM.forward
Automatic differentiation in machine learning: a survey
Modo reverso e regra da cadeia
autograd.Tensor.backward
Adam: A Method for Stochastic Optimization
Momentos e atualização adaptativa
optim.AdamW.step
Decoupled Weight Decay Regularization
Decaimento de pesos desacoplado
optim.AdamW.step
SGDR: Stochastic Gradient Descent with Warm Restarts
Parte cosseno do schedule
optim.lr_schedule
Os prefixos dos módulos nesta tabela são relativos a glassllm. A referência pública distingue exports da raiz e funções acessíveis por submódulo.
A arquitetura é uma combinação própria
O Transformer original de Vaswani et al. tem encoder e decoder para transdução de sequências. O glassllm implementa um decoder causal pequeno para prever o próximo token; não inclui encoder nem atenção cruzada. Usa RoPE, RMSNorm, GQA e SwiGLU, escolhas introduzidas ou estudadas em trabalhos diferentes.
A implementação GQA compartilha duas cabeças K/V entre quatro cabeças Q. Não executa o procedimento de conversão e continuação de treino de checkpoints do artigo GQA. O tokenizer é uma implementação própria de BPE sobre texto normalizado; SentencePiece é referência de contexto e não uma dependência nem garantia de compatibilidade de formato.
Normalização e resíduos
O artigo de pre-norm analisa LayerNorm; o código usa RMSNorm antes das duas subcamadas e na saída final. Essa relação informa a localização da normalização, sem transferir automaticamente todas as conclusões teóricas entre operações distintas.
O artigo de RMSNorm também discute pRMSNorm; o projeto calcula a média quadrática de todas as dimensões. Com ε > 0, invariância de escala não é uma igualdade exata para todo vetor. O trabalho de redes residuais fornece contexto histórico de visão computacional, não uma prova de que este modelo mantém qualquer gradiente constante.
Treino e otimização
AdamW usa momentos de gradientes e decaimento separado da atualização adaptativa. O schedule do projeto combina warmup com um decaimento cosseno até uma fração da taxa inicial. Ele não implementa warm restarts de SGDR, e o otimizador é AdamW em vez do SGD avaliado naquele artigo.
O autograd é próprio e opera sobre arrays NumPy. O survey de diferenciação automática fornece a terminologia e o panorama de métodos; os detalhes de acumulação, broadcasting e travessia pertencem à implementação descrita na referência Tensor.
Citar e verificar
Abra o registro arXiv para verificar versões, PDF e detalhes de publicação. Os BibTeX desta página citam os preprints de forma consistente e incluem autores, título, ano, eprint, DOI arXiv e URL. O arquivo para download contém os 14 registros. Para um trabalho acadêmico que exija a versão publicada, use a referência dos anais ou periódico correspondente e declare qual versão foi consultada.
As equações dos fundamentos também explicitam formas e escolhas do código. Comece por atenção causal e perda e gradientes para conectar um artigo à conta numérica executada.
Fontes no projeto
README.mddocs/equacoes.md
Artigos relacionados
Fontes primárias dos conceitos usados no projeto. O ano identifica a primeira versão do preprint arXiv; a nota de publicação informa o evento ou periódico quando registrado na fonte.
@misc{glassllm_transformer_2017,
title = {Attention Is All You Need},
author = {Ashish Vaswani and Noam Shazeer and Niki Parmar and Jakob Uszkoreit and Llion Jones and Aidan N. Gomez and Lukasz Kaiser and Illia Polosukhin},
year = {2017},
eprint = {1706.03762},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.1706.03762},
url = {https://arxiv.org/abs/1706.03762}
}
@misc{glassllm_bpe_2015,
title = {Neural Machine Translation of Rare Words with Subword Units},
author = {Rico Sennrich and Barry Haddow and Alexandra Birch},
year = {2015},
eprint = {1508.07909},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.1508.07909},
url = {https://arxiv.org/abs/1508.07909}
}
@misc{glassllm_sentencepiece_2018,
title = {SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing},
author = {Taku Kudo and John Richardson},
year = {2018},
eprint = {1808.06226},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.1808.06226},
url = {https://arxiv.org/abs/1808.06226}
}
@misc{glassllm_rope_2021,
title = {RoFormer: Enhanced Transformer with Rotary Position Embedding},
author = {Jianlin Su and Yu Lu and Shengfeng Pan and Ahmed Murtadha and Bo Wen and Yunfeng Liu},
year = {2021},
eprint = {2104.09864},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.2104.09864},
url = {https://arxiv.org/abs/2104.09864}
}
@misc{glassllm_gqa_2023,
title = {GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints},
author = {Joshua Ainslie and James Lee-Thorp and Michiel de Jong and Yury Zemlyanskiy and Federico Lebrón and Sumit Sanghai},
year = {2023},
eprint = {2305.13245},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.2305.13245},
url = {https://arxiv.org/abs/2305.13245}
}
@misc{glassllm_prenorm_2020,
title = {On Layer Normalization in the Transformer Architecture},
author = {Ruibin Xiong and Yunchang Yang and Di He and Kai Zheng and Shuxin Zheng and Chen Xing and Huishuai Zhang and Yanyan Lan and Liwei Wang and Tie-Yan Liu},
year = {2020},
eprint = {2002.04745},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.2002.04745},
url = {https://arxiv.org/abs/2002.04745}
}
@misc{glassllm_residual_2015,
title = {Deep Residual Learning for Image Recognition},
author = {Kaiming He and Xiangyu Zhang and Shaoqing Ren and Jian Sun},
year = {2015},
eprint = {1512.03385},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.1512.03385},
url = {https://arxiv.org/abs/1512.03385}
}
@misc{glassllm_tied_2016,
title = {Using the Output Embedding to Improve Language Models},
author = {Ofir Press and Lior Wolf},
year = {2016},
eprint = {1608.05859},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.1608.05859},
url = {https://arxiv.org/abs/1608.05859}
}
@misc{glassllm_autodiff_2015,
title = {Automatic differentiation in machine learning: a survey},
author = {Atilim Gunes Baydin and Barak A. Pearlmutter and Alexey Andreyevich Radul and Jeffrey Mark Siskind},
year = {2015},
eprint = {1502.05767},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.1502.05767},
url = {https://arxiv.org/abs/1502.05767}
}
@misc{glassllm_adam_2014,
title = {Adam: A Method for Stochastic Optimization},
author = {Diederik P. Kingma and Jimmy Ba},
year = {2014},
eprint = {1412.6980},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.1412.6980},
url = {https://arxiv.org/abs/1412.6980}
}