Pular para o conteúdo principal
InicioTutoriaisInteligência Artificial (IA)

Como fazer o ajuste fino do GPT 3.5: Liberando todo o potencial da IA

Explore o GPT-3.5 Turbo e descubra o potencial transformador do ajuste fino. Saiba como personalizar esse modelo de linguagem avançado para aplicativos de nicho, aprimorar seu desempenho e entender os custos associados, a segurança e as considerações de privacidade.
24 de abr. de 2024  · 11 min leer

O modelo de linguagem mais recente da OpenAI, o GPT-3.5 Turbo, representa um grande avanço nos recursos de modelos de linguagem grandes. Desenvolvido com base na família de modelos GPT-3, o GPT-3.5 Turbo pode gerar textos notavelmente semelhantes aos humanos, além de ser mais econômico e acessível do que as versões anteriores. No entanto, o verdadeiro poder do GPT-3.5 Turbo está em sua capacidade de ser personalizado por meio de um processo chamado ajuste fino.

O ajuste fino permite que os desenvolvedores tragam seus próprios dados para adaptar o modelo a casos de uso específicos e aumentar significativamente o desempenho em tarefas especializadas. Com o ajuste fino, o GPT-3.5 Turbo chegou a igualar ou superar o GPT-4 em determinadas aplicações estreitas.

Esse novo nível de personalização abre o potencial para que empresas e desenvolvedores implementem o GPT-3.5 Turbo para criar aplicativos de IA personalizados e de alto desempenho. À medida que o ajuste fino se torna disponível para o GPT-3.5 Turbo e o GPT-4 ainda mais avançado no final deste ano, estamos no limiar de uma nova era na IA aplicada.

Por que fazer o ajuste fino dos modelos de linguagem?

O ajuste fino tornou-se uma técnica crucial para obter o máximo de modelos de linguagem grandes, como o GPT-3.5 Turbo. Temos um guia separado sobre o ajuste fino do GPT-3, por exemplo.

Embora os modelos pré-treinados possam gerar textos notavelmente semelhantes aos humanos, seus verdadeiros recursos são revelados por meio do ajuste fino. O processo permite que os desenvolvedores personalizem o modelo treinando-o em dados específicos do domínio, adaptando-o a casos de uso especializados além do que o treinamento para fins gerais pode alcançar. O ajuste fino melhora a relevância, a precisão e o desempenho do modelo para aplicações de nicho.

Personalização para casos de uso específicos

O ajuste fino permite que os desenvolvedores personalizem o modelo para criar experiências únicas e diferenciadas, atendendo a requisitos e domínios específicos. Ao treinar o modelo com dados específicos do domínio, ele pode gerar resultados mais relevantes e precisos para esse nicho. Esse nível de personalização permite que as empresas criem aplicativos de IA sob medida.

Maior capacidade de direção e confiabilidade

O ajuste fino melhora a capacidade do modelo de seguir instruções e produzir uma formatação de saída confiável e consistente. Por meio do treinamento em dados formatados, o modelo aprende a estrutura e o estilo desejados, melhorando a dirigibilidade. Isso resulta em resultados mais previsíveis e controláveis.

Desempenho aprimorado

O ajuste fino pode melhorar significativamente o desempenho do modelo, permitindo até mesmo que o GPT-3.5 Turbo com ajuste fino iguale ou exceda os recursos do GPT-4 em determinadas tarefas especializadas. Ao otimizar o modelo para um domínio restrito, ele obtém resultados superiores nesse espaço de problemas de nicho em comparação com um modelo generalista. O aumento de desempenho do ajuste fino é substancial.

Confira nosso guia sobre 12 alternativas de código aberto ao GPT-4, que explora algumas das ferramentas que podem oferecer desempenho semelhante e exigem menos recursos computacionais para serem executadas.

Impacto do ajuste fino do GPT 3.5-Turbo

No teste beta conduzido pela OpenAI, eles observaram que os clientes que ajustaram o modelo experimentaram melhorias notáveis em seu desempenho para vários aplicativos padrão. Aqui estão algumas das principais conclusões:

1. Direcionalidade aprimorada

Por meio do ajuste fino, as empresas podem orientar melhor o modelo para aderir a determinadas diretrizes. Por exemplo, se uma empresa quiser respostas sucintas ou precisar que o modelo sempre responda em um idioma específico, o ajuste fino pode ajudar a conseguir isso. Um exemplo clássico é que os desenvolvedores podem ajustar o modelo para responder consistentemente em alemão sempre que solicitado.

