Aller au contenu
English

Mettre à l'échelle les API et les charges de travail d'IA

Préparez un service d'IA à dix fois le trafic habituel, avec des preuves. Vous mesurez d'abord l'API de billets de Larkfield, puis vous ajoutez la concurrence, un cache sûr, une file d'attente de tâches avec des travailleurs et des limites qui gardent la surcharge sous contrôle, et vous montrez chaque changement avec un test de charge.

Voir le contenu du cours

Lisez toutes les leçons sans compte, ou connectez-vous pour vous inscrire et suivre vos progrès.

Ce que vous apprendrez

À la fin de ce cours, vous pourrez :

  • Estimer la charge de travail et trouver les goulots d'étranglement.
  • Utiliser à bon escient la concurrence, le cache et les files d'attente.
  • Concevoir des nouvelles tentatives et une contre-pression robustes.
  • Valider les choix de mise à l'échelle avec des tests de charge contrôlés.

À propos de ce cours

Le Vendredi fou approche. Le centre d’assistance de Larkfield attend environ dix fois le nombre habituel de billets pendant quelques heures, et chaque nouveau billet lance maintenant un travail d’IA : le service le classe, rédige une réponse et calcule un plongement. Le fournisseur d’IA met des secondes à répondre, et il refuse des requêtes quand le centre d’assistance dépasse son quota.

Dans ce cours, vous préparez l’API de billets de Larkfield pour ce jour-là, un changement mesuré à la fois. D’abord, vous mesurez : vous décrivez la charge de travail en chiffres et vous trouvez le goulot d’étranglement. Ensuite, vous laissez le service faire plus de choses à la fois, et vous voyez où plus de concurrence cesse d’aider. Vous ajoutez un cache qui ne sert jamais la réponse d’une personne à une autre personne.

Puis vous déplacez le lent travail d’IA vers une file d’attente avec des travailleurs en arrière-plan. Un message répété a quand même un seul effet, et une file pleine refuse le nouveau travail avec un message clair au lieu de grandir sans limite. Vous ajoutez des délais d’attente, un disjoncteur et un arrêt en douceur, pour qu’un fournisseur lent ou en panne n’arrête pas tout le service.

Pour finir, vous prouvez chaque changement avec un test de charge et vous écrivez une recommandation de capacité. Tout s’exécute sur votre ordinateur, y compris un fournisseur d’IA simulé dont les temps viennent de vrais appels enregistrés. Chaque latence, chaque débit et chaque nombre d’erreurs des leçons vient d’une vraie exécution, et les leçons disent toujours sur quel ordinateur et sous quelle charge de travail.

Avant de commencer

Vous avez suivi les cours Créer et déployer votre première API, L'essentiel de Docker et du nuage pour les développeurs en IA, et Bases de données et stockage pour les applications d'IA, ou vous avez les mêmes compétences. Vous n'avez besoin ni d'un compte ni d'argent. La base de données, le cache, le fournisseur d'IA (un fournisseur simulé) et le générateur de charge s'exécutent tous sur votre ordinateur.

Cours à suivre avant : Créer et déployer votre première API, L'essentiel de Docker et du nuage pour les développeurs en IA, Bases de données et stockage pour les applications d'IA.

À qui s'adresse ce cours

Les personnes qui savent créer une petite API avec une base de données et l'exécuter dans Docker, comme dans les cours Créer et déployer votre première API, L'essentiel de Docker et du nuage pour les développeurs en IA, et Bases de données et stockage pour les applications d'IA, et qui ont maintenant besoin qu'elle reste rapide et correcte quand beaucoup de requêtes et de lents appels d'IA arrivent en même temps. Les développeurs et ingénieurs en IA responsables d'un service.

Comment nous avons créé ce cours

Des spécialistes de l'IA expérimentés ont conçu ce cours. L'IA nous a aidés à rédiger le contenu; des personnes ont choisi l'approche pédagogique et les exemples, et ont révisé chaque leçon. Les résultats que vous voyez sont les vrais résultats de l'exécution du code. Comment nous créons les cours

Dans ce cours

Module 1Mesurer avant de mettre à l'échelle

