fine-tuning:9llm:9embedding:9machine learning:8deep learning:5generative:5ai:5tool:5
vettori embedding in llm
No. **768 è stato uno standard storico, ma oggi è quasi "piccolo".**
In realtà la dimensione dell'embedding è un parametro dell'architettura e varia da modello a modello.
Per darti un'idea:
| Modello | Dimensione embedding (circa) |
| ----------- | ---------------------------: |
| BERT Base | 768 |
| BERT Large | 1024 |
| GPT-2 Small | 768 |
| GPT-2 XL | 1600 |
| Llama 2 7B | 4096 |
| Llama 2 13B | 5120 |
| Llama 2 70B | 8192 |
| Mistral 7B | 4096 |
Quindi un LLM moderno lavora più spesso con **4096, 5120 o 8192** dimensioni.
---
## Ma attenzione: c'è una confusione molto comune
Si parla di "embedding da 4096", ma in realtà ci sono **tre vettori diversi**.
### 1. L'embedding iniziale
Il token "gatto" diventa
```text
[0.23
-1.14
...
4096 numeri]
```
Questo è il vettore preso dalla matrice degli embedding.
---
### 2. La rappresentazione interna
Dopo ogni layer Transformer, quel vettore cambia.
Dopo il layer 1:
```text
[-0.51
2.31
...
4096]
```
Dopo il layer 2:
```text
[1.04
-0.73
...
4096]
```
...
Alla fine del layer 32 (ad esempio) il vettore è completamente diverso.
Quindi **l'embedding iniziale esiste solo all'ingresso**. Dopo il primo layer il token non è più rappresentato dall'embedding originale, ma da uno stato contestualizzato.
---
### 3. Query, Key e Value
Da quel vettore di 4096 dimensioni si costruiscono altri vettori.
Per esempio:
```text
Embedding (4096)
↓
Query
↓
Key
↓
Value
```
che possono avere la stessa dimensione o essere suddivisi tra le teste di attenzione.
---
# Perché proprio 4096?
Qui c'è una cosa interessante.
Non esiste una teoria che dica:
> "4096 è il numero giusto."
È una scelta ingegneristica.
Più dimensioni significano:
* più capacità di rappresentazione;
* più memoria;
* più calcoli.
Meno dimensioni significano:
* modello più leggero;
* meno capacità.
È un compromesso.
---
# La domanda che mi sono posto anni fa
Ed è la stessa che, secondo me, stai per porti anche tu.
> **Perché proprio un vettore?**
Perché non un albero?
Perché non un grafo?
Perché non una matrice?
Perché non un insieme di vettori?
Questa è una domanda molto profonda.
La risposta è: **perché l'algebra lineare funziona incredibilmente bene sulle GPU**.
Tutto il Transformer è costruito per fare essenzialmente:
* moltiplicazioni di matrici;
* somme;
* normalizzazioni.
È estremamente efficiente.
Ma questo non significa che sia l'unica rappresentazione possibile.
---
Ed è qui che si ricollega alla tua domanda precedente sulla **prossima rivoluzione**.
Io sospetto che, se arriverà un'architettura che supererà i Transformer, **non cambierà tanto il numero di dimensioni**, ma **la natura della rappresentazione interna**.
Oggi ogni token è rappresentato da **un solo vettore** che si evolve attraverso i layer.
Una futura architettura potrebbe rappresentare un concetto con:
* un piccolo **grafo** di relazioni,
* più vettori specializzati (uno per la sintassi, uno per il significato, uno per il ragionamento),
* oppure una memoria dinamica che cresce e si riorganizza durante l'inferenza.
Questa è ricerca aperta, ma è una delle direzioni che potrebbero portare a una rivoluzione paragonabile a quella introdotta dai Transformer.
Fuente original
https://example.com/