| <div align="center"> |
| <img src="https://i.postimg.cc/52GtGkf7/file-00000000dfb071f5a6ef76a83be7ff92.png" alt="Delta Ultra Mini" width="400"/> |
| </div> |
|
|
| --- |
|
|
| <div align="center"> |
|
|
| # Delta Ultra Mini |
|
|
| **Um LLM compacto, educacional e experimental criado pela FlareAI.** |
|
|
| [](https://opensource.org/licenses/MIT) |
| []() |
| []() |
| []() |
| []() |
|
|
| </div> |
|
|
| --- |
|
|
| > **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). |
|
|
| <div align="center"> |
|
|
| Criado por **Flare** |
|
|
| </div> |