LLMs-from-scratch β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ Π‘Π΅Π±Π°ΡΡΡΡΠ½Π° Π Π°ΡΠΊΠΈ, Π³Π΄Π΅ GPT-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ LLM ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ Π½Π° ΡΠΈΡΡΠΎΠΌ PyTorch, Π±Π΅Π· βΡΠΊΠΎΠΏΠΈΡΡΠΉ ΠΈ Π·Π°ΠΏΡΡΡΠΈβ. ΠΠ΅ΡΡ ΠΏΡΡΡ ΠΎΡ Π΄Π°Π½Π½ΡΡ
Π΄ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π°ΡΡΠΈΡΡΠ΅Π½ΡΠ°: ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠΊΠ΅Π½ΠΈΠ·Π°ΡΠΈΡ ΠΈ Dataset/Dataloader Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠΈΠΌΠΈΡΡ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΏΠΎΡΠΎΠΌ Π²ΡΡΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Multi-Head Attention (softmax, causal masking ΠΈ ΡΠ±ΠΎΡΠΊΠ° Π³ΠΎΠ»ΠΎΠ²), Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ±ΠΈΡΠ°ΡΡ GPT-Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈΠ· embeddingβΠΎΠ², ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ΅Ρ-Π±Π»ΠΎΠΊΠΎΠ² ΠΈ headβΠ°. Π‘Π°ΠΌΠΎΠ΅ ΡΠ΅Π΄ΠΊΠΎΠ΅ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΠΊΡΡΡΠ°Ρ
β ΡΡΠΎ attention ΠΈ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΈΡΡΡ ΡΡΠΊΠ°ΠΌΠΈ: Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΠΈΠΌΠΏΠΎΡΡΠΎΠ² Π²ΡΠΎΠ΄Π΅ nn.MultiheadAttention ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠ½ΡΡΡΠΈΠΌΠΈ ΡΠ»Π°ΠΉΠ΄Π°ΠΌΠΈ. ΠΡΡΡ ΠΈ βΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉβ Π±Π»ΠΎΠΊ: Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π²Π΅ΡΡΠΈΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Llama 3 Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ Π΄ΠΎ 131,072 ΡΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ ΠΎΡΠ»ΠΈΡΠΈΡΠΌΠΈ Π²ΡΠΎΠ΄Π΅ SwiGLU ΠΈ RMSNorm; Π΄Π»Ρ Qwen 3 ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ qk_norm ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠ΅/ΡΠ°Π·ΠΌΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ (0.6Bβ32B). ΠΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
Π·Π°Π΄Π°ΡΠ°Ρ
: Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΅ΡΡΡ LoRA (Low-Rank Adaptation) Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎ-ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ
π LLMs-from-scratch: ΡΡΠ΅Π±Π½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ GPT-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ LLM Π½Π° ΡΠΈΡΡΠΎΠΌ PyTorch Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ Π²Π½ΡΡΡΠΈ
15Β ΠΌΠ°Ρ15Β ΠΌΠ°Ρ
1 ΠΌΠΈΠ½