File size: 1,526 Bytes
6fbe100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# CORTEX — evaluation

Évaluation des checkpoints CORTEX.

| Fichier | Rôle |
|---|---|
| `evaluate.py` | perte, perplexité et génération sur un jeu tenu à l'écart |

## Deux mesures

**Perte et perplexité.** Calculées sur les fenêtres de tokens d'un jeu d'évaluation. C'est
la mesure la plus fiable disponible ici : elle ne dépend d'aucun test d'exécution et
compare directement le modèle à lui-même au fil de l'entraînement.

**Génération.** Le modèle complète une invite et la sortie est comparée à la référence.
Cette mesure est faible et doit être lue comme telle : elle indique si le modèle se
dirige vers la bonne réponse, pas si le code est correct.

## Ce qui n'est pas encore mesuré

Aucune évaluation d'exécution (`pass@k`) n'est implémentée. Elle demanderait d'exécuter du
code généré dans un bac à sable, ce qui est un chantier à part entière et n'est pas
revendiqué ici.

## Exemple

```python
import json
from evaluation.evaluate import report

print(json.dumps(report("checkpoints/dev/final", limit=20), indent=2))
```

## Règle d'honnêteté

Un modèle de développement de ~175 M paramètres entraîné quelques centaines d'étapes
produit du code médiocre. Les rapports affichent les chiffres mesurés sans les arrondir
vers le haut, et `report()` inclut une réserve explicite dans le champ `caveat`.

`cortex-code-eval` (HumanEval) est réservé à l'évaluation : l'utiliser pour l'entraînement
invaliderait la mesure. Le registre le signale explicitement.