Ce référentiel contient le code et les résultats étendus de l'article Fishing for Magikarp: Automatically Detecting Under-trained Tokens in Large Language Models.
La chose la plus intéressante dans ce référentiel est probablement les rapports détaillés et le tableau récapitulatif trouvés dans results/. Pour chaque modèle, il existe un rapport « complet » et un « mini ». La version « mini » peut toujours être ouverte sur github, mais la version complète peut nécessiter un téléchargement et une visualisation locale en raison des limitations de taille de fichier.
Dans ces rapports :
▁
un espace (mais pas _
)¿entry?
représente des jetons avec une entry
de vocabulaire qui n'a pas été codée comme prévu. poetry shell # make/activate your virtual environment
poetry install # only the first time or on updates
Pour certains modèles plus récents, vous devrez peut-être installer une version plus récente des transformateurs en utilisant pip install git+https://github.com/huggingface/transformers.git
Voir run_verification.sh
pour quelques exemples de commandes permettant d'exécuter de nouveaux modèles. Le script lui-même est principalement une référence en matière de reproductibilité et son exécution n'est pas recommandée.
Pour les modèles avec des intégrations liées, ou pour des visualisations et des résultats plus agréables, vous devrez coder en dur certains identifiants de jetons inutilisés dans magikarp/unused_tokens.py
.
[0]
, ou utilisez le vocabulaire du tokenizer pour en choisir.magikarp/fishing.py
et tuez-le lorsqu'il commence la vérification.results/verifications/yourmodel.jsonl
qui vous permet de consulter le vocabulaire et de mettre à jour les jetons appropriés.generate_results.py
: génère des tracés et des rapports de démarque. Cela se produit automatiquement après vérification, mais pour régénérer, vous pouvez python generate_results.py [your_model_id]
puis consulter results
. Si vous souhaitez contribuer aux résultats de modèles supplémentaires, veuillez inclure :
UNUSED_TOKENS
pytest
) réussissent pour le nouveau modèle, qui utilise ce tableau comme registre de modèles.run_verification.sh
results
qui ne sont pas .gitignore
Si vous connaissez un modèle qui peut être intéressant à analyser, mais que vous n'avez pas les ressources nécessaires pour l'exécuter vous-même, n'hésitez pas à ouvrir un ticket. Veuillez ajouter l'identifiant Hugging Face, quelques informations sur son intérêt en termes de tokenisation, et gardez à l'esprit que plus le modèle est grand, moins il est susceptible d'être priorisé.