43 lines
581 B
Markdown
43 lines
581 B
Markdown
# kNN OpenCL
|
|
|
|
Modulo futuro per costruire il grafo dei vicini degli embedding SFace
|
|
tramite OpenCL.
|
|
|
|
## Input previsto
|
|
|
|
```text
|
|
embedding float32[N][128]
|
|
```
|
|
|
|
Gli embedding saranno già L2-normalizzati.
|
|
|
|
Di conseguenza:
|
|
|
|
```text
|
|
cosine_similarity(a,b) = dot(a,b)
|
|
```
|
|
|
|
## Output previsto
|
|
|
|
```text
|
|
indices[N][32]
|
|
scores[N][32]
|
|
```
|
|
|
|
## Obiettivo iniziale
|
|
|
|
```text
|
|
embedding float32[N][128]
|
|
|
|
|
v
|
|
brute-force dot product
|
|
|
|
|
v
|
|
TOPK=32
|
|
|
|
|
+-- neighbor index
|
|
`-- similarity score
|
|
```
|
|
|
|
La prima implementazione privilegerà la correttezza e la validazione
|
|
CPU/GPU.
|