Transformer block: MultiHeadAttention + LayerNorm + FFN + LayerNorm + skip. Subclassed Layer 로 자연스럽게 짤 수 있어. __init__ 에 attn / ffn / norm 인스턴스, call 에 x = norm1(x + attn(x)); x = norm2(x + ffn(x)) — pre-norm 또는 post-norm 골라.
이 block 한 개를 N 번 쌓으면 Transformer encoder. 본인 Subclass 라서 LoRA, sparse attention, RoPE 등 변형 자유로워. 외부 라이브러리 import 없이 paper-fresh idea 구현 가능.