Une semaine plus tard, les questions arrivent
Faire tourner une fonctionnalité d'IA, c'est connaître chaque semaine son coût, sa vitesse et sa qualité. Ces trois chiffres décident si la fonctionnalité vaut la peine d'être gardée.
Une fonctionnalité de résumé est en service depuis lundi dernier. La comptabilité demande combien elle coûte. Le support demande pourquoi certaines réponses sont lentes. Les impressions ne suffisent pas. Dans ce projet, vous calculez les chiffres d'une semaine enregistrée et vous les écrivez sur une seule page.
À la fin de cette leçon
Remarque
Je peux rendre compte du coût, de la vitesse et de la qualité d'une fonctionnalité d'IA en service.
Mots clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Jeton | un petit morceau de texte qu'un modèle lit ou écrit | |
| Latence | le temps que prend une requête | |
| Médiane | la valeur du milieu une fois les valeurs triées | |
| Centile | la valeur sous laquelle reste une part donnée des requêtes | 95e centile |
| Score de qualité | la part des réponses notées bonnes dans un échantillon |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Pour aller plus loin
Remarque
Ce projet lit des chiffres et en rend compte. Les leçons d'IA de la page Ressources apprennent à les recueillir. Coût, traçage et fiabilité. Évaluer des systèmes d'IA en détail. Exploiter des fonctionnalités d'IA.
Le coût vient des jetons
Un modèle se paie en général au jeton, en entrée et en sortie. Le texte que vous envoyez, ce sont les jetons d'entrée. La réponse, ce sont les jetons de sortie, souvent plus chers.
Le coût dépend donc de la longueur de vos consignes, pas seulement du nombre de requêtes. Le programme calcule le coût de chaque jour d'une semaine enregistrée, avec des prix inventés.
À vous : le coût d'une semaine
# Une semaine enregistrée d'une fonctionnalité de résumé.
# Les jetons sont comptés en milliers. Prix inventés pour l'exercice.
CENTIMES_PAR_MILLIER_ENTREE = 1
CENTIMES_PAR_MILLIER_SORTIE = 4
jours = [
{"jour": "lun", "requetes": 400, "entree": 800, "sortie": 120},
{"jour": "mar", "requetes": 420, "entree": 840, "sortie": 130},
{"jour": "mer", "requetes": 380, "entree": 760, "sortie": 110},
{"jour": "jeu", "requetes": 900, "entree": 2700, "sortie": 300},
{"jour": "ven", "requetes": 410, "entree": 820, "sortie": 125},
]
total_centimes = 0
total_requetes = 0
for jour in jours:
centimes = jour["entree"] * CENTIMES_PAR_MILLIER_ENTREE + jour["sortie"] * CENTIMES_PAR_MILLIER_SORTIE
print(jour["jour"], centimes, "centimes")
total_centimes = total_centimes + centimes
total_requetes = total_requetes + jour["requetes"]
print("Semaine :", total_centimes, "centimes pour", total_requetes, "requêtes")
# Quel jour se détache ? Donnez au jeudi les chiffres du lundi, puis relancez.
Une moyenne cache les requêtes lentes
La latence est le temps que prend une requête. La moyenne semble utile, mais deux requêtes très lentes peuvent s'y cacher.
Donnez donc la médiane, la valeur du milieu, et le 95e centile. Triez les temps. Le 95e centile est le temps sous lequel restent 95 requêtes sur 100. C'est ce que vivent vos utilisateurs les moins chanceux.
À vous : médiane, moyenne et 95e centile
# Un échantillon enregistré : 20 temps de réponse en secondes.
temps = [1.2, 1.1, 1.4, 1.3, 1.2, 1.5, 1.1, 1.3, 1.2, 9.8,
1.4, 1.2, 1.3, 1.1, 1.6, 1.2, 1.3, 8.9, 1.4, 1.2]
tries = sorted(temps)
milieu = tries[len(tries) // 2]
print("Médiane :", milieu, "secondes")
total = 0
for t in temps:
total = total + t
print("Moyenne :", round(total / len(temps), 2), "secondes")
# 95 % de 20, c'est 19 : on prend le 19e temps dans l'ordre.
print("95e centile :", tries[18], "secondes")
La qualité, puis une seule page
Le coût et la vitesse ne valent pas grand-chose si les réponses sont mauvaises. Chaque semaine, une personne note un échantillon fixe, par exemple 50 réponses. La part notée bonne est le score de qualité.
Ensuite, les trois vont sur une page : le chiffre, l'objectif et ce que vous allez faire. Un responsable doit pouvoir décider avec cette page seule.
Exemple travaillé : le rapport d'une page
| Mesure | Cette semaine | Objectif | Action |
|---|---|---|---|
| Coût | 90,60 € pour 2 510 requêtes | Moins de 80 € | Raccourcir la consigne envoyée le jeudi |
| Latence médiane | 1,3 seconde | Moins de 2 secondes | Aucune |
| 95e centile | 8,9 secondes | Moins de 5 secondes | Trouver les requêtes lentes dans les journaux |
| Score de qualité | 44 bonnes sur 50 | 45 sur 50 | Ajouter les 6 échecs au jeu d'évaluation |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une erreur fréquente
Attention
Beaucoup pensent que le temps de réponse moyen dit comment la fonctionnalité est vécue. Quelques requêtes très lentes se cachent dans une bonne moyenne. Donnez aussi le 95e centile, car c'est ce que vivent vos utilisateurs les plus mal servis.