Programa
Até recentemente, o ajuste fino GPT-4o só era possível com texto. Agora, com o OpenAIo mais recente ajuste fino da OpenAI, também podemos personalizar o GPT-4o com imagens. Isso significa que podemos adaptar os recursos do GPT-4o ao nosso caso de uso.
Essa atualização abre novas possibilidades - imagine o ajuste fino do GPT-4o para pesquisas visuais mais precisas, detecção de objetos ou até mesmo análise de imagens médicas.
Neste tutorial, fornecerei orientações passo a passo sobre o ajuste fino do GPT-4o com imagens. Especificamente, ajustaremos o modelo para identificar corretamente as igrejas ortodoxas da Geórgia.
GPT-4o Preço de ajuste fino visual
A OpenAI está oferecendo um milhão de tokens gratuitos por dia até 31 de outubro para ajustar o modelo GPT-4o com imagens, o que é uma boa oportunidade para explorar os recursos de ajuste fino visual do GPT-4o.
Após 31 de outubro, os custos de treinamento passarão para um modelo de pagamento conforme o uso, com uma taxa de US$ 25 por milhão de tokens. Além disso, os custos de inferência serão incorridos para cada entrada (US$ 3,75 por milhão de tokens) e saída (US$ 15 por milhão de tokens).
É importante observar que essas informações estão corretas desde 10 de outubro, portanto, não deixe de consultar a página de preços da OpenAI para obter os detalhes mais atualizados sobre preços e disponibilidade.
Desafio do problema visual do GPT-4o
Vamos pular para a parte interessante. Como fazemos o ajuste fino visual para o GPT-4o?
Vamos começar avaliando se o GPT-4o reconhece bem essa igreja da Geórgia:
Quando perguntado, o modelo pensou que a imagem era da Igreja de São Nicolau, na Geórgia, quando, na verdade, é o templo da Santa Anunciação de Kutaisi.
Claramente, há espaço para melhorias, e é aí que entra o ajuste fino.
Preparar o arquivo JSONL
Primeiro, precisamos preparar nosso conjunto de dados de treinamento para começar a fazer o ajuste fino. De acordo com a documentação oficial, precisamos de um arquivo JSONL estruturado desta forma:
{
"messages": [
{
"role": "system",
"content": "You are an assistant that identifies Georgian orthodox churches."
},
{
"role": "user",
"content": "What is this church called?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/e/e8/Khareba_church.jpg"
}
}
]
},
{
"role": "assistant",
"content": "Kutaisi Holy Annunciation temple"
}
]
}
//second example
{
"messages": [
{
"role": "system",
"content": "You are an assistant that identifies Georgian orthodox churches."
},
{
"role": "user",
"content": "What is this church called?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/en/a/af/Holy_Trinity_Cathedral_of_Tbilisi.jpg"
}
}
]
},
{
"role": "assistant",
"content": "Holy trinity cathedral"
}
]
}
//other examples below
Por uma questão de legibilidade e espaço, incluí apenas um trecho do meu JSONL de treinamento com duas entradas; os outros exemplos de treinamento devem ser adicionados em uma linha separada.
Observe que precisamos de pelo menos 10 exemplos para executar o ajuste fino. Cada linha representa um objeto JSON independente com uma matriz messages
.
Observe também que o JSONL não oferece suporte a comentários, portanto, decidi adicionar comentários após o //
para o bem do guia. Certifique-se de removê-los antes do treinamento.
Você pode usar um editor de texto comum, como o Bloco de Notas, ou, se estiver trabalhando com muitos exemplos, é uma boa ideia automatizar a criação desse arquivo usando um script. Quando o arquivo JSONL estiver pronto, você poderá iniciar o processo de ajuste fino.
Desenvolver aplicativos de IA
Ajuste fino do GPT-4o com imagens
Agora, com o JSONL pronto, precisamos fazer login em nosso painel do OpenAI e escolher a seção Criar que você pode criar:
No menu que aparece:
- Escolha o modelo
gpt-4o-2024-08-06
. - Carregue o arquivo JSONL de treinamento.
- Você também pode definir os hiperparâmetros ou deixar tudo ativado automático.
Assim que criarmos o trabalho, o ajuste fino deverá começar automaticamente:
Minha rotina de ajuste fino levou aproximadamente 20 minutos (o número de épocas foi automaticamente definido como 9). Dependendo do tamanho do conjunto de dados e da complexidade do modelo, isso pode variar, mas você será notificado assim que for concluído.
Teste do modelo GPT-4o com ajuste fino
Quando terminar, você poderá acessar o agente ajustado por meio da API ou do Playground.
Para simplificar, usarei o Playground para testes. Vamos ver se o modelo consegue identificar corretamente a igreja dessa vez:
Como você pode ver, o agente com ajuste fino (à direita) identificou a igreja corretamente, embora essa imagem não estivesse no conjunto de dados de treinamento. O modelo normal (à esquerda) ainda está errado!
Conclusão
Neste tutorial, exploramos o processo de ajuste fino do GPT-4o com imagens.
Começamos destacando as limitações iniciais do modelo na identificação de um tipo específico de igreja. Para resolver esse problema, preparamos um arquivo JSONL contendo pares imagem-texto para treinamento. Em seguida, utilizamos a API de ajuste fino da OpenAI para criar um modelo personalizado.
Por fim, testamos o modelo ajustado e observamos sua maior precisão na identificação da igreja.
Embora este exemplo tenha se concentrado em um caso de uso específico, os princípios e técnicas subjacentes podem ser aplicados a uma ampla gama de tarefas relacionadas a imagens, demonstrando o potencial dos recursos de ajuste fino visual do GPT-4o. Recomendo que você leia os casos de uso no artigo de anúncio da OpenAI artigo de anúncio da OpenAI.
Para saber mais sobre como trabalhar com os produtos da OpenAI, recomendo estes recursos: