LLMs estão a transformar a forma como construímos soluções de IA. Estão constantemente a ser lançados modelos prontos a utilizar mais recentes e melhores.
Uma pergunta que me fazem frequentemente é porque é que alguém deve optar por um LLM personalizado em vez de uma solução pronta?
Se estiver a trabalhar num projeto de IA, como a criação de um agente de IA ou de um chatbot de IA, pode optar por utilizar um modelo de linguagem grande personalizado (LLM).
Há muitas razões para utilizar um LLM personalizado e muitas opções à sua disposição. Neste artigo, vou explicar-lhe as diferentes formas de personalizar um LLM para projectos de IA.
Porquê utilizar um LLM personalizado?
Existem várias razões para utilizar um LLM personalizado:
- Pretende reduzir os custos, concentrando-se numa tarefa específica que é importante para o seu caso de utilização empresarial, ou minimizar a latência.
- Poderá querer manter todos os dados privados ou utilizar o site interno da sua empresa LLM.
- Poderá querer melhorar a qualidade das respostas para uma determinada tarefa.
Seja qual for o motivo, a personalização do seu LLM permite-lhe otimizar o desempenho, equilibrando a precisão, a velocidade e o custo de acordo com as suas necessidades comerciais.
Escolher um LLM
LLMs têm duas qualidades que têm impacto nos projectos de IA: a sua dimensão (medida pelo número de parâmetros) e a qualidade das respostas.
Pode pensar-se nos parâmetros como os neurónios de um cérebro. Um cérebro maior está frequentemente relacionado com a inteligência, mas isso nem sempre é verdade. E partes do cérebro podem ser altamente optimizadas para determinadas tarefas, como a visão.
Para projectos de IA, o tamanho afecta normalmente a velocidade de resposta e afecta grandemente o custo das respostas. Os projectos que exigem baixa latência utilizam frequentemente modelos mais pequenos, mas à custa da qualidade das respostas.
O que perguntar ao escolher um modelo
Eis uma boa lista de perguntas a que deve responder quando escolher um modelo:
- Posso utilizar um LLM baseado na nuvem ou tenho de ser eu a alojar um?
- Qual é a rapidez das respostas?
- Qual é o grau de exatidão das respostas que necessito?
- Quanto dinheiro irá o meu projeto poupar e/ou gerar? Então, a que preço deve descer?
- Qual é a duração das minhas respostas?
De um modo geral, é difícil acelerar um modelo potente ou reduzir os seus custos, e é mais fácil melhorar um modelo menos preciso.
No entanto, é muito mais rápido começar com um modelo poderoso e, se este satisfizer as necessidades do seu projeto, poderá não ser necessário tanto esforço de engenharia (além disso, é mais fácil de manter).
Escolher entre RAG, Fine-Tuning, N-Shot Learning e Prompt Engineering
Existem cinco conceitos gerais que melhoram a qualidade das respostas do sítio LLM :
- A partir de um modelo pré-treinado
- RAG
- Afinação fina
- Solicitação de disparo N
- Engenharia rápida
Estas não são específicas da utilização de modelos personalizados, mas deve tê-las em conta de qualquer forma, uma vez que funcionam em conjunto.
A partir de um modelo
A primeira coisa que deve fazer é escolher um modelo inicial. Existem muitas tabelas de classificação online que comparam os diferentes modelos.
Por exemplo:
- A Hugging Face mantém uma tabela de classificação para modelos de código aberto.
- A Vellum tem um excelente modelo para os modelos mais populares.
Se a sua empresa tiver um modelo interno, considere utilizá-lo para trabalhar com o seu orçamento e manter os dados privados. Se precisar de alojar o modelo, considere um modelo de código aberto.
Afinação
O ajuste fino envolve fornecer exemplos ao modelo para que ele aprenda a fazer bem uma determinada tarefa. Se quiser que ele seja excelente a falar sobre o seu produto, pode fornecer uma série de exemplos das melhores chamadas de vendas da sua empresa.
Se o modelo for de fonte aberta, pergunte a si próprio se a sua equipa tem capacidade de engenharia suficiente para afinar um modelo.
Se o modelo for de código fechado e fornecido como um serviço - GPT-4 ou Claude - pode normalmente pedir aos seus engenheiros para afinarem os modelos personalizados utilizando APIs. Normalmente, o preço aumenta substancialmente através deste método, mas há pouca ou nenhuma manutenção.
Mas para muitos casos de utilização, o ajuste fino não é o primeiro passo para otimizar o seu modelo.
Um bom exemplo de afinação é a criação de um bot de conhecimento para conhecimento estático. Ao dar exemplos de perguntas e respostas, deve ser capaz de as responder no futuro sem procurar a resposta. Mas não é uma solução prática para informação em tempo real.
Geração aumentada por recuperação
RAG é um nome elegante para uma coisa simples que todos nós já fizemos em ChatGPT: colar um texto em ChatGPT e fazer uma pergunta sobre ele.
Um exemplo típico é perguntar se um determinado produto está em stock num sítio de comércio eletrónico, e um chatbot procurar a informação num catálogo de produtos (em vez de na Internet em geral).
Em termos de rapidez de desenvolvimento e de obtenção de informações em tempo real, o RAG é imprescindível.
Normalmente, não afecta o modelo a escolher, mas nada o impede de criar um ponto de extremidade da API LLM que consulte informações e respostas e utilize este ponto de extremidade como se fosse o seu próprio LLM.
A utilização de RAG para um chatbot baseado no conhecimento é frequentemente mais fácil de manter, uma vez que não é necessário afinar um modelo e mantê-lo atualizado - o que também pode reduzir os custos.
Aprendizagem N-shot
A forma mais rápida de começar a melhorar a qualidade das respostas é fornecer exemplos numa única chamada à API LLM .
Zero-shot - dar zero exemplos do que está procurando em uma resposta - é como a maioria de nós usa ChatGPT. Adicionar um exemplo (ou one-shot) é geralmente suficiente para ver uma melhoria substancial na qualidade da resposta.
Mais do que um exemplo é considerado n-shot. O n-shot não altera o modelo, ao contrário do fine-tuning. Está simplesmente a dar exemplos antes de pedir uma resposta, sempre que faz uma pergunta.
Mas esta estratégia não pode ser utilizada em demasia: os modelos LLM têm um tamanho máximo de contexto e o seu preço depende do tamanho da mensagem. O ajuste fino pode eliminar a necessidade de n exemplos de disparos, mas leva mais tempo a ser feito corretamente.
Outras técnicas de engenharia rápida
Existem outras técnicas de engenharia rápida, como a cadeia de pensamento, que obrigam os modelos a pensar em voz alta antes de darem uma resposta.
Isto aumenta a qualidade da resposta, mas à custa da duração, custo e rapidez da resposta.
A minha recomendação
Embora cada projeto tenha as suas necessidades específicas, vou dar os meus dois cêntimos para uma abordagem forte.
Um bom ponto de partida é utilizar um modelo pronto a usar que equilibre velocidade e qualidade, como o GPT-4o Mini. Comece por analisar a qualidade das respostas, a velocidade de resposta, o custo, as necessidades da janela de contexto e decida o que precisa de ser melhorado a partir daí.
Depois, com um caso de utilização restrito, pode tentar uma engenharia simples, seguida de RAG e, por fim, afinação. Todos os modelos que passarem por estes processos terão ganhos de desempenho, pelo que pode ser complicado descobrir o que utilizar.
Considerações sobre privacidade
Num mundo ideal, cada LLM estaria 100% sob o seu próprio controlo e nada seria exposto em lado nenhum.
Infelizmente, não é isso que observamos na prática - e por muito boas razões.
A primeira é simples: exige que a engenharia aloje e mantenha um modelo personalizado, o que é muito dispendioso. Quando o modelo alojado fica inativo, as métricas da empresa são afectadas, pelo que a implementação deve ser muito robusta.
Outra razão é que os líderes do sector - como OpenAI, Google e Anthropic - estão constantemente a lançar modelos mais recentes, mais capazes e mais baratos que tornam redundante qualquer trabalho de afinação. É o que acontece desde o lançamento do ChatGPT 3.5 e não há sinais de mudança.
Se o seu caso de utilização tiver dados extremamente sensíveis, faz sentido utilizar um modelo e optimizá-lo para o seu caso de utilização. Se o RGPD for uma prioridade, existem muitos modelos prontos a utilizar que estão em conformidade com o RGPD.
Edifício depois de selecionar o seu LLM
Depois de ter selecionado um LLM, pode começar a descobrir como vai construir e manter o seu projeto de IA. Como exemplo, vou pegar no tipo de projeto com que estou mais familiarizado: um agente de IA ou um chatbot de IA.
Pode responder às seguintes perguntas para definir o âmbito do seu projeto:
- Onde é que eu gostaria que o meu agente de IA vivesse? (Slack, WhatsApp, um widget de sítio Web, etc.)
- Que conhecimentos deve ter, onde é que esses conhecimentos se encontram?
- Que capacidades deverá ter para além de responder a perguntas, se as tiver?
- Deve ser ativado quando algo acontece algures na empresa?
Descarregar a engenharia para poupar dinheiro
Manter um orçamento reduzido é fundamental para tornar o seu projeto uma realidade. Uma das formas de o fazer é reduzir o tempo de engenharia através da dissociação de requisitos.
Atualmente, temos acesso a soluções de baixo código, como o Flutterflow e o Shopify, que podem ser utilizadas por funções tradicionalmente não técnicas, como os gestores de produto. Os chatbots não são exceção, e algumas plataformas de automatização de IA permitem até utilizar o seu próprio LLM.
Pode dar instruções aos engenheiros para se concentrarem no alojamento do LLM e na configuração da plataforma de automatização. Isso liberta os analistas empresariais, os gestores de produtos e outras funções relacionadas para criarem agentes de IA que satisfaçam os requisitos empresariais.
Quando é necessário algo adicional, estas plataformas têm geralmente uma forma de os engenheiros acrescentarem algum código. Desta forma, mantém as vantagens de um modelo personalizado e ganha flexibilidade, rapidez e acessibilidade.
Proporcionar liberdade de engenharia para resolver problemas empresariais
Por outro lado, por vezes, os problemas empresariais são muito difíceis de resolver.
Estamos a falar de aplicações LLM totalmente ligadas à rede, de aplicações no dispositivo ou de projectos que exigem a atribuição de capacidades extremamente avançadas aos chatbots, que vão além da sincronização de dados entre duas plataformas.
Nesses casos, faz sentido dar aos engenheiros a liberdade de utilizarem as ferramentas que mais lhes convêm. Normalmente, trata-se apenas de escrever código e as partes interessadas actuam simplesmente como gestores de projeto.
Considerações estratégicas para personalizar um LLM
Escolher um LLM personalizado para o seu projeto de IA não se trata apenas de escolher o melhor modelo - trata-se de tomar decisões estratégicas que se alinham com os seus objectivos.
Os modelos personalizados oferecem flexibilidade, controlo e a possibilidade de otimização para tarefas específicas, mas também têm uma complexidade acrescida. Comece com um modelo pronto a usar, experimente a engenharia rápida e aperfeiçoe gradualmente a partir daí.
Lembre-se de que o modelo certo deve adaptar-se às necessidades da sua empresa e não apenas à sua tecnologia stack.
Personalização com plataformas poderosas
Pronto para elevar o nível do seu projeto de IA?
Botpress é uma plataforma de agentes de IA totalmente extensível e flexível. A nossa stack permite que os programadores criem chatbots e agentes de IA para qualquer caso de utilização possível.
Dispomos de uma plataforma de ensino sólida, Botpress Academybem como um canal detalhado no YouTube. O nosso Discord aloja mais de 20.000 bot builders, para que possa sempre obter o apoio de que necessita.
Comece aconstruir hoje. É grátis.
Índice
Mantenha-se atualizado com as últimas novidades sobre agentes de IA
Partilhar isto em: