Considérez DSPy comme un compilateur pour des programmes de prompts, et non comme un substitut à une évaluation gouvernée. La matrice ci-dessous sépare ce que vous optimisez, ce que vous figez, quelles portes métriques bloquent une livraison, et comment une répétition sur Apple Silicon distant révèle loyer réel et latence de queue qu’un portable masque.

Sur cette page : frictions · matrice décisionnelle · flux d’évaluation · plafonds ressources · checklist coût nœud distant · FAQ

Croisez cette matrice avec le nommage des champs de télémétrie du guide OpenTelemetry GenAI sur Mac, alignez tokenizer et hypothèses de lots avec les notes MLX-LM et Transformers sur M4, et réutilisez l’hygiène des jeux de données du playbook RAG local : chunks, embeddings et quotas lorsque votre évaluation mélange récupération et génération.

Frictions fréquentes sur des piles LLM de classe Mac

1. Sur-apprentissage de l’optimiseur. De petites tranches de développement et des retouches manuelles font briller la compilation DSPy jusqu’à ce qu’une suite hors ligne tenue à l’écart s’effondre.

2. Théâtre matériel. Des exécutions ponctuelles sur portable mélangent concurrence avec le bureau, throttling thermique et tailles de lot improvisées : les débits ne sont plus comparables d’un jour à l’autre.

3. Angle mort économique. Les grilles tarifaires API ignorent loyer horaire, minutes GPU inactives et retravail dû aux violations de contraintes : la finance ne peut pas défendre le déploiement sans une preuve sur nœud dédié.

Matrice décisionnelle : artefact, rôle et porte

Artefact Rôle Porte typique
Signature + téléprompteur DSPy Programme de prompts structuré avec entrées et sorties typées. Taux JSON valide au schéma > 99 % sur la suite hors ligne avant fusion.
Compilation ou amorçage Recherche de prompts assistée par enseignant, à tours bornés. Tours d’optimiseur plafonnés ; aucun appel enseignant sans identifiant de budget dans les traces.
Éval JSONL tenue à l’écart Benchmark versionné avec empreinte de manifeste. Score principal dans ±1,5 % de la dernière référence verte sauf arbitrage produit.
Suite de contraintes Politiques PII, toxicité ou mauvais usage d’outils. Zéro tolérance à 0 ; limites souples en dessous de 0,5 %.
Rapport de soak distant Évaluation répétée sur Mac dédié. Latence de bout en bout p95 sous porte ; loyer et jetons rapprochés.

En revue hebdomadaire, parcourez le tableau de haut en bas : signatures figées, hash de manifeste aligné sur la CI, puis portes contraintes et latence avant toute discussion sur la « créativité » du modèle. Si une porte échoue, ouvrez un seul ticket de correction qui cite la métrique, la tranche et l’impact dollar estimé pour que produit et finance décident ensemble.

Flux d’évaluation opérable

1. Geler les manifestes : publier SHA256, décompte de lignes et champs licence à côté de chaque split hors ligne.

2. Encoder les signatures : garder prompts et sélecteurs few-shot dans le dépôt, pas dans des fils de discussion.

3. Lancer compilation ou amorçage avec graines figées et budget d’optimiseur maximal aligné sur la finance.

4. Exécuter le harnais hors ligne en local sur Metal avec la même quantification et la même fenêtre de contexte que la cible de livraison.

5. Émettre un rapport JSON unique avec agrégats, découpe par tranche et pires cas pour le débogage.

6. Rejouer le même job sur un Mac distant loué pendant au moins quatre heures continues, en capturant latence p95 stable alimentation et coût d’inactivité.

Archivez chaque run avec la même chaîne de version sémantique que le tag Git afin que les auditeurs différencient prompts, jeux et profils matériels sans ouvrir de notebooks.

Plafonds ressources pour références Apple Silicon

Point de départ pour hôtes mémoire unifiée de classe M4 ; resserrez après profilage de la largeur de modèle.

  • Empreinte résidente du modèle : conserver au moins 18 % de mémoire unifiée libre pour l’OS, le harnais et les caches tokenizer.
  • Concurrence des lots d’éval : borner les workers simultanés pour que les jetons de préremplissage agrégés restent sous 75 % du plafond observé en régime établi.
  • Thermique : suspendre les tours d’optimiseur si le GPU dépasse 92 % en moyenne sur dix minutes sans dégagement d’air suffisant.
  • Disque : réserver 60 Go sur SSD rapide pour poids, caches d’adaptateurs et archives de rapports par branche d’expérience majeure.
# Exemple de variables d’environnement (illustratif ; secrets hors Git) EVAL_SEED=20260420 OFFLINE_EVAL_MANIFEST_SHA256=${OFFLINE_EVAL_MANIFEST_SHA256} DSPY_MAX_TEACHER_ROUNDS=${DSPY_MAX_TEACHER_ROUNDS} DSPY_MAX_BOOTSTRAP_DEMOS=${DSPY_MAX_BOOTSTRAP_DEMOS} QUALITY_REGRESSION_MAX_DELTA=${QUALITY_REGRESSION_MAX_DELTA} CONSTRAINT_HARD_FAIL_RATE_MAX=${CONSTRAINT_HARD_FAIL_RATE_MAX} P95_LATENCY_MS_MAX=${P95_LATENCY_MS_MAX} REMOTE_SOAK_MIN_HOURS=${REMOTE_SOAK_MIN_HOURS} REMOTE_NODE_HOURLY_USD=${REMOTE_NODE_HOURLY_USD}

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

  • Loyer horaire, durée de soak projetée et minutes inactives figurent à côté de la dépense jetons API.
  • L’hôte distant reflète génération de puce, taille mémoire et version majeure de macOS prévues pour la répétition « prod ».
  • La sortie réseau pour téléversement d’artefacts est estimée et plafonnée avec alertes.
  • Disjoncteur et politiques de retry correspondent au harnais hors ligne ; pas d’appels enseignant silencieux supplémentaires.
  • Le dossier final regroupe JSON d’éval, hash de manifeste et approbation signée pour tout assouplissement de porte métrique.

FAQ

Faut-il optimiser DSPy sur chaque pull request ? Non : gardez la compilation lourde hors du chemin critique. Exécutez des régressions rapides sur prompts figés par PR et planifiez l’optimiseur la nuit ou à la demande.

Pourquoi un soak distant si le local est bon ? Les portables dorment, partagent le CPU avec l’IDE et varient les courbes ventilateur. Un nœud dédié imite l’hébergement de jobs longs et stabilise la latence de queue.

Et si la qualité monte mais la latence casse la porte ? Bloquez la livraison ou renégociez une nouvelle porte avec produit et finance ; n’élargissez jamais silencieusement les budgets de latence dans le même train de release.

Comment relier éval hors ligne et prod ? Réutilisez les mêmes identifiants de modèle et conventions de jetons que sur vos traces GenAI (voir le guide lié en tête d’article) pour joindre rapports d’éval et échantillons de trafic.

Pages publiques (sans connexion) : ouvrez la page d’achat et les tarifs, consultez le centre d’aide, puis parcourez d’autres guides depuis l’index du blog technique.