Com a autorizacao do patrao usei um hardware que tenho na empresa (5060ti 16G) para aprender a fazer um micro llm do zero somente auxiliado pelos direcionamentos do chatgpt, gemini e grok. Olha o resultado de onde que eu parei depois de treinar umas 4 noites (500K+):
(transformer_env) ismael@sci-fi ~/micro_LLM/envs/transformer $ python test_micro_llm4.py --arquivo ckpt_step_577500
  🚀 Dispositivo: cuda 🔍 Carregando checkpoint: /mnt/transformer_data/checkpoints/
ckpt_step_577500.pt 🔧 Removendo prefixo '_orig_mod.' dos pesos compilados... ⚙️ Pesos ausentes: 0, inesperados: 0
  ✅ Checkpoint carregado (step 577500) 🔡 Tokenizer carregado (32000 tokens).
  🧩 Prompt: Jesus e Maria ?
  💬 Saída da micro LLM: 
 Jesus e Maria ? Por isso , tem gente que me chama pra falar sobre isso ! ! Liam, de acordo com todos n√≥s, a quest√£o do CIRENTE em quest√£o se explica pela experi√™ncia at√© a realiza√ß√£o das f√©rias da sogra e outra, essa experi√™ncia nos leva de bra√ßos dadas. ‚
...
Usei menos que 1% de dataset em puro portugues curado, o resto foi mais de 30G de dataset ruidoso baixado da net em puro texto sem cura alguma, nao me lembro onde eu peguei esse ruido todo, talves tenha sido do kaggle, tem alguns dataset por la ou se foi de algum repositorio onde alguem upou o arquivo criado por aqueles bots que sai lento tudo e guarda em arquivo.
Enfim para quem quiser reproduzir segue a configuracao usada e precisa de um pouquinho de dataset curado, cheguei a conclusao que se quiser ensinar portugues tem que ter dadaset em portugues bem feito, ou faz em ingles e aplica traducao na saida:
# Hiperparâmetros do modelo
vocab_size = 32000 block_size = 512 batch_size = 64 n_layer    = 9 n_head     = 6 n_embd     = 384 dropout    = 0.1
# Treinamento
lr            = 3e-4 warmup_steps  = 200 max_steps     = 800_000 weight_decay  = 0.1 grad_clip     = 1.0 eval_every    = 200 
amp           = True  # mixed precision
accum_steps   = 2     # acumula gradientes
.
LEVEM EM CONSIDERACAO QUE ISSO GASTA MUTA ENERGIA!
Aqui gastou 160W da GPU e mais 100 de perifericos totalizando 0,32KW/h.
Vamos fazer uma conta basica
8 horas da noite * 4 dias = 32horas = 0.32 * 32 -> 10.24KW custeado a 1 real chegamos a um valor de 10 reais e 24 centavos em treinamento continuo, nao vamos contabilizar as tantas outras tentativas que errei abortei testei e retestei kkkk
Minha conclusao final nessa diversao eh que da para fazer uma IA LLM na gpuzinha de casa com python sem ter que recorrer a H100 ou MI300