Les embeddings multimodaux semblent « bon marché » jusqu’à ce que la taille de batch, le nombre de threads, les pics de mémoire unifiée et la profondeur de file contredisent la finance. Cette matrice maintient des checkpoints de type CLIP et SigLIP sous contrôle sur les chemins ONNX et fournisseur d’exécution Core ML, afin de signer les mêmes chiffres sur un portable M4 et sur un Mac distant dédié.

Complétez cette page avec la matrice d’index vectoriel USearch face à FAISS sur Mac pour les quotas en aval, la matrice RAG locale chunks, batch d’embedding et quotas pour l’économie d’ingestion, et la matrice OpenTelemetry GenAI pour harmoniser les noms de champs lorsque vous exportez histogrammes de latence et attributs de batch.

Sur cette page : Matrice de décision · Synthèse opérationnelle · Conversion des formats de modèle · Nombre de threads · Pic mémoire · File d’inférence par batch · Checklist coût nœud distant

Matrice de décision (CLIP vs SigLIP vs chemin d’exécution)

Choisissez une ligne adaptée à votre charge et traitez chaque cellule comme une hypothèse validée avec prétraitement figé et tenseurs identiques. Sur Apple Silicon, la file interactive et le swap discret punissent souvent plus que le débit moyen.

Focus produit CLIP (ViT + tour texte) SigLIP (signal sigmoïde) Contrat de dimension Point de départ batch (classe M4)
Recherche interactive et rerank Outils matures, zoo ONNX large, cosinus prévisible. Utile quand les légendes sont bruitées et que l’alignement fin texte-image prime sur les benchmarks historiques. Figer la sortie (512, 768, etc.) et documenter la normalisation L2 avant produits scalaires. Commencer à batch 1 pour maîtriser la p95, puis augmenter après balayage threads.
Ingestion catalogue hors ligne Idéal si l’exploitation standardise déjà des CLIP pour des index patrimoniaux. Fort lorsque le bruit d’étiquettes est élevé et que la formation sigmoïde réduit les faux voisins en pilote. Aligner tables int8 / float avec le backend ANN (voir l’article index vectoriel). Balayer 8 → 16 → 32 patches par batch en surveillant le pic RSS, pas seulement la moyenne.
Voie ONNX Runtime + Core ML EP Chemin par défaut si le graphe convertit proprement et couvre Neural Engine sans réécrire Swift. Même voie ; surveiller attention et LayerNorm pour opérateurs absents et repli CPU. Tracer si têtes image et texte restent séparées ou dual-écrites pour audit. Recalculer le batch après promotion EP : la fusion modifie la durée de vie des tampons.

Synthèse opérationnelle (conversion · threads · mémoire · file)

Le tableau ci-dessous condense ce que les revues d’architecture attendent d’une PR « embedding multimodal sur Mac » : des colonnes vérifiables plutôt que des promesses de speedup.

Volet Indicateur minimal Action / garde-fou
Conversion Parité logits ONNX CPU ↔ Core ML EP sur jeu de sondes Paquet de tenseurs dorés versionné ; epsilon cosinus convenu en CI
Threads Caps intra-op / inter-op journalisés par job Éviter la sursouscription quand plusieurs workers HTTP multiplexent déjà le CPU
Mémoire Pic RSS pendant décodage + resize, pas seulement régime établi Échec si swap soutenu, même si le débit moyen reste flatteur
File batch Profondeur max, attente p95, politique de refus Contre-pression HTTP plutôt que tampons mémoire illimités

Conversion des formats de modèle

PyTorch → ONNX est le premier contrat ; ONNX → Core ML (ou export Core ML direct) le second. Journalisez exporteur, opset, axes dynamiques pour texte variable et adaptateurs. Un paquet de tenseurs dorés impose que la distance cosinus ONNX CPU ↔ Core ML EP reste sous epsilon avant production. Opérateur récalcitrant : nommez le sous-graphe et tranchez (réécriture, repli CPU, autre checkpoint). Avec chunks RAG et quotas disque, figez tokenizer et révision ONNX dans un seul manifeste.

Nombre de threads

Intra-op : démarrer près du nombre de cœurs performance, puis réduire si p95 gonfle sans gain de débit. Inter-op : rester modeste quand plusieurs workers HTTP multiplexent déjà le CPU — la sursouscription gonfle surtout les queues. Journalisez plafonds + batch pour rejouer à l’identique sur les hôtes d’index vectoriel distants.

Pic mémoire

Mesurez le pic RSS pendant décodage et resize, pas seulement en régime établi. Image + tokens texte font monter la mémoire unifiée avec le batch. Réservez marge pour cache fichiers et télémétrie : swap pendant un bain = échec même si la moyenne est flatteuse. Croisez avec la matrice RAG citée plus haut et présentez à la finance « images/h + pic RSS » plutôt qu’un taux GPU moyen.

File d’inférence par batch

Files en ligne et hors ligne séparées pour éviter qu’une rafale d’ingestion affame le rerank. Profondeur max, SLO d’attente, politique de refus. Contre-pression HTTP plutôt que tampons illimités — un embedding pèse souvent plus qu’un jeton de chat. Lettres mortes versionnées par révision de modèle pour rejouer après conversion. Étiquetez les spans comme dans la matrice OpenTelemetry GenAI.

Checklist d’acceptation des coûts sur nœud distant

La finance doit recevoir les mêmes artefacts que l’exploitation. Parcourez la liste sur un hôte loué avant d’augmenter les heures facturées.

  1. Archiver les bundles ONNX et Core ML exacts avec sommes de contrôle dans l’objet stockage lié au locataire.
  2. Lancer un bain d’au moins six heures avec les courbes de batch de production tout en enregistrant images/heure et erreurs.
  3. Comparer le temps mural du planificateur aux minutes facturées, y compris les fenêtres de démarrage à froid.
  4. Attacher aux jobs OpenTelemetry batch, threads, file d’attente et identifiant machine.
  5. Ne signer qu’absence de swap soutenu et p95 dans l’enveloppe du tableau capturé localement.
  • Porte étiquetable : plafond de tokens texte et plus petit côté image à ±1 % des benchmarks locaux lors du test de parité distante.
  • Porte étiquetable : échantillons de pic RSS au moins une fois par palier de batch dans le graphique nocturne.
  • Porte étiquetable : zéro avertissement de repli Core ML inexpliqué pendant le bain, sinon rouvrir la conversion.

FAQ

Une dimension plus faible est-elle toujours moins chère ? Pas si la quantification ou les paramètres ANN déplacent le rappel : traitez la dimension comme un contrat avec l’équipe d’index.

Faut-il valider SigLIP longuement sur CPU pour la parité ? Un passage bref oui, mais concentrez les cycles sur l’EP réellement livré pour que l’acceptation reflète la production.

Consultez l’accueil pour le positionnement produit, la documentation d’aide pour l’accès SSH et à la console, puis comparez les tarifs et poursuivez vers l’achat sans créer de compte.

Résumé — orientation achat : figez prétraitement et contrats de dimension, promouvez ONNX vers Core ML EP avec de nouveaux balayages batch et mémoire, plafonnez explicitement threads et files, exportez des champs de télémétrie lisibles par la finance, puis n’achetez des heures Apple Silicon dédiées qu’après qu’un bain distant a rapproché chronomètre et facture. Les pages tarifs et achat restent consultables publiquement pour chiffrer un nœud avant engagement.