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.

modelo parametros tokens tok/param bpb
Bee-350M (este) 345,4M 21,75B 63 0,8207
Bee-150M 151,2M 21,75B 143 0,8438

O Bee-350M supera o Bee-150M em 2,76% usando 3,3x menos tokens por parametro.

Como foi treinado

arquitetura Llama-like, 32 camadas, d_model 960, 15q/5kv GQA, intermediate 2560
contexto 2048 tokens
corpus 21,75B tokens de portugues (fineweb-2 PT + dominio publico)
schedule WSD โ€” warmup 2%, plato em 55% do pico, decaimento 1-sqrt(t) nos ultimos 20%
LR de pico 2,181e-03 (Step Law)
hardware 1x RTX 5090, 115,5 h
custo ~US$ 118

O que aprendemos treinando ele

Dois resultados medidos que valem mais que o modelo:

  1. 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.
  2. 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.
  • bpb mede 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]))
Downloads last month
1,240
Safetensors
Model size
0.3B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support