14-02-02 — Latência: Small Models, Edge, Família Phi e Foundry Local
TL;DR
Latência de LLMs em cloud (GPT-4o): 500ms-3s de Time To First Token (TTFT). Para apps que exigem resposta em <200ms ou que precisam rodar offline/edge, a família Phi da Microsoft (SLMs de 3B-14B parâmetros) roda em laptops, dispositivos edge e data centers locais via Azure AI Foundry Local. Qualidade comparável a modelos 10x maiores em tarefas específicas.
O Problema de Latência
Latência em LLMs tem dois componentes:
- TTFT (Time to First Token): Tempo até começar a ver a resposta — afeta percepção de velocidade
- Throughput (tokens/segundo): Velocidade de geração após o primeiro token
GPT-4o na cloud: TTFT de ~500ms-2s dependendo de carga. Para aplicações interativas em tempo real, isso pode ser inaceitável.
Família Phi — Small Language Models da Microsoft
Phi é a família de SLMs (Small Language Models) da Microsoft Research. O diferencial: treinados em dados de alta qualidade ("textbooks are all you need"), não apenas volume. Resultado: qualidade desproporcional ao tamanho.
| Modelo | Parâmetros | VRAM necessária | Caso de uso |
|---|---|---|---|
| Phi-3.5-mini | 3.8B | 4GB | Dispositivos mobile/edge, tarefas simples |
| Phi-3.5-MoE | 16x3.8B (MoE) | 12GB | Mixture-of-Experts, alta qualidade |
| Phi-4 | 14B | 10GB | Raciocínio, STEM, qualidade próxima a GPT-4o-mini |
| Phi-4-multimodal | 14B | 12GB | Texto + visão + áudio |
Azure AI Foundry Local
Foundry Local (anunciado Build 2025) permite rodar modelos Phi e outros SLMs diretamente no hardware local — laptop, servidor on-premises, ou dispositivos industriais. Usa DirectML (Windows/GPU) ou ONNX Runtime.
Instalação e uso:
// Foundry Local SDK — .NET
// Instalar: dotnet add package Microsoft.AI.Foundry.Local --prerelease
using Microsoft.AI.Foundry.Local;
// Foundry Local gerencia o download e execução do modelo
var foundryLocalManager = await FoundryLocalManager.StartAsync();
// Baixa e inicia Phi-4 localmente (download único ~8GB)
var modelAlias = "phi-4";
await foundryLocalManager.EnsureModelRunningAsync(modelAlias);
// Usa OpenAI SDK apontando para endpoint local
var client = new OpenAIClient(
new Uri(foundryLocalManager.Endpoint),
new ApiKeyCredential("not-needed-for-local")
);
var chatClient = client.GetChatClient(foundryLocalManager.GetModelId(modelAlias));
var response = await chatClient.CompleteChatAsync(
new SystemChatMessage("Você é um assistente técnico."),
new UserChatMessage("Explique o padrão Repository em C#")
);
Console.WriteLine(response.Value.Content[0].Text);
Casos de Uso para Edge/Local
- Dados ultra-sensíveis: Dados que não podem sair do data center por regulação (saúde, defesa)
- Offline-first: Apps para fábricas, mineradoras, aviação onde conectividade é instável
- Latência crítica: Aplicações de tempo real (assistência cirúrgica, controle industrial)
- Custo de banda: Locais com conexão cara ou limitada
Comparativo Cloud vs Edge
| Critério | Cloud (GPT-4o) | Edge (Phi-4 local) |
|---|---|---|
| TTFT | 500ms-2s | 50-200ms |
| Qualidade geral | Excelente | Boa (específica) |
| Custo/query | $0.01-$0.05 | $0 (hardware amortizado) |
| Privacidade | Dados saem do ambiente | Dados ficam locais |
| Atualização do modelo | Automática | Manual/controlada |
| Escala | Ilimitada | Limitada ao hardware |