2. Estruturação consistente da resposta

Um dos principais benefícios do ajuste fino é sua capacidade de tornar os resultados do modelo mais uniformes. Isso é especialmente valioso para tarefas que exigem uma estrutura de resposta específica, como sugestões de código ou geração de interações de API. Por exemplo, com o ajuste fino, os desenvolvedores podem confiar no modelo para transformar as consultas do usuário em formatos JSON de qualidade compatíveis com seus sistemas.

3. Tom personalizado

O ajuste fino pode ser empregado para alinhar as respostas do modelo mais de perto com a voz ou o estilo exclusivo de uma empresa. As empresas com uma voz de marca distinta podem aproveitar esse recurso para garantir que o tom do modelo corresponda à essência da marca.

Pré-requisitos para o ajuste fino

O ajuste fino permite personalizar um modelo de linguagem pré-treinado, como o GPT-3.5 Turbo, continuando o processo de treinamento em seus próprios dados. Isso adapta o modelo ao seu caso de uso específico e melhora significativamente seu desempenho.

Para começar a fazer o ajuste fino, primeiro você precisa acessar a API da OpenAI. Depois de se inscrever no site da OpenAI, você pode obter uma chave de API que lhe permite interagir com a API e os modelos.

Em seguida, você precisa preparar um conjunto de dados para o ajuste fino. Isso envolve a seleção de exemplos de solicitações de texto e respostas de modelos desejados. Os dados devem corresponder ao formato em que seu aplicativo usará o modelo. A limpeza e a formatação dos dados na estrutura JSONL necessária também são importantes.

A CLI do OpenAI fornece ferramentas úteis para validar e pré-processar seus dados de treinamento.

Depois de validados, você pode carregar os dados nos servidores da OpenAI.

Por fim, você inicia um trabalho de ajuste fino por meio da API, selecionando a base GPT-3.5

Turbo model e passando seu arquivo de dados de treinamento. O processo de ajuste fino pode levar horas ou dias, dependendo do tamanho dos dados. Você pode monitorar o progresso do treinamento por meio da API.

Como fazer o ajuste fino do modelo OpenAI GPT 3.5-Turbo: Um guia passo a passo

A OpenAI lançou recentemente uma interface de interface do usuário para o ajuste fino dos modelos de linguagem. Neste tutorial, usarei a UI do OpenAI para criar um modelo de GPT ajustado. Para acompanhar esta parte, você deve ter uma conta e uma chave da OpenAI.

1. Faça login em platform.openai.com

Página da plataforma OpenAI

2. Prepare seus dados

Para fins de demonstração, selecionei um pequeno conjunto de dados de respostas a perguntas e, no momento, ele está armazenado como Pandas DataFrame.

Quadro de dados de perguntas e respostas

Apenas para demonstrar o que fiz, criei 50 perguntas de aprendizado de máquina e suas respostas no estilo de Shakespeare. Com esse trabalho de ajuste fino, estou personalizando o estilo e o tom do modelo GPT3.5-turbo.

Embora não seja um caso de uso muito prático, já que você pode simplesmente adicionar "Answer in Shakespeare style" (Responda no estilo de Shakespeare) no prompt, o GPT3.5 certamente conhece Shakespeare e gerará respostas no tom exigido.

Para o OpenAI, os dados devem estar no formato jsonl. JSONL é um formato em que cada linha é um objeto JSON válido, separado por novas linhas. Escrevi um código simples para converter pd.DataFrame em jsonl.

import json
import pandas as pd

DEFAULT_SYSTEM_PROMPT = 'You are a teaching assistant for Machine Learning. You should help the user to answer his question.'

def create_dataset(question, answer):
    return {
        "messages": [
            {"role": "system", "content": DEFAULT_SYSTEM_PROMPT},
            {"role": "user", "content": question},
            {"role": "assistant", "content": answer},
        ]
    }

if __name__ == "__main__":
    df = pd.read_csv("path/to/file.csv", encoding='cp1252')
    with open("train.jsonl", "w") as f:
        for _, row in df.iterrows():
            example_str = json.dumps(create_dataset(row["Question"], row["Answer"]))
            f.write(example_str + "\n")

