Assim como os LLMs, os Small Language Models (SLMs) são Modelos de Linguagem baseados em IA. No entanto, os SLMs são versões mais compactas e eficientes desses modelos, projetados para funcionar com menos recursos computacionais, menor latência e maior privacidade.
Os SLMs seguem os mesmos princípios fundamentais dos LLMs — como a previsão do próximo token e a arquitetura Transformer — mas são otimizados para tamanhos reduzidos, geralmente com menos de 1 bilhão de parâmetros.
Essa leveza permite que os SLMs sejam usados diretamente em dispositivos locais, como celulares, notebooks e edge devices, sem necessidade de conexão constante com servidores em nuvem.
Por que usar um SLM?
Apesar de não terem o mesmo poder de raciocínio profundo dos LLMs de bilhões de parâmetros, os SLMs são muito úteis em situações onde:
- Privacidade é essencial (ex: processamento local de dados sensíveis).
- Baixa latência é desejada (ex: assistentes offline).
- Infraestrutura é limitada (ex: embarcados ou ambientes sem nuvem).
- Eficiência energética é uma prioridade (ex: dispositivos móveis).
Arquitetura: Ainda baseada em Transformers
Assim como os LLMs, os SLMs também são geralmente baseados na arquitetura Transformer. O que muda é a escala:
- Menos camadas (por exemplo, 8 em vez de 80)
- Menor embedding dimensional
- Vocabulário de tokens mais enxuto
- Otimizações específicas para rodar em CPUs ou pequenos clusters
Exemplos de SLMs populares
Modelo | Provedor | Parâmetros (aprox.) | Observações |
---|---|---|---|
Phi-2 | Microsoft | 2,7 bilhões | Destaca-se pela eficiência e qualidade mesmo com tamanho reduzido |
Gemma 2B | 2 bilhões | Projetado para fácil execução local | |
TinyLlama | Hugging Face | 1,1 bilhão | Treinado com técnicas modernas em corpus de alta qualidade |
Mistral-7B | Mistral AI | 7 bilhões | Considerado pequeno em comparação com LLMs >30B |
Casos de uso comuns de SLMs
- Assistentes locais em apps e smartphones
- Correção gramatical embarcada
- Sugestão de texto em editores e IDEs
- Traduções rápidas offline
- Ferramentas de produtividade com foco em privacidade
- Agentes leves em robótica, IoT e automação
Como os SLMs são treinados?
SLMs também são treinados com dados textuais, mas em volumes menores e com foco em qualidade, eficiência e generalização rápida. Eles podem passar por fases como:
- Pré-treinamento auto-supervisionado: usando dados públicos de alta qualidade.
- Pós-treinamento supervisionado ou com técnicas como Instrução (Instruction Tuning): para refinar sua capacidade de seguir comandos.
- Quantização e compressão: para reduzir ainda mais seu tamanho sem grande perda de desempenho.
Como posso usar um SLM?
Você tem duas opções principais:
- Executar localmente (se você tiver hardware suficiente).
- Usar uma nuvem/API (por exemplo, via a API do Google).
Ao longo deste curso, usaremos principalmente modelos por meio de APIs. Mais adiante, exploraremos como executar esses modelos localmente no seu hardware.
SLMs em Agentes de IA
Os SLMs também podem ser usados como o “cérebro” de Agentes de IA, especialmente em cenários de borda (edge computing) ou onde privacidade e autonomia são fundamentais. Embora possam ter limitações de raciocínio, sua leveza permite integração direta em dispositivos, oferecendo decisões rápidas e contextuais.
Prática: Usando SLMs
Agora vamos ver como usar SLMs na prática, via APIs ou localmente através do Python no Google Colab.
- API
- Acesse huggingface.co, crie uma conta de usuário e depois um token de acesso à API
- No Google Colab, registre o token como segredo (TF_TOKEN) e, então, rode o exemplo
- Local
- No Google Colab, instale o pacote
colab-xterm
para melhor uso do Terminal - Acesse o Terminal
- Instale o Ollama, inicie-o e baixe/rode um modelo de exemplo no Terminal
- Na célula de Python, instale a biblioteca
llama-index-llms-ollama
e rode um prompt de exemplo
- No Google Colab, instale o pacote
Quer aprender mais?
Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com o uso de Python e IA.