O que são Small Language Models(SLMs)?
Um Small Language Model (SLM) é uma versão menor de um Large Language Model (LLM) com conhecimento mais especializado, rápida personalização e maior eficiência na execução.
Os SLMs são treinados com foco em conhecimento específico de um domínio, diferente dos LLMs, que abrangem uma grande variedade de assuntos. Por serem menores, os SLMs consomem menos recursos computacionais para treinamento e implantação, reduzindo os custos e permitindo ajustes finos mais rápidos. A natureza leve dos SLMs os torna ideais para dispositivos de edge e aplicações móveis.
SLMs vs LLMs
SLMs vs LLMs 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 seus nomes sugerem, LLMs e SLMs são treinados com conjuntos de dados baseados em linguagem, o que os diferencia dos modelos treinados com 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 dos SLMs e LLMs é a IA generativa (gen IA), que pode oferecer respostas não roteirizadas para uma ampla variedade de consultas imprevisíveis — daí o nome. O modelo fundamental 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 IA 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.
Acesse a biblioteca de conteúdos da Red Hat
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 e 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.
Inferência de IA em grande escala
Há muitos fatores diferentes que podem afetar o sucesso da inferência em grande escala. Depende principalmente da eficiência e eficácia dos elementos que estão trabalhando juntos.
Especificamente, os servidores de inferência compatíveis com modelos de IA maiores (como LLMs) e seus recursos de inferência mais complexos são essenciais para escalar as cargas de trabalho de IA para empresas.
Estas ferramentas de IA usam recursos com mais eficiência para fazer inferências em grande escala com mais rapidez:
- llm-d: os prompts do LLM podem ser complexos e não uniformes. Em geral, eles exigem recursos computacionais e armazenamento extensivos para processar grandes quantidades de dados. O llm-d, um framework de IA open source, oferece caminhos claros para ajudar os desenvolvedores a usar técnicas como inferência distribuída para atender às demandas crescentes de modelos de raciocínio maiores e sofisticados, como os LLMs.
- Inferência distribuída: a inferência distribuída permite que modelos de IA processem cargas de trabalho com mais eficiência, dividindo a execução da inferência entre um conjunto de dispositivos interconectados. É como dizer que a “união faz a força” no contexto de software.
- vLLM: significa modelo virtual de linguagem de larga escala, é uma biblioteca de código open source mantida pela comunidade de vLLM. Ele ajuda Large Language Models (LLMs) a fazer cálculos com mais eficiência e em grande escala. Ele está ajudando organizações como LinkedIn, Roblox e Amazon a acelerar seus recursos de inferência.
Benefícios dos 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. Na hora de escolher entre um LLM e um SLM, você deve considerar:
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.
As limitações dos SLMs
Com a integração dos SLMs nos fluxos de trabalho, é importante entender as limitações que eles apresentam.
Vieses
Os vieses são inevitáveis. Mas nos SLMs, que são treinados com conjuntos de dados menores, é mais fácil mitigá-los em comparação aos LLMs. Ainda assim, como em qualquer modelo de linguagem, isso pode introduzir vieses, como a sub-representação de certos grupos, deturpação de ideias ou imprecisões nas informações. Os modelos de linguagem também podem herdar vieses relacionados a dialetos, localização geográfica e gramática.
Para evitar resultados imprecisos, as equipes precisam garantir a qualidade dos dados de treinamento.
Conhecimento limitado
Os SLMs têm um conjunto menor de informações para gerar suas respostas. Por isso, são ideais para tarefas específicas, mas não tão indicados para funções que exigem um amplo conhecimento geral.
As equipes podem criar uma coleção de SLMs específicos para usar junto com um LLM (ou vários LLMs). Essa solução fica ainda mais interessante quando as equipes conseguem unir modelos às aplicações já existentes, criando um fluxo de trabalho interconectado com vários modelos de linguagem trabalhando em conjunto.
Casos de uso de SLM
Graças à sua adaptabilidade, os SLMs são indicados para diversos casos de uso.
Chatbots
Use um SLM para treinar um chatbot com materiais especializados. Por exemplo, um chatbot de atendimento ao cliente pode ser treinado com o conhecimento específico da empresa para responder perguntas e direcionar os usuários às informações corretas.
Agentic AI
Integre SLMs em um fluxo de trabalhoAgentic AIpara que realizem tarefas em nome de um usuário.
IA generativa
Os SLMs podem realizar tarefas como gerar novos textos, traduzir textos existentes e resumir informações.
Como a Red Hat pode ajudar
O Red Hat AI é um conjunto de soluções e serviços para sua empresa que ajuda em todas as etapas da jornada de IA, desde o começo até a fase de escalabilidade. Ele pode viabilizar iniciativas de IA generativa e preditiva para casos de uso exclusivos da sua empresa.
Com o Red Hat AI, você tem acesso ao Red Hat® AI Inference Server para otimizar a inferência de modelos na nuvem híbrida, garantindo implantações mais rápidas e econômicas. Com a tecnologia vLLM, o servidor de inferência maximiza a utilização da GPU e reduz os tempos de resposta.
O Red Hat AI Inference Server inclui o repositório do Red Hat AI, uma coleção de modelos otimizados e validados que oferece flexibilidade e promove a consistência entre equipes. Com acesso ao repositório de modelos de terceiros, as empresas conseguem acelerar o time to market e reduzir as barreiras financeiras para o sucesso da IA.
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.