Este é o aspecto do meu arquivo jsonl:

Arquivo json

3. Criar o trabalho de ajuste fino

Acesse platform.openai.com, navegue até Fine-tuning no menu superior e clique em Create New.

Criação de um novo modelo de ajuste fino

Selecione o modelo básico. No momento, apenas três modelos estão disponíveis para ajuste fino (babbage-002, davinci-002, gpt-3.5-turbo-0613).

Em seguida, basta carregar o arquivo jsonl, fornecer o nome do trabalho e clicar em Create.

O trabalho de ajuste pode levar várias horas ou até dias, dependendo do tamanho do conjunto de dados. No meu exemplo, o conjunto de dados tinha apenas 5.500 tokens, e o ajuste fino levou mais de 6 horas. O custo desse trabalho foi insignificante (<$ 1 = 5.500/1000 x US$ 0,08).

Este tutorial mostra como você pode usar a interface do usuário para ajustar os modelos GPT. Se você quiser saber como fazer a mesma coisa usando a API, confira o tutorial Fine-Tuning GPT-3 Using the OpenAI API and Python de Zoumana Keita no DataCamp.

4. Usando o modelo de ajuste fino

Após a conclusão do trabalho de ajuste, você poderá usar o modelo ajustado por meio da API ou usando o playground disponível em platform.openai.com.

Playground OpenAI em branco

Observe que, no menu suspenso Modelo, agora há um 3.5-turbo pessoal disponível para seleção. Vamos tentar.

Playground da OpenAI com modelo ajustado

Observe o tom e o estilo das respostas.

Se você quiser saber como trabalhar com o pacote OpenAI Python para ter conversas de forma programática com o ChatGPT, confira Usando o GPT-3.5 e o GPT-4 por meio da API OpenAI no blog do Python no DataCamp.

Segurança e privacidade

A OpenAI leva a segurança a sério e tem processos rigorosos antes de lançar novos modelos, incluindo testes, feedback de especialistas, técnicas para melhorar o comportamento do modelo e sistemas de monitoramento. O objetivo é tornar os poderosos sistemas de IA benéficos e minimizar os riscos previsíveis.

O ajuste fino permite personalizar modelos como o GPT-3.5 Turbo e, ao mesmo tempo, preservar importantes recursos de segurança. A OpenAI aplica intervenções em vários níveis - medições, alterações de modelos, políticas, monitoramento - para mitigar riscos e alinhar modelos.

A OpenAI remove informações pessoais dos dados de treinamento sempre que possível e tem políticas contra a geração de conteúdo com informações de indivíduos privados. Isso minimiza os riscos à privacidade.

Para casos de uso comuns sem dados confidenciais, os modelos da OpenAI podem ser aproveitados com segurança. Mas para dados proprietários ou regulamentados, opções como ofuscação de dados, processadores de IA privados ou modelos internos podem ser preferíveis.

Custo do ajuste fino do GPT 3.5-turbo

Há três custos associados ao ajuste fino e ao uso do modelo GPT 3.5-turbo com ajuste fino.

  1. Preparação de dados de treinamento. Isso envolve a seleção de um conjunto de dados de solicitações de texto e respostas desejadas adaptadas ao seu caso de uso específico. O custo dependerá do tempo e do esforço necessários para obter e formatar os dados.
  2. Custo do treinamento inicial. Esse valor é cobrado por token de dados de treinamento. A US$ 0,008 por 1.000 tokens, um conjunto de treinamento de 100.000 tokens custaria US$ 800 para o ajuste fino inicial.
  3. Custos de uso contínuo. Eles são cobrados por token para prompts de entrada e saídas de modelo. Com US$ 0,012 por 1.000 tokens de entrada e US$ 0,016 por 1.000 tokens de saída, os custos podem aumentar rapidamente, dependendo do uso do aplicativo.

Vejamos um exemplo de cenário de custo de uso:

  • Chatbot com 4.000 prompts/respostas de token, 1.000 interações por dia:
    (4.000/1000) tokens de entrada x US$ 0,012 x 1.000 interações = US$ 48 por dia
    (4.000/1000) tokens de saída x US$ 0,016 x 1.000 interações = US$ 64 por dia
    Total = US$ 112 por dia ou US$ 3.360 por mês
  • API de resumo de texto com 2.000 entradas de token, 500 solicitações por dia:
    (2.000/1000) tokens de entrada x US$ 0,012 x 500 solicitações = US$ 12 por dia
    (2.000/1000) tokens de saída x US$ 0,016 x 500 solicitações = US$ 16 por dia
    Total = US$ 28 por dia ou US$ 840 por mês

Observação: Tokens divididos por 1000 porque o preço da OpenAI é cotado por 1K token.

Saiba como usar o ChatGPT em um projeto real de ciência de dados de ponta a ponta. Confira o Guia de uso do ChatGPT para projetos de ciência de dados para saber como usar o ChatGPT para planejamento de projetos, análise de dados, pré-processamento de dados, seleção de modelos, ajuste de hiperparâmetros, desenvolvimento de um aplicativo da Web e implantação no Spaces.

Conclusão

À medida que nos aprofundamos na fronteira dos recursos de modelos de linguagem de grande porte, o GPT-3.5 Turbo se destaca não apenas por sua geração de texto semelhante à humana, mas também pelo potencial transformador desbloqueado pelo ajuste fino. Esse processo de personalização permite que os desenvolvedores aprimorem a capacidade do modelo para se adequar a aplicações de nicho, obtendo, assim, resultados superiores que se igualam ou superam os de seus sucessores em domínios especializados.

Os aprimoramentos na direcionalidade, na estruturação de respostas e na personalização de tons são evidentes em aplicativos ajustados para atender a requisitos distintos, permitindo assim que as empresas criem experiências exclusivas orientadas por IA. Entretanto, com grande poder vem uma responsabilidade significativa. É fundamental entender os custos associados e estar atento às considerações de segurança e privacidade ao implementar a IA generativa e os modelos de linguagem.

Obtenha acesso a mais de 60 prompts do ChatGPT para tarefas de ciência de dados com o ChatGPT Cheat Sheet for Data Science.

Temas

Comece sua jornada com a OpenAI hoje mesmo!

Course

Working with the OpenAI API

3 hr
20.4K
Start your journey developing AI-powered applications with the OpenAI API. Learn about the functionality that underpins popular AI applications like ChatGPT.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow
Relacionado

blog

Tudo o que sabemos sobre o GPT-5

Prever como será a próxima evolução da tecnologia de IA da OpenAI e quais avanços o modelo GPT-5 poderá ter.
Josep Ferrer's photo

Josep Ferrer

10 min

An avian AI exits its cage

blog

12 Alternativas de código aberto ao GPT-4

GPT-4 alternativas de código aberto que podem oferecer desempenho semelhante e exigem menos recursos computacionais para serem executadas. Esses projetos vêm com instruções, fontes de código, pesos de modelos, conjuntos de dados e interface de usuário do chatbot.
Abid Ali Awan's photo

Abid Ali Awan

9 min

blog

A OpenAI anuncia o GPT-4 Turbo com visão: O que sabemos até o momento

Descubra a atualização mais recente da OpenAI, GPT-4 Turbo com visão, e seus principais recursos, incluindo o corte de conhecimento aprimorado, uma janela de contexto expandida, preço acessível e muito mais.
Richie Cotton's photo

Richie Cotton

7 min

tutorial

Visão GPT-4: Um guia abrangente para iniciantes

Este tutorial apresentará tudo o que você precisa saber sobre o GPT-4 Vision, desde o acesso a ele, passando por exemplos práticos do mundo real, até suas limitações.
Arunn Thevapalan's photo

Arunn Thevapalan

12 min

tutorial

Guia de Introdução ao Ajuste Fino de LLMs

O ajuste fino dos grandes modelos de linguagem (LLMs, Large Language Models) revolucionou o processamento de linguagem natural (PLN), oferecendo recursos sem precedentes em tarefas como tradução de idiomas, análise de sentimentos e geração de textos. Essa abordagem transformadora aproveita modelos pré-treinados como o GPT-2, aprimorando seu desempenho em domínios específicos pelo processo de ajuste fino.
Josep Ferrer's photo

Josep Ferrer

12 min

tutorial

Como criar modelos personalizados do ChatGPT: 5 etapas fáceis para GPTs personalizados

Confira estas cinco etapas simples para liberar todo o potencial do ChatGPT com seus próprios GPTs personalizados.
Moez Ali's photo

Moez Ali

9 min

See MoreSee More