LLMs e SLMs
Large Language Models (LLMs), ou grandes modelos de linguagem, e Small Language Models (SLMs), ou pequenos modelos de linguagem, são tipos de sistemas de inteligência artificial (IA) treinados para interpretar a linguagem humana, incluindo a linguagem de programação. As principais diferenças entre eles geralmente estão no tamanho dos conjuntos de dados usados para treiná-los, nos processos aplicados durante o treinamento e no custo-benefício inicial para diferentes casos de uso.
Como os próprios nomes sugerem, os LLMs e SLMs são treinados em conjuntos de dados que consistem em linguagem, o que os distingue dos modelos treinados em imagens (por exemplo, DALL·E) ou vídeos (por exemplo, Sora). Há conjuntos de dados baseados em linguagem que incluem textos de páginas da web, códigos de programação, e-mails e manuais.
Uma das aplicações mais conhecidas de SLMs e LLMs é a IA generativa (gen AI), que pode gerar(daí o nome) respostas de conteúdo não escritas para muitas consultas diferentes e imprevisíveis. O modelo de base GPT-4 e o ChatGPT, um chatbot de conversação treinado com grandes conjuntos de dados usando trilhões de parâmetros para responder a uma ampla variedade de perguntas humanas, tornaram os LLMs conhecidos pelo público em geral. Embora a gen AI tenha se tornado mais conhecida, também existem aplicações não generativas para os LLMs e SLMs, como a IA preditiva.
LLMs e SLMs geralmente são treinados em conjuntos de dados diferentes.
O alcance do GPT-4/ChatGPT é um excelente exemplo que demonstra uma diferença comum entre LLMs e SLMs: os conjuntos de dados em que são treinados.
Os LLMs são geralmente feitos para imitar a inteligência humana em um nível mais amplo e, por isso, são treinados com vários tipos de grandes conjuntos de dados. É o caso do GPT-4/ChatGPT que inclui toda a internet pública(!) até uma certa data. Foi assim que o ChatGPT ganhou notoriedade, ao interpretar e responder a uma grande variedade de perguntas de usuários. No entanto, é também por isso que, às vezes, ele chama atenção por respostas incorretas, conhecidas informalmente como "alucinações". Falta a ele ajuste fino e treinamento voltado para áreas específicas, o que permitiria oferecer respostas mais precisas para questões de determinadas indústrias e nichos.
Por outro lado, os SLMs são treinados com conjuntos de dados menores, personalizados para algum setor específico. Por exemplo, uma entidade de saúde poderia usar um chatbot com SLM treinado com conjuntos de dados médicos para incorporar conhecimento específico da área em uma consulta leiga de um usuário sobre sua saúde, enriquecendo a qualidade tanto da pergunta quanto da resposta. Nesse caso, o chatbot baseado em SLM não necessita de treinamento com todo o conteúdo da internet, como blogs, romances ou poemas, pois esses dados não são relevantes para os casos de uso do setor de saúde.
Em resumo, os SLMs geralmente se destacam em domínios específicos, mas têm um desempenho inferior aos LLMs se avaliarmos o conhecimento geral e a compreensão contextual ampla.
Recursos da Red Hat
SLMs e LLMs têm processos de treinamento diferentes
O tamanho e o escopo dos conjuntos de dados não é o único fator de diferenciação entre SLMs e LLMs. É importante mencionar que um modelo pode ser considerado um SLM mesmo se for treinado nos mesmos conjuntos de dados que um LLM. Isso acontece porque os parâmetros de treinamento e o processo geral (e não apenas a quantidade de dados) fazem parte da definição de cada modelo. Em outras palavras, o importante não é apenas a quantidade de dados com que o modelo é treinado, mas também o que ele foi programado para aprender com esses dados.
Parâmetros
Em machine learning, parâmetros são variáveis internas que determinam quais previsões serão feitas por um modelo. Ou seja, eles são a forma como os modelos decidem o que fazer com o material bruto do conjunto de dados. Durante o treinamento, um modelo de IA ajusta continuamente seus parâmetros para melhorar as previsões. Pense nisso como girar o botão de um rádio para encontrar a estação certa. Além do número total de parâmetros, outros fatores importantes nesse processo extremamente complexo incluem como os parâmetros são organizados em camadas dentro do modelo, como são ponderados entre si e como são otimizados para reconhecer padrões em vez de simplesmente memorizar informações.
Não existe um número definido de parâmetros para caracterizar um SLM ou a um LLM. Dessa forma, o mais relevante é que SLMs normalmente têm muito menos parâmetros do que LLMs, porque seus casos de uso priorizam domínios de conhecimento específicos. No caso do LLM GPT-4/ChatGPT, ele foi alegadamente treinado com trilhões de parâmetros para poder responder a praticamente qualquer pergunta do usuário. No entanto, é importante lembrar que o GPT-4 é um exemplo excepcionalmente grande de LLM. Há muitos exemplos de LLMs menores (não exatamente SLMs), como os modelos Granite open source da IBM, que variam entre 3 e 35 bilhões de parâmetros. SLMs geralmente possuem um número menor de parâmetros (ainda podendo chegar à casa dos bilhões), pois são projetados para aplicações com um escopo muito mais restrito.
Ajuste fino
O ajuste fino, outro aspecto do treinamento de modelos que pode diferenciar SLMs e LLMs, é o processo de adaptar e atualizar um modelo pré-treinado com novos dados. Geralmente, o objetivo do ajuste fino é personalizar um modelo pré-treinado para um caso de uso específico. Isso envolve introduzir novos conjuntos de dados para testar se os parâmetros atuais continuam produzindo resultados aceitáveis em um novo contexto. Em geral, quanto maior o número de parâmetros em um modelo, mais recursos são necessários para o ajuste fino, tornando o processo mais complexo e demorado. Isso significa que LLMs demandam um esforço significativamente maior em comparação aos SLMs
Além dos parâmetros e ajuste fino, o tipo e a complexidade do processo de treinamento também costumam ser diferentes entre SLMs e LLMs. Compreender os diferentes tipos de treinamento de modelos, como os “mecanismos de self-attention” ou os "esquemas de modelos encoder-decoder", exige um alto nível de especialização em ciência de dados. As diferenças básicas entre o treinamento de SLM e LLM são que SLMs normalmente favorecem abordagens mais eficientes em termos de recursos e mais voltadas para casos de uso específicos do que seus equivalentes de LLM.
Tendência
Embora todos os modelos de IA passem por algum grau de ajuste fino, o escopo da maioria dos LLMs impossibilita que se ajuste cada possível inferência. LLMs também costumam ser treinados com conjuntos de dados altamente acessíveis, como a Internet, enquanto SLMs usam conjuntos de dados específicos do setor ou da empresa. Isso pode introduzir vieses, como a sub-representação de certos grupos, deturpação das ideias ou imprecisões nas informações. Como os LLMs e SLMs são modelos de linguagem, eles também podem herdar vieses relacionados a dialetos, localização geográfica e gramática.
Em resumo, todos os modelos de linguagem podem herdar vieses, mas isso é mais comum nos LLMs, devido ao seu amplo escopo. Os vieses são inevitáveis. Mas nos SLMs, que são treinados com conjuntos de dados menores, é mais fácil mitigá-los.
LLMs e SLMs exigem recursos diferentes
Treinar qualquer modelo para casos de uso empresariais requer muitos recursos, seja ele LLM ou SLM. No entanto, treinar LLMs exige ainda mais. No caso do GPT-4, um total de 25 mil NVIDIA A100 GPUs foram executadas simultaneamente e continuamente por mais de 90 dias. Mais uma vez, o GPT-4 representa o limite superior do espectro dos LLMs. Outros LLMs como o Granite não exigiram tantos recursos. Treinar um SLM ainda requer um grande volume de recursos computacionais, mas muito menor do que exige um LLM.
Requisitos de recursos para treinamento vs inferência
Observe também a diferença entre treinamento e inferência de modelos. Como discutido anteriormente, treinamento é a primeira etapa para desenvolver um modelo de IA. Inferência é o processo seguido por um modelo de IA treinado para fazer previsões com novos dados. Por exemplo, quando um usuário faz uma pergunta ao ChatGPT, ele retorna uma previsão ao usuário. Esse processo de gerar uma previsão é uma inferência.
Alguns LLMs pré-treinados, como a família de modelos Granite, podem fazer inferências usando os recursos de uma única estação de trabalho de alta potência (uma V100-32GB GPU2 é capaz de executar um modelo Granite), embora muitos exijam várias unidades de processamento paralelas para gerar dados. Além disso, quanto maior o número de usuários simultâneos acessando o LLM, mais lenta é a execução de inferências. Por outro lado, normalmente, SLMs são criados para fazer inferências com os recursos de um smartphone ou outro dispositivo mobile.
Custo-benefício de começar a usar LLMs vs SLMs
Não há uma resposta para a pergunta: "qual modelo é melhor? Isso depende dos planos, recursos, expertise, cronograma e outros fatores da sua organização. Também é importante decidir se seu caso de uso exige treinar um modelo do zero ou fazer ajuste fino em um modelo pré-treinado. Considerações comuns entre LLMs e SLMs incluem:
Custo
Em geral, LLMs requerem muito mais recursos para treinar, ajustar e executar inferências. Lembre-se de que treinar é um investimento menos frequente. Os recursos computacionais só são necessários enquanto um modelo está sendo treinado, o que é uma tarefa intermitente e não contínua. No entanto, executar inferências representa um custo contínuo, e a necessidade pode aumentar à medida que o modelo é escalado para cada vez mais usuários. Na maioria dos casos, isso requer recursos de cloud computing em escala, um investimento significativo em recursos on-premise ou ambos.
SLMs costumam ser avaliados para casos de uso de baixa latência, como a edge computing. Isso porque eles geralmente conseguem operar com os recursos disponíveis em um único dispositivo mobile, sem precisar de uma conexão constante e robusta para recursos mais avançados
Expertise
Muitos LLMs pré-treinados populares, como Granite, Llama e GPT-4, oferecem uma opção pronta para uso para começar a usar a IA. Em geral, eles são mais recomendados para organizações que querem começar a experimentar a IA, já que não precisam ser projetados e treinados do zero por cientistas de dados. Por outro lado, geralmente, SLMs exigem expertise em ciência de dados e domínios de conhecimento do setor para realizar o ajuste fino preciso em conjuntos de dados de nicho.
Segurança
Um potencial risco dos LLMs é a exposição de dados confidenciais por meio das interfaces de programação de aplicações (APIs). Especificamente, realizar o ajuste fino em um LLM com dados da sua organização requer atenção especial às políticas de conformidade e da empresa. SLMs podem representar um risco menor de vazamento de dados porque oferecem um nível maior de controle.
Como a Red Hat pode ajudar?
O Red Hat AI oferece recursos de IA generativa e preditiva, com suporte a MLOps, para criação de soluções de IA flexíveis e confiáveis, em escala, em ambientes de nuvem híbrida. Ele ajuda a acelerar a adoção da IA, abstraindo as complexidades da entrega de soluções e trazendo flexibilidade para desenvolver e implantar onde quer que seus dados estejam.
Combinado com a infraestrutura de nuvem híbrida aberta da Red Hat, o Red Hat AI permite que as organizações criem soluções de IA personalizadas, gerenciem ciclos de vida da aplicação e do modelo, se adaptem aos requisitos de aceleração de hardware e implantem, executem e operem cargas de trabalho críticas em uma única plataforma.
Machine learning e IA para iniciantes
Se você está começando a explorar os modelos de ML e IA, experimente o InstructLab, uma solução de treinamento de LLMs voltada para a comunidade. Aqui, você pode experimentar e contribuir diretamente com o desenvolvimento do seu modelo de IA gratuitamente.
Acesse com facilidade os modelos da família IBM's IBM's IBM
Se quiser ir além, o Red Hat® Enterprise Linux AI® é uma plataforma de modelo de base para desenvolver, testar e executar LLMs da família Granite para aplicações empresariais. Granite é uma família de modelos de IA open source licenciados com suporte completo e garantia de indenização por parte da Red Hat. Sua abordagem open source incentiva a inovação em IA generativa, mantendo a segurança e a confiabilidade.
Escale para a empresa
O Red Hat® OpenShift® AI é uma plataforma que oferece suporte para seus modelos em escala, em ambientes de nuvem híbrida. Você pode treinar, ajustar prompts, fazer ajustes finos e disponibilizar esses modelos de IA para seus casos de uso e com dados específicos.
Juntos, esses serviços oferecem uma solução unificada que permite aos cientistas de dados e desenvolvedores colaborarem para que as equipes consigam colocar os modelos experimentais em produção mais rápido.
Cresça com parceiros
Além disso, as integrações de parceiros da Red Hat oferecem acesso a um crescente ecossistema de ferramentas de IA confiáveis, projetadas para serem compatíveis com plataformas open source.
Blog da Red Hat
Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.