4 leçons · bientôt

Mesurez avant de changer quoi que ce soit. Vous ajoutez le travail d'IA à l'API de billets, vous décrivez la charge de travail en chiffres, vous lisez des moyennes et des centiles, et vous trouvez où une requête passe son temps.

  1. Exécuter la charge de travail d'IA sur votre ordinateur
  2. Modèle de charge de travail
  3. Latence et capacité
  4. Trouver le goulot d'étranglement

Module 2Concurrence et limites des services

3 leçons · bientôt

Faites plus de choses à la fois sans rien briser. Vous voyez comment un seul appel bloquant arrête un serveur asynchrone, vous exécutez plusieurs instances, et vous découvrez pourquoi plus de concurrence peut donner moins de travail utile.

  1. Travail d'E/S et travail de calcul
  2. Mise à l'échelle horizontale
  3. Limites des dépendances

Module 3Utiliser le cache sans fausser les résultats

3 leçons · bientôt

Mettez des réponses en cache sans jamais servir la mauvaise. Vous choisissez quoi mettre en cache, vous mettez les versions et l'identité de l'appelant dans chaque clé, et vous survivez à un cache vide ou en panne.

  1. Choisir ce qui peut être mis en cache
  2. Clés et invalidation
  3. Pannes et ruée sur le cache

Module 4Files d'attente et travailleurs en arrière-plan

3 leçons · bientôt

Déplacez le lent travail d'IA vers une file d'attente. Vous suivez chaque tâche de la soumission au résultat, vous faites qu'un message répété ait un seul effet, et vous refusez poliment le travail en trop avant que la file grandisse sans limite.

  1. Cycle de vie d'une tâche
  2. Livraison et nouvelles tentatives
  3. Contre-pression

Module 5Résilience et mise à l'échelle automatique

3 leçons · bientôt

Restez en service quand une dépendance tombe en panne. Vous utilisez des délais d'attente, un disjoncteur et un budget de nouvelles tentatives, vous mettez à l'échelle selon le bon signal, et vous remplacez un travailleur sans perdre une tâche.

  1. Contenir les défaillances
  2. Signaux de mise à l'échelle
  3. Arrêt en douceur

Module 6Valider et justifier les changements

3 leçons · bientôt

Prouvez chaque changement avec un test de charge. Vous concevez des tests de montée, de régime stable, de rafale et d'endurance, vous comparez des configurations selon les centiles, les erreurs et le coût par tâche, et vous écrivez une recommandation de capacité que vous pouvez défendre.

  1. Concevoir un test de charge
  2. Comparer les configurations
  3. Recommandation de capacité

Dernier module · choisissez-en au moins uneÉtudes de cas

2 études de cas · bientôt

Deux études de cas de bout en bout sur des données ouvertes. Planifiez la capacité à partir d'une vraie trace de trafic publique, et ajoutez une file d'attente et un cache à une API de données ouvertes sous charge. Terminez-en au moins une pour obtenir le certificat. Chacune peut entrer dans votre portfolio.

Terminez au moins une étude de cas pour obtenir le certificat. Les autres sont facultatives. Ce que couvre chacune

  1. Plan de capacité à partir d'une trace de trafic publique
  2. File d'attente et cache pour une API de données ouvertes

Études de cas

Des projets réalistes du début à la fin, sur de vraies données, avec chaque résultat expliqué. Chacun devient une pièce de votre portfolio. Terminez-en au moins une pour obtenir le certificat; les autres sont facultatives.

  1. Plan de capacité à partir d'une trace de trafic publiqueBientôt

    Modéliser les arrivées et les rafales à partir d'un journal public de demandes, et calculer la file d'attente que créerait un nombre donné de travailleurs.

  2. File d'attente et cache pour une API de données ouvertesBientôt

    Mettre une API de données ouvertes sous charge, ajouter un cache et une tâche d'exportation en arrière-plan, et mesurer l'effet de chaque changement.

Avis

Chargement des avis…

    Vous avez suivi ce cours? Connectez-vous pour donner votre avis. Vous pouvez donner un avis après avoir terminé 25 % des leçons.

    Partager ce cours