Este repositório contém o código e os resultados estendidos do artigo Fishing for Magikarp: Automatically Detecting Under-trained Tokens in Large Language Models
A coisa mais interessante neste repositório são provavelmente os relatórios detalhados e a tabela de resumo encontrados em results/. Para cada modelo, existe um relatório ‘completo’ e um ‘mini’. A versão 'mini' sempre pode ser aberta no github, mas a versão completa pode exigir download e visualização local devido a limitações de tamanho de arquivo.
Nestes relatórios:
▁
um espaço (mas não _
)¿entry?
representa tokens com uma entry
de vocabulário que não foi codificada conforme o esperado. poetry shell # make/activate your virtual environment
poetry install # only the first time or on updates
Para alguns modelos mais recentes, pode ser necessário instalar uma versão mais recente dos transformadores usando pip install git+https://github.com/huggingface/transformers.git
Consulte run_verification.sh
para obter alguns exemplos de comandos para executar novos modelos. O script em si é principalmente uma referência para reprodutibilidade e sua execução não é recomendada.
Para modelos com embeddings vinculados ou para visualizações e resultados mais agradáveis, você precisará codificar alguns IDs de token não utilizados em magikarp/unused_tokens.py
.
[0]
, ou use o vocabulário do tokenizer para escolher alguns.magikarp/fishing.py
e elimine-o quando ele iniciar a verificação.results/verifications/yourmodel.jsonl
que permite examinar o vocabulário e atualizar tokens adequados.generate_results.py
: gera gráficos e relatórios de descontos. Isso acontece automaticamente após a verificação, mas para regenerar você pode python generate_results.py [your_model_id]
e depois olhar nos results
. Se você quiser contribuir com resultados para modelos adicionais, inclua:
UNUSED_TOKENS
pytest
) sejam aprovados para o novo modelo, que usa essa matriz como um registro de modelo.run_verification.sh
results
que não são .gitignore
'd Se você conhece algum modelo que pode ser interessante de analisar, mas não tem recursos para executá-lo sozinho, fique à vontade para abrir um issue. Adicione o ID Hugging Face, algumas informações sobre como ele é interessante em termos de tokenização, e tenha em mente que quanto maior o modelo, menor a probabilidade de ele ser priorizado.