BrCamp/bee-350m-pt-base
01.6k
Bee-350M PT (base)
Modelo de linguagem de 345,4M parametros pre-treinado do zero em portugues, com tokenizador proprio de 32k. Nao e' fine-tune de nada: pesos aleatorios -> 21,75B tokens.
Este e' o modelo BASE. Ele nao segue instrucoes — para isso e' preciso SFT.
Resultado medido
bits-por-byte (bpb) num holdout limpo do fineweb-2 PT (400 documentos, sha256 2273c5e4…9663e028c). Menor e' melhor. bpb e' agnostico ao tokenizador, entao compara modelos com vocabularios diferentes de forma justa.
O Bee-350M supera o Bee-150M em 2,76% usando 3,3x menos tokens por parametro.
Como foi treinado
O que aprendemos treinando ele
Dois resultados medidos que valem mais que o modelo:
- O decaimento de LR vale ~10% de bpb. O mesmo modelo, nos mesmos 15,00B tokens, mede 0,9167 no plato e 0,8223 decaido. Comparar marcos intermediarios de modelos com schedules diferentes mede o schedule, nao o modelo.
- O volume de tokens saturou antes da escala. 15,00B -> 21,75B (+45% de dado) rendeu 0,19% de bpb. Ja 151M -> 345M parametros rendeu 2,76%.
Limitacoes
- Modelo base: nao segue instrucoes, nao conversa, nao usa ferramentas.
- 345M parametros e 2048 de contexto — alucina fatos com facilidade.
- Treinado predominantemente em web PT; herda os vieses dessa fonte.
bpbmede modelagem de linguagem. Fluencia de resposta e uso de ferramenta so' se medem pos-SFT, por execucao.
Uso
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("BrCamp/bee-350m-pt-base")
modelo = AutoModelForCausalLM.from_pretrained("BrCamp/bee-350m-pt-base")
ids = tok("O Brasil e' um pais", return_tensors="pt")
print(tok.decode(modelo.generate(**ids, max_new_tokens=40)[0]))