raulmodena/leire-corpus
Leire Corpus (EN) Tokenized pretraining corpus for Leire, a 343.7M-parameter Brazilian Portuguese LM trained from scratch on Kaggle T4s. ~15B tokens, 70% PT / 15% code / 8% math / 7% educational English, tokenized with a custom 32,768 BPE vocabulary trained on the same mixture. Shards are uint16 binaries; recipe and stats below (in Portuguese). Corpus de pre-treino da Leire, um LM de 343,7M de parametros em portugues brasileiro, treinado do zero em T4 do Kaggle. O projeto e… See the full description on the dataset page: https://huggingface.co/datasets/raulmodena/leire-corpus.
Leire Corpus
(EN) Tokenized pretraining corpus for Leire, a 343.7M-parameter Brazilian Portuguese LM trained from scratch on Kaggle T4s. ~15B tokens, 70% PT / 15% code / 8% math / 7% educational English, tokenized with a custom 32,768 BPE vocabulary trained on the same mixture. Shards are uint16 binaries; recipe and stats below (in Portuguese).
Corpus de pre-treino da Leire, um LM de 343,7M de parametros em portugues brasileiro, treinado do zero em T4 do Kaggle. O projeto e aberto por identidade: pesos, receita, codigo de avaliacao e este corpus.
Mix (aprovado em 28/08/2026)
Nota honesta: a fonte de codigo planejada era HuggingFaceTB/stack-edu, que distribui apenas metadados (blob_id) sem o texto. Usamos o espelho com texto acima, que replica as mesmas 25,3M linhas Python do Stack-Edu.
Tokenizer
leire_tokenizer.json: BPE byte-level, vocab 32.768, treinado sobre amostra estratificada de 2GB da propria mistura (nunca so PT). Especiais: bos, eos, pad + 8 reservados. Compressao medida (tokens/palavra; menor e melhor):
A 4,5% do tokenizer PT-puro em PT, 50% melhor que ele em codigo.
Formato dos shards
- {fatia}train{NNN}.bin / {fatia}val{NNN}.bin: token ids uint16 little-endian, documentos separados por eos. Nome unico por shard; nenhum arquivo e sobrescrito.
- progress_{fatia}.json: progresso da esteira (retomavel).
- 1 doc a cada 1000 vai para val, nunca para treino.
Como reproduzir
Esteira completa em scripts/fase1_corpus.py no repo do projeto: streaming das fontes -> filtro (len>=200) -> tokenizacao -> shards de 250M tokens -> upload.
Licencas
Cada fatia herda a licenca da fonte upstream (linkadas acima): GigaVerbo-v2 (other), Stack-Edu (derivado do The Stack v2), FineMath e FineWeb-Edu (odc-by). Este repo nao adiciona restricao propria.
O que este corpus NAO e
Nao e um corpus geral de PT: e o combustivel de um experimento especifico (recursao + memoria condicional + honestidade a 343,7M). Codigo esta aqui pelo raciocinio que transfere, nao para ensinar a programar.
