[embeddings-computer]: Create#409
Conversation
| // IMPORTANT : chemin *logique* du modèle à l’intérieur de /models | ||
| // Si tu as /models/Xenova/all-MiniLM-L6-v2, tu mets exactement : |
There was a problem hiding this comment.
question: Je ne suis pas sûr de comprendre ce commentaire : le modèle est téléchargé dans un le dossier /models/Xenova ?
There was a problem hiding this comment.
Oups. Ça se voit que ce n'est pas moi qui ai écrit ce commentaire ? :P
Le modèle est stocké dans models/Xenova/all-MiniLM-L6-v2 (sans / au début).
| #!/usr/bin/env bash | ||
| set -euo pipefail | ||
|
|
||
| MODEL_ID="Xenova/all-MiniLM-L6-v2" |
There was a problem hiding this comment.
praise: Bonne idée de télécharger directement le modèle avec un message d'erreur (ça évite le stockage inutile dans le dav)
There was a problem hiding this comment.
Et surtout d'avoir à le télécharger à chaque fois qu'on lance le programme.
| { | ||
| "url": "http://vptdmservices.intra.inist.fr:49225/", | ||
| "description": "Latest version for production", | ||
| "#DISABLED#x-profil": "Standard" |
There was a problem hiding this comment.
polish: (bien penser à supprimer le "disabled" sur un nouveau service ! )
| [{ | ||
| "value": [ | ||
| [ | ||
| -0.015692012384533882, |
There was a problem hiding this comment.
thought: Je me demande s'il ne faut pas sauvegarder les embeddings avec moins de précision (Float32 voire Float16 plutôt que Float64 ) ? => cela réduirait la puissance de calcul nécessaire ; à voir si on ne perd pas trop de précision.
There was a problem hiding this comment.
Mais ici ils ne sont pas sauvegardés, simplement calculés.
C'est lors du stockage dans une base vectorielle qu'il faut voir ce qui est le mieux (à mon avis).
Mais tu as raison, c'est une question de compromis taille/précision.
There was a problem hiding this comment.
Qdrant recommande d’utiliser des embeddings stockés en Float32 par défaut, avec la possibilité de descendre à Float16 (voire Uint8 via quantification) si l’objectif est de réduire la taille en mémoire avec un impact limité sur la qualité. studywithgpt
Types de précision supportés
-
Float32 :
- Type par défaut pour les vecteurs denses. studywithgpt
- 4 octets par composante, bon compromis général précision/perf. studywithgpt
-
Float16 :
- Nombre flottant 16 bits, 2 octets par composante. studywithgpt
- Impact « négligeable » sur la qualité de la recherche dans beaucoup de cas, tout en divisant la mémoire par deux. studywithgpt
-
Uint8 (via quantification) :
Recommandation pratique
- Si tu n’as pas de contraintes fortes de RAM ou de latence : reste en Float32 pour la simplicité. studywithgpt
- Si ton index devient volumineux ou que tu vises de gros volumes (RAG web‑scale, multi‑tenant, etc.) :
- tester Float16 d’abord (souvent « gratuit » en qualité),
- puis les schémas de quantification de Qdrant (scalar/binary) si le coût mémoire devient critique, en mesurant la dégradation de la précision de recherche. github
There was a problem hiding this comment.
No description provided.