|
--- |
|
metrics: |
|
- accuracy |
|
- perplexity |
|
pipeline_tag: text-generation |
|
language: |
|
- pt |
|
--- |
|
|
|
# Modelo Llama 1 para Tiny Shakespeare |
|
|
|
Este repositório contém um modelo de linguagem Llama 1 com 2.3 milhões de parâmetros treinado no dataset Tiny Shakespeare. O modelo foi projetado para tarefas de geração de texto, em especial para o estilo de escrita do Shakespeare. |
|
Vale ressaltar que existem dois modelos neste repositório. O `llama1-model.pt` é o modelo obtido ao final do treinamento, e o `best_model.pt` é o modelo com os melhores valores das métricas de acurácia e perplexidade. |
|
Ambos foram testados e o best-model faz a geração de textos mais coerentes, logo, é mais conveniente utilizar o `best-model.pt`. |
|
|
|
## Arquitetura |
|
|
|
O modelo segue a arquitetura básica do Llama, com as seguintes características: |
|
|
|
* **Embeddings Rotativos (RoPE)** para incorporar informações posicionais. |
|
* **Atenção Multi-Head com RoPE** para capturar relações complexas entre tokens. |
|
* **Normalização RMS (RMSNorm)** para estabilidade de treinamento. |
|
* **Função de Ativação SwiGLU** para não linearidade. |
|
|
|
## Treinamento |
|
|
|
O modelo foi treinado por no máximo 10.000 épocas, atingindo a estabilidade em pouco mais de 3000 épocas. Foi utilizado o otimizador Adam e um agendamento de taxa de aprendizado de redução de platô (scheduler). A função de perda utilizada foi a entropia cruzada. |
|
|
|
## Métricas |
|
|
|
O desempenho do modelo foi avaliado utilizando as seguintes métricas: |
|
|
|
* Perda |
|
* Acurácia |
|
* Perplexidade |
|
|
|
## Limitações |
|
|
|
Devido ao tamanho limitado do dataset Tiny Shakespeare, a capacidade do modelo de gerar texto complexo e coeso é restrita. |
|
|
|
## Onde pode ser aplicado |
|
|
|
* **Geração de Texto:** O modelo pode ser usado para gerar pequenos trechos de texto semelhantes ao estilo de Shakespeare. |
|
* **Previsão de Próxima Palavra:** Dada uma sequência de palavras, o modelo pode prever a próxima palavra mais provável. |
|
|
|
## Como Usar |
|
|
|
Para carregar e utilizar o modelo: |
|
|
|
```python |
|
import torch |
|
|
|
# Carregue o modelo |
|
model = torch.load("best_model.pt") |