curso
Modelos de idiomas pequenos: Um guia com exemplos
Os modelos de linguagem pequenos (SLMs) resolvem o problema de tornar a IA mais acessível e eficiente para aqueles com recursos limitados, pois são menores, mais rápidos e mais facilmente personalizados do que os modelos de linguagem grandes (LLMs). modelos de linguagem grandes (LLMs).
Os SLMs têm menos parâmetros (normalmente menos de 10 bilhões), o que reduz drasticamente os custos de computação e o uso de energia. Eles se concentram em tarefas específicas e são treinados em conjuntos de dados menores. Isso mantém um equilíbrio entre desempenho e eficiência de recursos.
Fundamentos da OpenAI
Comece a usar a API OpenAI e muito mais!
O que são modelos de idiomas pequenos?
Os modelos de idiomas pequenos são as versões compactas e altamente eficientes dos modelos de idiomas grandes e maciços sobre os quais tanto ouvimos falar. Os LLMs, como o GPT-4o, têm centenas de bilhões de parâmetros, mas os SMLs usam um número muito menor, normalmente entre milhões e alguns bilhões.
As principais características dos SLMs são:
- Eficiência: Os SLMs não precisam do enorme poder computacional que os LLMs exigem. Isso os torna excelentes para uso em dispositivos com recursos limitados, como smartphones, tablets ou dispositivos de IoT - saiba mais sobre isso neste blog sobre IA de borda.
- Acessibilidade: Pessoas com orçamentos limitados podem implementar SLMs sem precisar de infraestrutura de ponta. Eles também são adequados para implementações no local em que a privacidade e a segurança dos dados são muito importantes, pois nem sempre dependem da infraestrutura baseada em nuvem.
- Personalização: Os SLMs são fáceis de ajustar. Seu tamanho menor significa que eles podem se adaptar rapidamente a tarefas de nicho e domínios especializados. Isso faz com que eles sejam adequados para aplicações específicas, como suporte ao cliente, saúde ou educação (falaremos sobre isso com mais detalhes posteriormente!).
- Inferência mais rápida: Os SLMs têm tempos de resposta mais rápidos porque têm menos parâmetros para processar. Isso os torna perfeitos para aplicativos em tempo real, como chatbots, assistentes virtuais ou qualquer sistema em que decisões rápidas sejam essenciais. Você não precisa esperar por respostas, o que é ótimo para ambientes em que a baixa latência é uma necessidade.
Exemplos de modelos de idiomas pequenos
O desenvolvimento de SLMs de 2019 a 2024 foi rápido, com muitos modelos novos sendo criados para atender à necessidade de IA mais eficiente. Tudo começou com o GPT-2 em 2019 e, ao longo dos anos, os modelos se tornaram mais focados e mais rápidos. Em 2022, modelos como Bloom e Galactica podiam lidar com vários idiomas e dados científicos e, em 2023, modelos como Pythia e Cerebras-GPT foram projetados para tarefas como codificação e raciocínio lógico.
Em 2024, foram lançados ainda mais SLMs, como o LaMini-GPT, o MobileLLaMA e o TinyLlama, que foram criados para funcionar bem em dispositivos móveis e outros sistemas de baixo consumo de energia. Empresas como Meta, Google e Microsoft estão liderando o desenvolvimento desses modelos, sendo que alguns são abertos ao público e outros são privados.
Fonte: Lu et al., 2024
Os profissionais usam SLMs em muitos setores porque eles são leves, rápidos e não precisam de muitos recursos para funcionar. Aqui estão alguns desses modelos com seus parâmetros e principais recursos:
Nome do modelo |
Parâmetros |
Código aberto |
Principais recursos |
Qwen2 |
0,5B, 1B, 7B |
Sim |
Escalável, adequado para várias tarefas |
Mistral Nemo 12B |
12B |
Sim |
Tarefas complexas de NLP, implementação local |
Llama 3.1 8B |
8B |
Sim* |
Potência e eficiência equilibradas |
Pythia |
160 MILHÕES - 2,8 BILHÕES |
Sim |
Focado em raciocínio e codificação |
Cerebras-GPT |
111 MILHÕES - 2,7 BILHÕES |
Sim |
Eficiente em termos de computação, segue as leis de escala de Chinchilla |
Phi-3.5 |
3.8B |
Sim** |
Longo comprimento de contexto (128 mil tokens), multilíngue |
StableLM-zephyr |
3B |
Sim |
Inferência rápida, eficiente para sistemas de borda |
TinyLlama |
1.1B |
Sim |
Eficiente para dispositivos móveis e de borda |
MobileLLaMA |
1.4B |
Sim |
Otimizado para dispositivos móveis e de baixo consumo de energia |
LaMini-GPT |
774 MILHÕES - 1,5 BILHÃO |
Sim |
Tarefas multilíngues e de acompanhamento de instruções |
Gemma2 |
9B, 27B |
Sim |
Implementação local, aplicativos em tempo real |
MiniCPM |
1B - 4B |
Sim |
Desempenho equilibrado, otimizado para inglês e chinês |
OpenELM |
270M - 3B |
Sim |
Multitarefa, baixa latência, eficiência energética |
DCLM |
1B |
Sim |
Raciocínio de senso comum, dedução lógica |
Raposa |
1.6B |
Sim |
Velocidade otimizada para aplicativos móveis |
*Com restrições de uso
**Apenas para fins de pesquisa
Saiba mais sobre esses modelos neste artigo separado que escrevi sobre os principais modelos de idiomas pequenos.
Como os SLMs funcionam
Vamos ver como funcionam os modelos de idiomas pequenos.
Próxima palavra previsão
Assim como os LLMs, os SLMs funcionam prevendo a próxima palavra em uma sequência de texto. Os SLMs usam padrões do texto em que foram treinados para adivinhar o que vem a seguir. É um conceito simples, mas poderoso, que está no centro de todos os modelos de linguagem.
Por exemplo, dada a entrada: "Na série Harry Potter, o melhor amigo do personagem principal se chama Ron..." Um SLM analisaria esse contexto e preveria a próxima palavra mais provável - nesse caso, "Weasley".
Arquitetura do transformador
A arquitetura do transformador é fundamental para que os LLMs e SLMs entendam e gerem a linguagem. Os transformadores podem ser entendidos como o cérebro por trás dos modelos de linguagem. Eles usam autoatenção para descobrir quais palavras em uma frase são mais relevantes umas para as outras. Isso ajuda o modelo a entender o contexto - por exemplo, reconhecer que "Paris" se refere à cidade ou à pessoa que você conhece do trabalho.
Equilíbrio entre tamanho e desempenho
O poder dos SLMs está em sua capacidade de equilibrar tamanho e desempenho. Eles usam significativamente menos parâmetros do que os LLMs, geralmente variando de milhões a alguns bilhões, em comparação com centenas de bilhões nos LLMs.
Com menos parâmetros, os SLMs exigem menos potência computacional e dados para serem treinados, o que os torna mais acessíveis se você tiver recursos limitados. O tamanho compacto dos SLMs faz com que eles processem a entrada e gerem a saída mais rapidamente, o que é muito importante para aplicativos em tempo real, como teclados móveis ou assistentes de voz.
Os SLMs podem não ser tão versáteis ou de compreensão profunda quanto os modelos grandes, mas eles lidam bem com tarefas específicas. Por exemplo, um SLM treinado para analisar textos jurídicos poderia fazer um trabalho melhor do que um LLM geral nessa área.
Como os SLMs são criados: Técnicas e abordagens
Os SLMs usam técnicas como destilaçãopoda e quantização para se tornarem menores, mais rápidos e mais eficientes.
Destilação
Essa é uma técnica para criar SLMs por meio da transferência de conhecimento de um modelo maior de "professor" para um modelo menor de "aluno". O objetivo aqui é pegar o que o modelo do professor aprendeu e compactá-lo no modelo do aluno sem perder muito de seu desempenho.
Esse processo faz com que os SLMs mantenham grande parte da precisão de modelos maiores e, ao mesmo tempo, sejam muito mais gerenciáveis em termos de tamanho e necessidade computacional. Com essa técnica, o modelo menor aprende não apenas as previsões finais do professor, mas também os padrões e as nuances subjacentes.
Há vários métodos de destilação de conhecimento:
- Baseado em respostas: O modelo do aluno aprende a replicar a camada de saída final do modelo do professor, muitas vezes usando "alvos suaves" para obter informações mais detalhadas.
- Baseado em recursos: Concentra-se em replicar as camadas intermediárias do modelo do professor, ajudando o aluno a extrair padrões semelhantes dos dados.
- Baseado em relacionamentos: Treina o aluno para entender as relações entre diferentes partes do modelo do professor, emulando processos de raciocínio complexos.
Poda
A poda é como aparar o que não é necessário. Durante a poda, partes do modelo que não são tão importantes - como neurônios ou parâmetros que não contribuem muito para o desempenho geral - são removidas. Essa técnica ajuda a reduzir o modelo sem afetar significativamente sua precisão. No entanto, a poda pode ser um pouco complicada porque, se você for muito agressivo, corre o risco de cortar demais e prejudicar o desempenho do modelo.
A poda pode reduzir significativamente o tamanho do modelo e, ao mesmo tempo, manter grande parte do desempenho original, o que a torna uma técnica eficaz para a criação de SLMs.
Quantização
A quantização envolve o uso de menos bits para armazenar os números do modelo. Normalmente, um modelo pode usar números de 32 bits, mas, com esse método, esses números são reduzidos a valores de 8 bits, que são muito menores. Isso faz com que o modelo ocupe menos espaço e permite que ele seja executado mais rapidamente. A melhor parte é que, embora os números sejam menos precisos, o modelo ainda funciona bem com apenas um pequeno impacto em sua precisão.
Imagine que você esteja armazenando valores de temperatura em um aplicativo de clima. Você os armazenaria com alta precisão (como números de 32 bits), o que é mais do que você precisa. Ao reduzir a precisão para 8 bits, você pode perder detalhes, mas o aplicativo ainda será útil, sendo executado mais rapidamente e usando menos memória.
Isso é particularmente útil para implantar a IA em dispositivos com memória e capacidade de computação limitadas, como smartphones ou dispositivos de borda.
A quantização é particularmente eficaz para a implantação de modelos em dispositivos com recursos limitados, pois reduz os requisitos de memória e melhora a velocidade de inferência.
Aplicações de modelos de idiomas pequenos
A beleza dos SLMs está em sua capacidade de fornecer IA avançada sem precisar de uma infraestrutura maciça ou de conectividade constante com a Internet, o que abre muitas aplicações.
IA no dispositivo
Vamos pensar nos assistentes móveis - aqueles assistentes de voz no seu telefone que ajudam você a navegar pelo seu dia. Os SLMs fazem isso acontecer. Eles permitem a previsão de texto em tempo real, comandos de voz e até mesmo tradução sem a necessidade de enviar dados para a nuvem. Tudo isso é feito localmente, o que significa respostas mais rápidas e interações que preservam a privacidade.
Por exemplo, o SwiftKey e o Gboard utilizam SLMs para fornecer sugestões de texto contextualmente precisas, o que melhora a velocidade e a precisão da digitação.
Isso também se estende a aplicativos off-line em que a IA ainda pode funcionar sem conexão com a Internet, o que a torna útil em áreas com conectividade limitada.
O Google Translate, por exemplo, oferece recursos de tradução off-line com o auxílio de SLMs, facilitando a comunicação em áreas com acesso limitado à Internet.
IA personalizada
Uma das grandes vantagens dos SLMs é que eles podem ser personalizados para tarefas específicas ou preferências do usuário. Imagine ter um chatbot ajustado especificamente para o atendimento ao cliente em sua empresa ou uma IA que sabe exatamente como ajudar você com base em suas interações anteriores. Como esses modelos são menores, é muito mais fácil ajustá-los e implantá-los em diferentes setores.
Vamos dar uma olhada em alguns exemplos:
- Cuidados com a saúde: Os SLMs podem ser personalizados para análise de texto médico para fornecer monitoramento de saúde em tempo real e aconselhamento sobre wearables inteligentes. Eles operam independentemente da conectividade contínua com a nuvem.
- Dispositivos domésticos inteligentes: Os SLMs incorporados em sistemas domésticos inteligentes podem aprender as preferências individuais de temperatura e iluminação, ajustando automaticamente as configurações para diferentes momentos do dia ou ocasiões específicas.
- Educação: Os aplicativos educacionais que usam SLMs podem se adaptar a estilos e ritmos de aprendizagem individuais, o que oferece orientação e suporte personalizados aos alunos.
Internet das coisas
Os SLMs são executados silenciosamente em segundo plano nos dispositivos do dia a dia, como o sistema doméstico inteligente ou outros gadgets. Eles ajudam esses dispositivos a entender e responder diretamente a você sem precisar se conectar à Internet, tornando-os mais rápidos e inteligentes.
Outros aplicativos
Os SLMs estão encontrando aplicações em várias outras áreas:
- Tradução de idiomas em tempo real: Os SLMs possibilitam a tradução instantânea, o que é importante para a comunicação global. Alguns aplicativos de viagem agora usam SLMs para traduzir placas, menus ou instruções faladas em tempo real. Isso ajuda os usuários a navegar em idiomas estrangeiros.
- Sistemas automotivos: Nos carros, os SLMs oferecem navegação inteligente, fornecendo atualizações de tráfego em tempo real e sugerindo as melhores rotas. Eles também aprimoram os comandos de voz, permitindo que os motoristas controlem músicas, façam chamadas ou enviem mensagens sem usar as mãos.
- Sistemas de entretenimento: As Smart TVs e os consoles de jogos usam SLMs para controle de voz e para sugerir programas ou jogos com base no que você assistiu ou jogou antes.
- Atendimento ao cliente: Os SLMs ajudam as empresas a gerenciar as dúvidas dos clientes com mais eficiência. As lojas de varejo usam o SLM para responder a perguntas sobre produtos, status de pedidos ou políticas de devolução. Isso leva à redução da necessidade de suporte humano ao cliente.
LLMs vs. SLMs
Agora, vamos falar sobre quando você deve optar pelos LLMs e quando os SLMs são a melhor escolha.
Complexidade da tarefa
Para tarefas altamente complexas, como compreensão profunda, criação de conteúdo longo ou solução de problemas complicados, modelos grandes como o GPT-4o geralmente têm um desempenho melhor do que os SLMs. Eles podem lidar com essas tarefas porque extraem uma grande quantidade de dados para fornecer respostas mais detalhadas. No entanto, a desvantagem é que esse nível de sofisticação exige muito poder de computação e tempo.
LLMs |
SLMs |
Excelente para lidar com tarefas complexas, sofisticadas e gerais |
Mais adequado para tarefas mais adequadas e simples |
Melhor precisão e desempenho em diferentes tarefas |
Excelente em aplicativos especializados e tarefas específicas do domínio |
Capacidade de manter o contexto em passagens longas e fornecer respostas coerentes |
Pode ter dificuldades em tarefas linguísticas complexas e na compreensão de contextos de longo alcance |
Por exemplo, se você estiver desenvolvendo um chatbot de uso geral que precise lidar com diferentes tópicos e consultas complexas, um LLM seria mais adequado. No entanto, para um bot de atendimento ao cliente especializado que se concentra em uma linha de produtos específica, um SLM pode ser mais do que suficiente e até mesmo superar um LLM devido ao seu treinamento focado.
Restrições de recursos
Agora, quando você tem restrições de recursos, é aí que os SLMs ganham. Eles exigem muito menos poder computacional para serem treinados e implantados. Eles são uma ótima opção se você estiver trabalhando em um ambiente com recursos limitados.
LLMs |
SLMs |
Exigir potência computacional e memória significativas |
Mais econômico em termos de consumo de recursos |
Geralmente, você precisa de hardware especializado, como GPUs, para inferência |
Pode ser executado em hardware padrão e até mesmo em dispositivos como Raspberry Pi ou smartphone |
Custos operacionais mais altos devido à demanda de recursos |
Tempos de treinamento mais curtos, tornando-os mais acessíveis para implementações rápidas |
Em situações em que a capacidade de computação é limitada, como em dispositivos móveis ou computação de ponta, os SLMs geralmente são a melhor opção, pois oferecem uma boa combinação de desempenho e eficiência.
Ambiente de implantação
Se você estiver implantando a IA em um servidor em nuvem em que os recursos não sejam um problema, um LLM pode ser o caminho a seguir, especialmente se você precisar de alta precisão e fluência nas respostas. Porém, se você estiver trabalhando em dispositivos com potência limitada de CPU ou GPU, como dispositivos IoT ou aplicativos móveis, os SLMs são a opção perfeita.
LLMs |
SLMs |
Ideal para ambientes de nuvem em que há muito poder de computação disponível |
Eles podem ser usados na nuvem, mas seu tamanho menor os torna melhores para locais com recursos limitados. Eles são mais eficientes para lidar com tarefas menores |
Não é ideal para IA no dispositivo porque precisa de muito poder de computação e depende de uma conexão com a Internet |
Perfeito para IA no dispositivo, permitindo o uso off-line e tempos de resposta mais rápidos. Eles podem executar assistentes móveis, reconhecimento de voz e outros aplicativos em tempo real sem precisar de uma conexão com a Internet |
Não é uma boa opção para a computação de borda porque requer muita capacidade de computação e pode ser lenta para responder |
Excelente para computação de ponta, em que respostas rápidas e uso eficiente de recursos são importantes. Eles permitem a IA em dispositivos IoT, casas inteligentes e outros aplicativos de ponta |
Ao considerar o ambiente de implantação, é essencial avaliar fatores como conectividade com a Internet, requisitos de latência e questões de privacidade. Para aplicativos que precisam funcionar off-line ou com latência mínima, os SLMs implantados no dispositivo ou na borda geralmente são a melhor opção.
A escolha entre LLMs e SLMs depende da complexidade da tarefa, dos recursos que você tem e de onde deseja implantá-los. Os LLMs são ótimos para tarefas complexas que precisam de alta precisão, enquanto os SLMs são eficientes e podem trabalhar em mais lugares.
Conclusão
Os SLMs estão tornando a IA muito mais acessível. Ao contrário dos grandes modelos de linguagem que precisam de muito poder de computação, os SLMs são executados com menos recursos. Isso significa que as empresas menores, os desenvolvedores individuais e até mesmo as startups podem usá-los sem precisar de servidores enormes ou de grandes orçamentos.
Para saber mais sobre modelos de linguagem pequenos, recomendo a você estes dois recursos:
Perguntas frequentes
Quais são as diferenças específicas de consumo de energia entre a execução de um SLM e de um LLM para um aplicativo corporativo típico?
A diferença de consumo de energia entre SLMs e LLMs pode ser substancial. Para um aplicativo corporativo típico, um SLM pode consumir apenas 10 a 20% da energia exigida por um LLM. Por exemplo, a execução de um SLM para um chatbot de atendimento ao cliente pode consumir cerca de 50-100 kWh por mês, enquanto um LLM para a mesma tarefa pode consumir 500-1000 kWh. No entanto, os números exatos variam de acordo com o tamanho do modelo, os padrões de uso e a eficiência do hardware. Empresas como o Google e a OpenAI informaram que a execução de seus maiores modelos pode consumir energia equivalente à de várias centenas de residências, enquanto os SLMs podem ser executados em servidores padrão ou até mesmo em dispositivos de borda com requisitos de energia significativamente menores.
Como você compara os cronogramas de desenvolvimento ao criar SLMs personalizados com o ajuste fino dos LLMs existentes para tarefas especializadas?
Os cronogramas de desenvolvimento de SLMs personalizados em comparação com LLMs de ajuste fino podem ser significativamente diferentes. Criar um SLM personalizado do zero normalmente leva mais tempo, geralmente de 3 a 6 meses para uma equipe de cientistas de dados experientes, pois envolve coleta de dados, projeto de arquitetura de modelo, treinamento e testes extensivos. O ajuste fino de um LLM existente para uma tarefa especializada pode ser muito mais rápido, podendo levar apenas algumas semanas. No entanto, a desvantagem é que os LLMs com ajuste fino podem não atingir o mesmo nível de eficiência ou especialização que um SLM personalizado. A escolha geralmente depende do caso de uso específico, dos recursos disponíveis e das características de desempenho desejadas.
Quais são as considerações legais e éticas ao implantar SLMs versus LLMs, especialmente em relação à privacidade de dados e à propriedade intelectual?
A privacidade dos dados é uma grande preocupação, pois os LLMs costumam ter muitos dados de treinamento, o que pode aumentar o risco de exposição de informações pessoais. Os SLMs, por serem mais focados, podem usar conjuntos de dados menores e mais controlados, reduzindo potencialmente os riscos à privacidade. As questões de propriedade intelectual também são críticas, pois os LLMs treinados em diversos dados da Internet podem reproduzir conteúdo protegido por direitos autorais. Os SLMs, treinados com dados mais específicos, podem enfrentar menos riscos desse tipo, mas ainda podem ter problemas, dependendo dos dados de treinamento. Além disso, a interpretabilidade e a explicabilidade das decisões do modelo geralmente são mais fáceis com os SLMs, o que pode ser muito importante para aplicações em setores regulamentados.
Como os SLMs e os LLMs se comparam em termos de recursos multilíngues, especialmente para idiomas menos comuns?
Os SLMs e LLMs lidam com vários idiomas de forma diferente, especialmente os menos comuns. Os LLMs, com seus enormes dados de treinamento, tendem a funcionar bem em muitos idiomas, incluindo os raros, mas isso tem a desvantagem de serem grandes e complexos. Os SLMs, embora menores, podem ser personalizados para idiomas ou grupos de idiomas específicos, às vezes até superando os LLMs nessas áreas. Para idiomas menos comuns, os SLMs especialmente treinados podem fornecer traduções ou textos mais precisos e culturalmente conscientes, pois se concentram em dados de alta qualidade e específicos do idioma, ao contrário dos dados mais amplos, mas possivelmente menos precisos, usados nos LLMs.
Quais são as práticas recomendadas para controle de versão e governança de modelos ao trabalhar com SLMs e LLMs em um ambiente de produção?
As práticas recomendadas para gerenciar versões e supervisionar SLMs e LLMs em ambientes de produção têm semelhanças, mas também diferenças importantes. Para ambos, é importante manter um bom sistema de controle de versão para modelos, dados de treinamento e configurações. No entanto, os LLMs, devido ao seu tamanho e sensibilidade ao ajuste fino, precisam de uma infraestrutura mais complexa para o controle de versão. Os SLMs, por serem menores, facilitam o gerenciamento e a implementação de diferentes versões. Quando se trata de governança, os LLMs geralmente precisam de uma supervisão mais rigorosa devido à sua ampla gama de habilidades e ao potencial de comportamento inesperado. Os SLMs, com seus usos mais específicos, podem precisar de menos supervisão, mas de uma governança mais direcionada. Para ambos, verificações regulares, acompanhamento do desempenho e documentação clara das limitações e dos usos pretendidos são muito importantes para o uso responsável da IA.
Ana Rojo Echeburúa é cientista de dados e IA com doutorado em Matemática Aplicada. Ela adora transformar dados em insights acionáveis e tem ampla experiência na liderança de equipes técnicas. Ana gosta de trabalhar em estreita colaboração com os clientes para resolver seus problemas de negócios e criar soluções inovadoras de IA. Conhecida por suas habilidades de resolução de problemas e comunicação clara, ela é apaixonada por IA, especialmente por modelos de linguagem grandes e IA generativa. Como cofundadora e CTO da Simpli, uma empresa de IA para seguros tecnológicos, Ana se dedica ao aprendizado contínuo e ao desenvolvimento ético de IA, sempre ampliando os limites da tecnologia.
Aprenda IA com estes cursos!
programa
Developing AI Applications
programa
AI Fundamentals
blog
Avaliação do LLM: Métricas, metodologias, práticas recomendadas
Stanislav Karzhev
9 min
blog
Entendendo e atenuando o viés em modelos de idiomas grandes (LLMs)
Nisha Arya Ahmed
12 min
blog
Explicação dos modelos de visão de linguagem (VLMs)
Bhavishya Pandit
8 min
blog
O que é o TinyML? Uma introdução ao aprendizado de máquina minúsculo
tutorial
Guia de Introdução ao Ajuste Fino de LLMs
Josep Ferrer
12 min
tutorial