Delta Ultra Mini
---
# Delta Ultra Mini **Um LLM compacto, educacional e experimental criado pela FlareAI.** [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) [![Params](https://img.shields.io/badge/Parâmetros-50M-blue)]() [![Context](https://img.shields.io/badge/Context-512_tokens-blueviolet)]() [![Arch](https://img.shields.io/badge/Arquitetura-Decoder--Only-orange)]() [![Tokenizer](https://img.shields.io/badge/Tokenizer-BPE-lightgrey)]()
--- > **Delta Ultra Mini** é um modelo Transformer decoder-only causal de ~50M parâmetros, projetado para aprender como um LLM compacto é estruturado, treinado, checkpointed e amostrado. Não inclui REST API, API key server, browser SDK ou Python HTTP SDK. > 🎉 **Marco pessoal:** este é o **primeiro LLM criado pelo autor** — do zero, do tokenizer ao treinamento. Um ponto de partida histórico. --- ## Arquitetura | Propriedade | Valor | |---|---| | Arquitetura | Decoder-only causal Transformer | | Parâmetros | ~50M | | Context length | 512 tokens | | Tokenizer | BPE com chat tokens | | Licença | MIT | --- ## Instalação ```bash pip install -r requirements.txt ``` --- ## Estrutura de arquivos ``` delta-ultra-mini/ ├── delta/ │ ├── model.py # Transformer model │ ├── tokenizer.py # Treinamento, loading e chat formatting │ ├── generator.py # Geração autoregressiva local │ ├── dataset.py # Loader de datasets text/jsonl │ └── trainer.py # Integração com HuggingFace Trainer ├── configs/ │ └── ultra_mini.json # Configuração do modelo ├── scripts/ │ ├── train_tokenizer.py # Entrypoint de treinamento do tokenizer │ ├── train_delta.py # Entrypoint de treinamento do modelo │ └── generate_delta.py # Entrypoint de inferência local ├── data/ # Seed dataset MIT-licensed └── tokenizer.json # Tokenizer treinado ``` --- ## Inferência local > Certifique-se de ter um checkpoint treinado antes de rodar a geração. **Checkpoint em `runs/`:** ```bash python scripts/generate_delta.py \ --prompt "O que e PyTorch?" \ --checkpoint_path runs/delta-ultra-mini/delta_checkpoint.pt \ --tokenizer_path tokenizer.json ``` **Checkpoint na raiz do projeto:** ```bash python scripts/generate_delta.py \ --prompt "Quem e voce?" \ --checkpoint_path delta_checkpoint.pt \ --tokenizer_path tokenizer.json ``` --- ## Treinar o tokenizer ```bash python scripts/train_tokenizer.py \ --corpus_files data/tokenizer_corpus.txt \ --output_path tokenizer.json ``` --- ## Treinar o modelo ```bash python scripts/train_delta.py \ --data_path data \ --output_dir runs/delta-ultra-mini \ --epochs 1 \ --batch_size 2 \ --tokenizer_path tokenizer.json ``` --- ## Dataset O dataset seed incluído serve para boostrap de experimentos e verificação do pipeline end-to-end. Para melhor qualidade, construa um dataset maior com exemplos variados, respostas limpas, splits de validação e revisão cuidadosa. **Formato recomendado (`.jsonl`):** ```jsonl {"text":"[SYS] You are Delta. [SEP]\n[USR] Question [SEP]\n[ASS] Answer [SEP]"} ``` --- ## Limitações - O seed checkpoint pode memorizar exemplos e generalizar mal para inputs novos. - O modelo **não é safety-aligned** como assistentes de produção em larga escala. - Pode produzir respostas incorretas, incompletas ou misturadas. - Deve ser avaliado cuidadosamente antes de qualquer uso real. --- ## Licença Este projeto é distribuído sob a licença **MIT**. Veja o arquivo `LICENSE` para mais detalhes. --- ## Aviso Não deve se esperar muito deste modelo LLM, pois foi desenvolvido as pressas, sendo treinado em um dataset nano de 357 exemplos em json-l (pouco mais de 1400 linhas em corpus.txt). Ele foi desenvolvido em apenas 4 dias, e 18 horas de treinamento (em CPU Celeron N4020).
Criado por **Flare**