ai basics - modrpc/info GitHub Wiki
λ³Έ λ¬Έμλ ν
μ€νΈ λͺ
λ Ήμ΄κ° μ΄λ»κ² κ³ μ λ κ°μ€μΉ(
μ¬μ©μμ μ λ ₯μ κ³ μ°¨μ 곡κ°μμ μ’νλ‘ λ³νλλ€.
- ν ν°ν (Tokenization): λ¬Έμ₯μ μ΅μ μλ―Έ λ¨μλ‘ λΆν .
- λ²‘ν° ν¬μ: κ° ν ν°μ μμ² μ°¨μμ 벑ν°λ‘ λ³νλ¨.
- μμ:
- <math>e = \text{Embedding}(token)</math>
μ λ ₯λ λͺ λ Ήμ΄λ νλμ¨μ΄μ λ μ§μ€ν° ν¨μΉμ κ°μ μν μ νλ©°, KV Cacheμ μ μ₯λλ€.
-
KV Cache μμ£Ό: λͺ
λ Ήμ΄ "From now on use HJJ"μμ μΆμΆλ νΉμ§μ΄ Key(
$K$ ) 벑ν°κ° λμ΄ μμ λ©λͺ¨λ¦¬μ μ μ₯λ¨. - μμΈν: νΉμ μ λ ₯(Query)μ΄ λ€μ΄μμ λ μ΄λλ₯Ό μ°Έμ‘°ν μ§ κ²°μ νλ κΈ°μ€μ μ΄ λ¨.
μ€μ μ°μ° μ
-
μ μ¬λ κ³μ°: μ
λ ₯ Query(
$Q$ )μ μΊμλ Key($K$ )μ λ΄μ (Dot Product) μ°μ°. - μμ (Attention Core):
- <math>\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V</math>
- μμ§λμ΄λ§ ν¬μΈνΈ: λ΄μ κ°μ΄ λμμλ‘ ν΄λΉ κ²½λ‘μ κ²μ΄νΈκ° μ΄λ¦¬λ©°, νΉμ μ 보(Value)κ° μ¦νλ¨.
λͺ λ Ήμ΄λ κΈ°μ‘΄ μ ν κ²°ν©μ μ‘°κ±΄λΆ λ°μ΄μ΄μ€λ₯Ό μΆκ°νλ κ²κ³Ό κ°λ€.
- κΈ°λ³Έ μν:
- <math>y = Wx + b</math>
- λͺ λ Ήμ΄ κ°μ μ:
- <math>y = Wx + (b + \mathbf{c}_{HJJ})</math>
-
ν¨κ³Ό: μ μ΄ λ²‘ν°
$\mathbf{c}_{HJJ}$ κ° κΈ°μ‘΄ μΆλ ₯ λ°©ν₯μ μλ‘μ΄ μ’νμΆ(HJJμ μ μ)μΌλ‘ λΉν(Steering).
| λ¨κ³ | μ°μ° μ±κ²© | νλμ¨μ΄μ λΉμ |
|---|---|---|
| 1. Fetch | Embedding | μ€κ³λ λ‘λ© (Input Vectors) |
| 2. Store | KV Caching | μ μ΄ λ μ§μ€ν° μ€μ (Patch Key) |
| 3. Match | Dot Product | CAM (Content-Addressable Memory) κ²μ |
| 4. Execute | Weighted Sum | λ°μ΄ν° κ²½λ‘ λ¦¬λ€μ΄λ μ (Steering) |
λͺ λ Ήμ΄ ν μ€νΈλ κ³ μ λ κ°μ€μΉ(ROM)λ₯Ό μμ νμ§ μκ³ , μ΄ν μ λ μ΄μ΄μ λ΄μ μ°μ°μ ν΅ν΄ λ°μ΄ν°κ° νλ₯΄λ μ€λ ₯μ₯μ μ€μκ°μΌλ‘ μ¬κ΅¬μ±νλ μννΈμ¨μ΄μ μ μ΄ μ νΈμ΄λ€.