LLM local
Também: modelo de linguagem no dispositivo
Atualizado em
Definição
Um LLM local é um modelo de linguagem que roda no seu próprio computador, não no servidor de um fornecedor. Em ferramentas de ditado, é o modelo da etapa de formatação: corrige a pontuação, remove vícios de fala e ajusta o tom, sem a transcrição sair da máquina.
A etapa de formatação é a que mais tende a ser terceirizada para a nuvem, porque é a etapa que pede um modelo de linguagem, e até pouco tempo os modelos de linguagem eram grandes demais para rodar num notebook. Os modelos pequenos mudaram isso. Um modelo pequeno, rodando pelos frameworks no dispositivo que o Apple silicon oferece, consegue limpar uma frase em algumas centenas de milissegundos.
O local é o lugar certo para essa etapa pelo mesmo motivo que é o lugar certo para o reconhecimento: o modelo vê suas palavras, e suas palavras não deveriam virar dados de um fornecedor no caminho até serem pontuadas.
O que se pede ao modelo
Menos do que você imagina, numa ferramenta bem projetada. Não reescrever, não melhorar, não decidir horários ou grafias, coisas que são todas regras. O que se pede é julgamento: quais vícios de fala eram só enchimento, onde as frases terminam, que tom o destino pede. Instruções estreitas são o que permite a um modelo pequeno fazer bem o trabalho, e também o que torna a saída verificável, porque um modelo que nunca teve permissão para acrescentar ou remover palavras de conteúdo pode ser testado para ver se fez isso.
Velocidade, memória e calor
Um modelo local disputa memória com seus outros apps e energia com sua bateria. A engenharia que importa é mantê-lo pequeno, mantê-lo carregado para não haver partida a frio, limitar quanta memória seu runtime pode ocupar e dar a ele um limite de tempo para que uma resposta lenta seja descartada em vez de esperada. Num Mac com chip da série M, a etapa inteira cabe em menos de um segundo, com folga.
Formatação com LLM na nuvem, para comparar
Mandar a transcrição para um modelo hospedado compra um modelo maior e custa uma ida e volta, uma assinatura para pagar a inferência e uma cópia de cada frase que você dita no servidor de outra pessoa. Para formatar texto corrido, o modelo maior não é uma vantagem significativa; a tarefa é pequena. A ida e volta e a cópia são custos reais, toda vez.
Como verificar se o seu Mac consegue rodar um modelo local
Duas coisas decidem: o chip e a memória livre. As duas levam um minuto para verificar, e nenhuma exige software extra.
- Escolha menu Apple → Sobre Este Mac.
- Procure o item chamado Chip. Em um Mac com Apple silicon, ele vem seguido do nome do chip. Anote também o valor de Memória.
- Abra o app Monitor de Atividade e clique em Memória.
- Com os apps que você costuma usar abertos, olhe o gráfico Pressão da Memória na parte de baixo da janela. Ele mostra com que eficiência a memória está atendendo ao que você está rodando.
- Verifique Troca Usada. É o espaço do disco de inicialização usado para trocar arquivos não utilizados com a RAM.
- Se a pressão já está alta e a troca já está em uso antes de você adicionar um modelo, um modelo local vai disputar memória com os seus apps.
Por que um LLM local usa tanta memória?
Um modelo de linguagem é um arquivo grande de números, e ele inteiro precisa ficar na memória enquanto o modelo roda. Nada é buscado de um servidor sob demanda. A memória de que um modelo precisa cresce com o tamanho do modelo, e é por isso que modelos pequenos são a escolha prática para uma tarefa que roda muitas vezes por dia.
O Apple silicon tem um recurso que ajuda aqui. O MLX, o framework de aprendizado de máquina da equipe de pesquisa em aprendizado de máquina da Apple, descreve um modelo de memória unificada em que os arrays ficam em memória compartilhada e as operações podem rodar em qualquer tipo de dispositivo compatível sem transferir dados. Em termos simples, o modelo não precisa ser copiado entre áreas de memória separadas para o processador e para o hardware gráfico.
LLM local ou modelo de fala: qual é a diferença?
Eles fazem trabalhos diferentes, e uma ferramenta de ditado que formata texto usa os dois. Um modelo de fala transforma áudio em palavras. Um modelo de linguagem pega essas palavras e decide como elas devem ser escritas. Whisper e Parakeet são modelos de fala, não LLMs.
Os tamanhos são públicos. A OpenAI lista o Whisper do tiny, com 39 milhões de parâmetros, ao large, com 1.550 milhões, além de um modelo turbo com 809 milhões que ela descreve como uma versão otimizada do large-v3. A NVIDIA lista o Parakeet TDT 0.6B v2 com 600 milhões de parâmetros, para inglês.
Os dois tipos de modelo se sobrepõem um pouco. O model card do Parakeet inclui pontuação e uso de maiúsculas automáticos na transcrição, então parte da formatação chega antes que qualquer modelo de linguagem veja o texto. O modelo de linguagem só é necessário para o julgamento que sobra.
Perguntas que as pessoas fazem.
Software de ditado precisa de um LLM?
Para transcrição bruta, não. Para transformar uma transcrição em texto pronto e com o tom adequado, um modelo de linguagem pequeno ajuda muito, e ele pode rodar localmente no Apple silicon. As melhores ferramentas dão a ele só as decisões de julgamento e tratam tudo o que é exato por regra.
Um modelo de linguagem pode rodar no meu Mac sem a nuvem?
Sim. Modelos pequenos rodam no Apple silicon por meio de frameworks no dispositivo, e as versões recentes do macOS incluem modelos que os apps podem chamar localmente. Os dois são rápidos o bastante para formatar uma frase em bem menos de um segundo.
Um LLM local vai deixar meu Mac lento?
Um que se comporte bem, não. Ele deve continuar pequeno, limitar a memória e rodar na GPU enquanto o resto da máquina segue trabalhando. Os runtimes mal gerenciados, que deixam o cache crescer sem limite, são os que as pessoas notam.
Como sei se o meu Mac tem Apple silicon?
Escolha menu Apple → Sobre Este Mac. Um Mac com Apple silicon mostra um item chamado Chip, seguido do nome do chip.
O Whisper é um LLM?
Não. O Whisper é um modelo de reconhecimento de fala que transforma áudio em texto. Um LLM trabalha com texto que já existe, o que no ditado significa limpar a transcrição.
O que é o MLX no Mac?
O MLX é um framework de arrays para aprendizado de máquina no Apple silicon, publicado pela equipe de pesquisa em aprendizado de máquina da Apple. É uma das formas de os programas rodarem modelos localmente em um Mac.