Technical
Personalização de Modelos de Linguagem: Fine-Tuning vs. Prompt Engineering
Paulo Maia · 6 de novembro de 2023
No panorama em rápida evolução da inteligência artificial, observa-se um crescimento significativo de interesse e atividade em torno da IA generativa. Surge a pergunta: Por que esta urgência? Qual é a força motriz? A resposta reside no poder transformador da personalização de Large Language Models (LLMs). As empresas sentem-se cada vez mais atraídas pelo potencial destes modelos, particularmente quando adaptados às suas necessidades específicas.
Imagine um modelo de linguagem cuidadosamente ajustado aos requisitos específicos da sua empresa, capaz de compreender as nuances da sua indústria. Um modelo que não apenas reproduz as suas boas práticas, mas também consegue validar se os seus processos estão em conformidade com as suas políticas e o contexto regulatório. Um consultor interno ao seu dispor, 24 horas por dia. Ferramentas com estas características não são apenas teóricas; representam uma aspiração prática, prometendo uma revolução na forma como as empresas se comunicam e operam na era digital.
Se pretende saber como pode navegar esta jornada de IA generativa, continue a leitura neste artigo. Aqui, apresentamos os dois principais métodos utilizados atualmente para personalizar LLMs: Fine-Tuning e Prompt Engineering. Explicaremos o quê, como e quando usar cada um deles.
Dois Métodos Complementares
Quando se trata de personalizar Large Language Models (LLMs) com dados internos, destacam-se duas abordagens: Fine-Tuning e Prompt Engineering. Exploremos estes métodos sem entrar demasiado em detalhes técnicos.
Fine-Tuning
Fine-tuning é um processo meticuloso semelhante a uma atualização de desempenho para o seu LLM. Os passos envolvidos neste método são os seguintes:
- Primeiro, estabeleça um pipeline de pré-processamento de dados para transformar os seus dados e documentação. Note que os LLMs, como os modelos GPT, aprendem de forma mais eficiente quando treinados com perguntas e respostas. Para melhores resultados, poderá precisar de reformular a sua documentação para que a informação relevante seja apresentada num formato de pergunta-resposta (ou pedir ao ChatGPT para o fazer).
- Depois, treine o modelo com os dados e documentação pré-processados
- Teste o modelo e itere os dois passos anteriores até obter os resultados pretendidos.
- Finalmente, coloque perguntas ao seu modelo e veja-o responder com precisão personalizada.
Prompt Engineering
Com Prompt Engineering, o LLM não precisa ser retreinado. É como ter uma conversa dinâmica com o seu LLM, instruindo-o em tempo real para obter respostas contextualizadas. Toda a informação relevante é passada ao modelo através do prompt.
- Comece por indexar todos os seus dados e documentos numa base de dados vetorial para fácil recuperação.
- Quando surge um novo pedido, crie um pipeline para:
- Procurar pelos dados mais relevantes
- Incluí-los no prompt
- Ajustar o prompt conforme necessário (este é o passo que poderá requerer iteração)
- Obter a resposta
No domínio da personalização de LLMs, Fine-Tuning e Prompt Engineering oferecem formas poderosas de desbloquear o potencial dos seus dados internos. Quer esteja a refinar a precisão ou a orquestrar conversas dinâmicas, estes métodos permitem que o seu LLM se distinga em harmonia com o seu contexto informativo único.
Escolher o melhor método para si não é trivial. Ambos têm vantagens e desvantagens, e tudo depende das suas prioridades e constrangimentos. Mas não se preocupe, estamos aqui para o ajudar a tomar uma decisão fundamentada. Consulte a secção seguinte.
Como Escolher com Sabedoria?
Não existe uma resposta correta para a pergunta "Qual é o melhor método?" no que respeita à personalização de LLMs. A curto prazo, um método pode parecer menos dispendioso, mas a longo prazo pode revelar-se mais custoso. O outro pode ter um desempenho superior quando existe um grande volume de dados a passar para o modelo, mas pode ter fraco desempenho com conjuntos de dados mais reduzidos. Portanto, vamos explorar a variedade de fatores que podem influenciar a sua decisão e analisar as vantagens e desvantagens de cada método.
Volume de Dados
Se está a lidar com uma pequena coleção de documentos de uma página, considere-a um conjunto de dados relativamente reduzido. É provável que esta quantidade seja insuficiente para um fine-tuning eficaz de um Large Language Model (LLM). Poderão ser necessários esforços adicionais e investimento em técnicas de aumento de dados para melhorar o processo de treino. Neste caso, recomendo o método Prompt Engineering.
Se tem um grande volume de dados, tenho outra pergunta para si: Quanto dados são necessários para responder a uma única pergunta? Alguns pedidos requerem uma grande quantidade de informação contextual para serem respondidos. Por exemplo, se me pedir um resumo do meu livro de física, o modelo precisa ter acesso ao livro inteiro. No entanto, se procuro apenas a 1ª Lei do Movimento, o modelo apenas necessita aceder ao parágrafo onde essa lei está explicada.
Se precisa de passar um grande volume de informação ao seu modelo, Prompt Engineering não será a melhor solução, uma vez que os prompts têm limitações e, mesmo que não tivessem, os custos seriam demasiado elevados para justificar esta abordagem. Portanto, neste caso, opte pelo método Fine-tuning.
Se o seu modelo não requer acesso extensivo a informação contextual para responder às suas questões, qualquer uma das abordagens pode integrar-se perfeitamente no seu sistema. Portanto, considere os fatores restantes como desempate.
Transitoriedade da Informação
Se está a lidar com dados temporários ou que podem estar em constante atualização, a melhor opção é o método Prompt Engineering. Neste caso, apenas precisa garantir que o processo de indexação ocorre com a frequência com que os seus dados são atualizados. Terá assim um LLM personalizado que consulta sempre os dados mais recentes e ignora os obsoletos.
Em alternativa, teria de fazer fine-tuning consistente e testar o seu LLM, um processo que pode estender-se para além do período de validade dos dados.
Tempo de Lançamento
Se pretende lançar rapidamente um MVP para validar a solução, Prompt Engineering é a escolha ideal devido às suas capacidades de personalização e teste mais rápidas. No entanto, isto não significa necessariamente que seja a solução mais adequada a longo prazo. Mas definitivamente permite que implemente a sua solução, recolha feedback dos utilizadores e conduza outras experiências em paralelo.
Governação de Dados
Se possui informação sensível que não deve estar acessível a todos os utilizadores, é crucial exercer precaução adicional para prevenir fugas de informação. Considere que tem de lidar com dados que apenas devem estar disponíveis para utilizadores específicos com base nos seus papéis na organização. Eis como pode resolver o problema de Governação de Dados:
- Abordagem Fine-Tuning: Quando treina um modelo LLM com informação específica, existe o risco de fuga de dados nas suas respostas. Para gerir a governação de dados, faça fine-tuning de um modelo separado para cada papel (ou grupo de papéis com permissões idênticas de acesso a dados). Quando um utilizador entra para fazer um pedido à IA, invocará o modelo correspondente. Isto implica manter tantos modelos quantos papéis existem na sua organização, o que pode colocar desafios na manutenção dos modelos.
- Abordagem Prompt Engineering: Este método é mais direto, pois envolve filtrar os dados acessíveis ao utilizador enquanto procura a informação mais relevante. Ao fazer isto, garante que os dados incluídos no conteúdo do prompt não divulgam informação privada, tornando-a uma abordagem mais simplificada comparada com fine-tuning.
Custos
Se procura determinar qual o método mais custo-eficaz, não existe uma resposta definitivamente certa ou errada. O método fine-tuning envolve um investimento inicial maior, uma vez que requer o pagamento pelo desenvolvimento da solução, um processo mais longo comparado com Prompt Engineering. No entanto, passar dados no prompt, como se faz em Prompt Engineering, torna o prompt mais longo e, portanto, mais caro. Consequentemente, a longo prazo, o método Fine-tuning pode revelar-se mais económico. Ainda assim, para a primeira versão de um MVP, o método Prompt Engineering poderia ser a escolha ideal.
Conclusão
Enquanto as empresas navegam o potencial transformador de LLMs personalizados às suas necessidades únicas, a decisão torna-se matizada. Fine-tuning oferece uma atualização meticulosa, exigindo um investimento inicial mas promovendo economia a longo prazo. Por outro lado, Prompt Engineering fornece agilidade, particularmente benéfica para lançamentos rápidos de MVP.
As variáveis que influenciam esta decisão abrangem o volume de dados, a transitoriedade da informação, o tempo de lançamento, a governação de dados e custos. Quer priorize precisão, conversas dinâmicas ou validação rápida, compreender estes fatores orienta uma escolha ponderada. Se não tem a certeza de como priorizar estes fatores, deixe-nos ajudá-lo a tomar a decisão certa para o seu negócio ao marcar uma reunião connosco.
Neste artigo, procurámos ajudá-lo a decidir entre Fine-tuning e Prompt Engineering, mas se está a considerar integrar IA generativa no seu negócio pela primeira vez, deve ter consciência dos riscos potenciais. Nesse caso, recomendamos que consulte este vídeo no nosso canal YouTube.
Pretende aprofundar esta discussão?
Marque uma reunião com Paulo Maia
Conheça Paulo Saiba Mais
