Preenchimento generativo de imagem, data science com plugins, lidando com margens de erro – Hipsters: Fora de Controle #07

Preenchimento generativo de imagem, data science com plugins, lidando com margens de erro – Hipsters: Fora de Controle #07

Introdução

Quer ficar por dentro das últimas novidades e tendências da área de Inteligência Artificial? Então prepare-se para o nosso novo episódio imperdível do Hipsters.tech!

Com o Marcus Mendes, nosso host fora de controle e também host do Bolha DEV, à frente do bate-papo empolgante e atual, você terá a oportunidade de participar de uma discussão imperdível. Ao lado dele, estarão Sérgio Lopes, CTO da Alura; Guilherme Silveira, CINO da Alura; e Daniel Romero, Engenheiro de Machine Learning.

No episódio desta semana, vamos explorar a incrível IA generativa presente na nova versão beta do Photoshop. Discutiremos como essa tecnologia está revolucionando a criação de imagens e como ela se relaciona com o avanço dos modelos de IA, incluindo o ChatGPT. Falaremos também sobre alguns dos primeiros plugins compatíveis com o ChatGPT, destacando como eles se combinam e expandem as capacidades do data science.

Além disso, vamos abordar as melhores formas de lidar com as limitações e até mesmo as alucinações dos modelos disponíveis atualmente. Vamos explorar estratégias para maximizar o desempenho dos sistemas de IA, compreendendo suas vulnerabilidades e trabalhando para garantir resultados confiáveis e precisos.

Aproveite essa oportunidade única de explorar com a gente esse novo mundo que estamos começando a desbravar. Fique atualizado com as últimas tendências e mergulhe na transcrição completa deste episódio abaixo. Prepare-se para expandir seus conhecimentos e se encantar com o fascinante universo da Inteligência Artificial!

Banner da Escola de Inteligência Artificial (IA): Matricula-se na escola de Inteligência Artificial (IA). Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

Preenchimento generativo de imagem, data science com plugins, lidando com margens de erro — Episódio 07

Paulo Silveira

Oi, você está no Hipsters Fora de Controle, o podcast spin-off que finalmente foca em apenas uma única modinha, inteligência artificial e suas aplicações.

Marcus Mendes

Bom, neste episódio estou substituindo o Paulo Silveira. É um momento muito especial para mim. Estou ansioso para gravar. Hoje temos a presença do Sérgio Lopes, CTO da Alura, o Guilherme Silveira, CIO e co-fundador da Alura, e o Daniel Romero. Durante esta semana, explorando o Generative Fill da Adobe, fiquei impressionado com a criação de imagens e suas reações. Foi uma experiência empolgante mexer no beta. Eles fizeram um anúncio e, para minha surpresa, superou minhas expectativas. Foi realmente divertido. Continuo me divertindo, explorando o Generative Fill.

Sérgio Lopes

Eles liberaram pra todo mundo, Marcus? Já o beta, isso?

Marcus Mendes

Cara, é. No beta. Você vai lá em beta.adobe, não lembro. Procurei pro Photoshop beta no Creative Cloud. E já era a primeira opção.

Foi curioso porque, ao instalar o beta, eles sabem que todos que estão instalando o beta estão lá para mexer nisso, né? Então, ao abrir o Photoshop, já tem uma tela de apresentação falando "é aqui, funciona assim, clique aqui, faça assim, pá!". E é muito bacana.

Você seleciona a área desejada e, em seguida, aparece o prompt para digitar o que você quer. É a engenharia de prompt que estamos nos acostumando a fazer, para obter os melhores resultados.

Após processar a imagem, ele mostra três opções. Você seleciona uma delas e pode fazer refinamentos, entre outras coisas.

Nos testes que fiz, tinha uma vela em cima da mesa. Havia um copo semi-transparente com a refração da luz batendo na mesa, iluminação ao redor da vela e um cone que coloquei na rua, projetando uma sombra bonita e consistente com o resto das sombras da cena. Parece haver uma análise interessante acontecendo ali.

Claro, houve situações em que ele falhou, como cair de cara no chão. Isso vai acontecer, é um beta, etc. Mas para mim, para mexer no Photoshop e ter uma primeira proposta de imagem rápida, mesmo que seja para uso interno, é um avanço tão bacana quanto o ChatGPT para começar a criar e ter um ponto de partida para textos. Bem legal.

Sérgio Lopes

Caramba, né? Sabe, fico impressionado com essa questão de imagem. Quando penso nisso, você pega o ChatGPT para escrever um e-mail, onde as pessoas dizem "me ajuda a escrever um texto". Se você sentasse para escrever um e-mail bem escrito, quanto tempo demoraria? Uma hora? Pensando em cada detalhe do texto, não é? E aí você pensa, "nossa, o ChatGPT faz isso em dois segundos".

Essa questão de imagem é algo incrível para mim. Porque se você gastasse uma hora, não colocaria... É... sabe? Aquilo... É uma coisa que te economiza um mês, entende? Vejo algumas demonstrações das pessoas no Twitter, e alguém diz "Cara, você até conseguiria, mas seria um mês de trabalho, não é?". Parece muito mais mágico, produtivo, entende? Tipo, "Caramba, isso realmente muda o dia a dia das pessoas de uma forma impressionante, né?".

Não testei porque nem tenho o Photoshop aqui, mas fico só vendo as pessoas postando no Twitter. Os vídeos são realmente impressionantes.

Guilherme Silveira

Ontem mesmo estava comentando sobre a atual ferramenta do Google Fotos para remover elementos indesejados das imagens, né? Ela é horrível, não funciona direito. Por isso, o beta do Photoshop é incrível, porque funciona bem. É curioso, a mesma empresa, a OpenAI, que criou o ChatGPT com uma interface humana, enfrenta problemas com o Dall-E. Aquela interface não é viável para o usuário final. Já o Photoshop é o ambiente onde as pessoas editam imagens, né? Ter essa funcionalidade lá, com a usabilidade tradicional, mesmo que não seja perfeita, é positivo. Surpreende mesmo.

Marcus Mendes

E é curioso, Guilherme, você mencionou o Google, o Google Photos, é o mesmo produto do Google Product Studio que eles lançaram recentemente ou é algo diferente?

Guilherme Silveira

Não, é uma função mais antiga chamada Magic Eraser. Eles têm o Magic Eraser no Photos, não é?

Marcus Mendes

Ok.

Guilherme Silveira

Ele apaga bem. O problema está no que ele coloca no lugar... [Risos] Aí é onde surge o problema. Ele sabe apagar usando a borracha, mas colocar algo no lugar... Ah, é assim, basicamente nunca funciona, entende? Basicamente, é como se a função não estivesse lá, entende? Essa é basicamente a regra.

Marcus Mendes

Entendi. O Google lançou algo essa semana, mas eu não explorei muito, pelo menos em relação ao produto final ou quase final, pareceu tão impressionante, até mais do que essa função do Photoshop.

Essa ferramenta é específica para fazer packshots. Ou seja, você tem uma foto tirada em um estúdio legal de qualquer embalagem, e eles adicionaram um tubo de creme. Aí, ela faz automaticamente a edição do tubo em relação ao fundo branco infinito. E então, você faz o comando.

Por exemplo, é um tubo esfoliante e você quer que ele esteja em um cenário bonitinho e natural, com um pedaço de madeira como suporte, umas coisinhas verdes no fundo, você coloca e ele gera também quatro opções. E pelo resultado demonstrado, eu não testei pessoalmente, mas também pareceu impressionante, com uma boa finalização e com aquela linguagem promocional de fotos de produtos, com um desfoque legal no fundo, destacando o produto e uma boa iluminação também.

Então, essas duas coisas, nessa semana, acho que no que diz respeito a imagens, pelo menos dentro da minha bolha no mundo das IAs, foi uma boa semana para quem mexe ou precisa mexer com isso, pois serão bastante ajudados por essas ferramentas.

Daniel Romero

Bom, no ChatGPT eu experimentei essa semana alguns plugins, entre eles o de navegação na web. Então ele já consegue fazer extração de texto, de um link que você passa como parâmetro, fazer resumos e funcionou bem bacana, o resultado é até interessante.

Outro plugin foi o Notable, para análise de dados. Isso me surpreendeu bastante, porque eu consegui fazer uma análise de ponta a ponta, um próprio projetinho de data science, e a parte de machine learning também. Então, assim, ele consegue implementar e entender o que você está pedindo na construção do algoritmo de classificação ou de regressão linear. E o resultado é bom.

Assim, me surpreendeu bastante.

Sérgio Lopes

Mas o Notable faz o quê, Daniel? Ele...

Daniel Romero

É uma espécie de plataforma para notebook, sabe? Tipo um Jupyter Notebook ou Google Colab, com várias automações por baixo.

Sérgio Lopes

E aí você usa falando com ele assim, tipo, "olha, eu queria analisar esses dados aqui", e ele vai gerando o notebook, é isso?

Daniel Romero

Exato. Você cria a conta lá no Notable, aciona o plugin no ChatGPT, e aí você diz "ah, eu quero criar um novo projeto com o nome Análise de Vinhos". Ele vai criar um notebook nesse projeto com esse nome e dá o início, informando "olha, criou o notebook, podemos começar". Aí você pega um endpoint, uma URL de um arquivo CSV no Kaggle, e diz "olha, eu vou trabalhar com esse CSV". O plugin dispara um evento no notebook, faz o download desse CSV e o coloca no projeto. A partir desse ponto, você começa a sua análise.

Por exemplo, "me mostra as cinco primeiras linhas desse arquivo CSV num formato pandas dataframe". Ele consegue exibir isso bem na interface do ChatGPT, e ao mesmo tempo você pode acompanhar o que ele está fazendo no Notable. O resultado final é... É realmente satisfatório.

Sérgio Lopes

Legal, e quem não entende muito de data science consegue usar de forma mais simplificada, do tipo "olha, eu tenho esse conjunto de dados, mas eu nem sei o que é um pandas dataframe, mas eu quero saber, por exemplo, qual é a tendência daquela métrica relacionada a vinhos, como a produção de vinhos no sul da Itália. Então, eu escrevo de forma mais geral e ele, de alguma maneira, vai gerando a análise para mim e me mostra no final um gráfico com essa tendência, é isso? Ou eu preciso entender de data science?

Daniel Romero

Você consegue, mas se você tiver um entendimento mais aprofundado de análise de dados e data science, conseguirá obter resultados muito melhores. Isso não se aplica apenas à análise em si, mas também à qualidade do gráfico que será gerado.

Sérgio Lopes

Entendi. É exatamente aquilo sobre o qual temos conversado há várias semanas aqui no podcast. Trata-se de encarar o GPT como um parceiro, um copiloto que está te auxiliando. É importante ter a noção de que você sabe o que está fazendo e que ele está lá para te ajudar, ao invés de simplesmente não ter ideia do que está acontecendo e terceirizar tudo para ele, pois nesse caso você acaba perdendo muito.

Daniel Romero

Exato.

Sérgio Lopes

É como a questão do Photoshop do Marcus. Se alguém me desse a ferramenta do Photoshop, eu não saberia como utilizá-la, porque não sou um artista. Tirando o básico, como corrigir os olhos fechados em uma foto que tirei em uma festa de aniversário, eu não teria uso para ela. Afinal, o copiloto é para aqueles que já dominam aquele campo, não é mesmo?

Guilherme Silveira

Eu acho curioso que tenhamos usado essa palavra "copiloto", não é? Mas me incomoda um pouco, porque o copiloto consegue pilotar um avião sozinho. Se o piloto morre, o copiloto assume o controle da aeronave. No entanto, quando se trata de desenvolvedores, esse "copiloto de código" não consegue lidar com a tarefa de escrever o código sozinho.

Sérgio Lopes

Precisa de uma palavra melhor.

Guilherme Silveira

É, precisa. Eu acho que assistente, o Sam Altman bateu nessa tecla quando ele veio para cá e eu acho que em outras entrevistas, ele fala que o objetivo da OpenAI é ser um assistente para todas as pessoas do mundo. Então eu acho que como assistente faz sentido, ela assiste nas suas tarefas, vai fazer uma análise de regressão, aí você vai querer analisar, sei lá, certos tipos de análises e aí tem várias formas de fazer isso. E aquilo será que ela usou a forma que fazia sentido para esse tipo de dado era paramétrico não era paramétrico era o que você queria não sei o que. É claro que ela pode cada vez evoluindo e levantando essas questões para a gente etc e tal mas continua como um assistente por enquanto. Eu acho que o copiloto é legal mas eu imagino que todo mundo que é copiloto copilota quando escuta isso deve ter um treco porque não é o melhor.

Marcus Mendes

Eu fico pensando que o termo "copiloto" passa muito rápido pela promessa que tem. A Microsoft está usando o termo "copiloto" para tudo, né. Vimos isso, por exemplo, na Build. Devemos falar sobre isso em algum momento, talvez na parte mais abrangente dos estudos, etc. O que achamos, enfim.

Acho que o termo "copiloto" que eles estão usando indica algo. "Assistente" me parece algo passivo. Você pede e ele faz. O copiloto, por outro lado, é um assistente proativo. A própria Microsoft, em entrevistas esta semana, falou sobre como a intenção, especialmente com as integrações com o chatGPT e outras coisas da OpenAI, é permitir que os assistentes, na verdade os copilotos, façam coisas em nome da pessoa que solicitou o comando.

"Ah, preciso fazer as compras do mês." Ele já vai lá no Instacart, por exemplo, e faz as compras para a pessoa. Existe uma promessa de certa atividade. Em uma entrevista com o diretor de tecnologia da Microsoft, conversando com o Nilay Patel do The Verge, o Nilay disse: "Cara, isso é legal, mas e se alguém encontrar uma maneira de explorar isso e der um comando para um copiloto que desligue o resfriador do museu nuclear, não sei onde." São cenários catastróficos, hipotéticos, mas muitas pessoas acham que estamos nos aproximando disso mais do que deveríamos.

Ele respondeu dizendo que existem salvaguardas. Quem acha que as IAs vão sair do controle não trabalha com essas IAs. É impossível acontecer dessa forma. Então esses copilotos ou assistentes proativos, acho que a palavra "copiloto" expressa um pouco melhor essa ideia.

E sobre o Photoshop, minha impressão, trabalhando bastante com arte quando estava em uma agência, é que quando você tem uma imagem e precisa adicionar um cone de trânsito, por exemplo, você vai ao banco de imagens, pega o cone e sabe o que precisa fazer, fica em dúvida entre 6 ou 7 opções, mas seleciona e trata. O fato de o Photoshop aplicar automaticamente os ajustes, de forma fotorealista, é um atalho para chegar mais rápido, desde que você saiba o que está fazendo.

Sérgio Lopes

Por que eu precisava fazer um cone, né, pra começo de conversa, né?

Marcus Mendes

É isso, né?

Sérgio Lopes

Eu tô naquela fase ainda, né? Eu tô tentando, e acho que até tá claro pros ouvintes também, que esses usos de plugin que a gente falou estão dentro do chat GPT+, né, que é aquela assinatura do chat GPT. Então não tá no chat GPT padrão que eu sei que é, né, o chat GPT é caro, né, 100 reais por mês, não é tudo que tem acesso ali, mas quem tiver brincando já consegue usar ali os plugins.

Eu tava até ontem conversando no Twitter com o Daniel, porque eu ainda não consegui achar o meu "aha moment" ali nos plugins do Chat GPT. Eu brinquei com um monte de coisa ali. Eles têm uns plugins historicamente divertidos, que você vai programar a sua viagem, aí ele integra com o Kayak, com o Expedia, e aí ele monta um roteiro, te dá passagem aérea, sugestão de hotel.

E cara, assim, não serve nem pra assistente pra mim. Eu tentei sentar ali e falar "Então me fala aí". Ele dá a passagem no dia errado, dá uma passagem. Eu falo "Cara, mas espera aí, eu quero uma mais barata. Eu esperaria que você estivesse procurando várias e me dando a mais barata. E não pegar a primeira que você acha no Google e eu faço isso também, né?" E aí eu pedi, eu fiquei, eu não sei, talvez eu ofenda alguns ouvintes aqui.

Mas chegou uma hora que eu pedi assim, então me dá um roteiro de 15 dias em Paris com as coisas mais legais pra fazer. E tipo, a primeira coisa que ele falou é "vai na Disneylândia". Eu falei "não, você tá de sacanagem". [risos] Tipo, sério, um roteiro de Paris começa pela Disneylândia, pra isso que as pessoas vão pra Paris. Então assim, parecia que ele tava cuspindo qualquer coisa. É... sabe? Você fala "pô, mas..." Você esperava que ele falasse "vá no Arco do Triunfo, na Torre Eiffel, na sei lá o quê". Então é aquele assistente, um assistente preguiçoso, sabe? Aquele que pega o primeiro resultado do Google e taca. Eu ainda não achei meu momento ali não, pra ser bem honesto.

Aquele modo de browsing dele, que eles falam, que é o modo que navega na web também. Putz, mais trava do que funciona. Não sei se o Daniel tá meio diferente aí. Mas você pede pra ele "Ah, acessa aqui". "Ah, não consegui".

Daniel Romero

Ele falhava bastante. Teve uma atualização recente, eu testei ontem e, assim, sei lá, de 10 experimentos, acho que um falhou ontem. Então está começando a melhorar.

Guilherme Silveira

Oi, para esta segunda parte aqui do episódio, que tem sido a minha favorita, a parte favorita da semana, em que gravamos o "Hipster de Fora de Controle", vamos trazer alguns estudos que vocês viram nesta semana.

Não são ferramentas de IA mais aplicadas, mas sim promessas de futuro que têm chamado a atenção de vocês. Mas essa eu falo já já mesmo. Quero ouvir de vocês o que chamou a atenção para que possamos discutir aqui.

Acho que tem um artigo super interessante chamado "ChatGPT20", que é uma conversa entre o Donald Knuth e o Wolfram. O Donald Knuth fala e o Wolfram, que é físico, se não me engano, é um super defensor da inteligência artificial e do seu poder. O Knuth é um cientista da computação inacreditável, com lendas e mais lendas sobre sua capacidade e seu trabalho.

Sérgio Lopes

O que é apenas um detalhe, eu não entendi se essa conversa realmente aconteceu ou se foi gerada artificialmente.

Guilherme Silveira

Sim, a conversa realmente existiu. Foi uma conversa genuína, uma conversa humana. Tudo aqui é humano, por enquanto.

Sérgio Lopes

Hoje em dia, a gente tem que perguntar antes.

Guilherme Silveira

Chamada "chatgpt20.txt", tá? Porque é bem do estilo do Donald Knuth mesmo, professor de Stanford, etc. E aí, ele fez o seguinte, ele falou assim: "Não vou usar o Chat GPT, vou mandar aqui o meu aluno, minha aluna de doutorado, logo do gênero, mandar as perguntas para mim". É um viés bem acadêmico, infelizmente, mas ao mesmo tempo é interessante porque mostra ele não tendo contato com a ferramenta, mas tendo contato com o resultado dela. Quer dizer, uma pessoa que com certeza é um gênio, de diversas formas, tem seus grandes resultados no mundo, impacto, e entendendo o Chat GPT através do resultado dela, sem ter a interação com ela.

Então ele lançou, numa conversa, ele lançou 20 perguntas. Ele pensou em 20 perguntas numa corrida, estava correndo de bicicleta, pensou 20 perguntas para o Chat GPT para fazer para o Chat GPT e pediu para um aluno fazer para ele. Então perguntas do tipo: me diga, por exemplo, me diga o que o Donald Knuth fala para o Stephan Wolfram sobre o Chat GPT. Isso é, ele estava perguntando para o Chat GPT o que o Knuth ia falar com o próprio cara, né? E vice-versa, o que o Wolfram ia falar para o Knuth? Quer dizer, sabendo vieses diferentes de cada um deles, vieses não, mas posições diferentes em relação à tecnologia, etc., inteligência artificial, dali é para tentar chutar alguma coisa.

Mas outras perguntas, como por exemplo, por que na matemática, na linguagem, ela dá o valor binomial -1, -1 dá errado, é um valor errado. Quem escreveu a décima sinfonia de Beethoven? O que é um optimystico com Y? Em que horas do dia 4 de julho o sol vai estar exatamente, não sei nem qual que é o termo, a 90 graus? Não sei como é que fala. No Japão. Por que você respondeu isso pra mim? O Donald Trump come um tipo, eu nem sei qual é o nome, é um tipo de uma semente, é uma semente que tem seus problemas, etc. É uma pergunta, tá. Escreva um soneto que também é um raiku e por aí vai com várias perguntas. Nasdaq. Olha essa pergunta importantíssima. A Nasdaq, a bolsa Nasdaq, vai subir no próximo sábado. O que vocês acham? O que vocês acham que a IA ia responder com todo o conhecimento que a gente tem da IA.

Sérgio Lopes

As a large language model...

Marcus Mendes

Exato.

Sérgio Lopes

I will not.

Marcus Mendes

Porém, as informações dizem que talvez no sábado não tenha pregão, sei lá.

Guilherme Silveira

É isso, então ela respondeu à primeira parte. Ela deveria ter respondido: "Nasdaq não abre aos sábados, cara. Nasdaq não abre aos sábados". Então é muito curioso, porque tem perguntas de todo tipo, né, e algumas são meio que opostas. Por exemplo, a do haiku. Não dá pra escrever um soneto que é um haiku, porque são métricas diferentes, pelo que eu entendo, né. Mas ela tenta, quer dizer, ela não escreve nenhum outro, nem soneto nem haiku. Então, quer dizer, ele vai e aí ele vai analisando essas respostas que foram dadas, lembrando que são respostas um a um. O "one shot". Quer dizer, a gente já sabe, pelas boas práticas e já temos um curso sobre isso, de boas práticas que será lançado pela Alura. A gente sabe que temos que ter uma conversa, a gente tem que otimizar para ter o melhor resultado.

Então, depois dessas várias perguntas, ele analisa as respostas e discute o que é interessante, por que ela errou, por que ela acertou, o que ele queria que ela não entendeu e vários desses pontos, que são várias discussões que a gente tem, algumas mais profundas e algumas também bem interessantes mesmo.

E aí ele tem algumas coisas interessantes que ele fala. Uma das conclusões, vou procurar aqui, ele fala assim: "Eu certamente vou deixar essa pesquisa para outras pessoas", pesquisa de inteligência artificial através de LLMs. "E gastar o meu tempo e devotar o meu tempo, investir o meu tempo desenvolvendo conceitos que são autênticos e confiáveis e espero que você faça o mesmo". Ele fala isso para o Wolfram. Ele está falando que o que vocês estão desenvolvendo não é autêntico nem confiável. É isso que ele está falando. E a gente sabe que é verdade, não é autêntico, gera um monte de mentira. E a gente sabe que não é confiável, que gera um monte de mentira.

Então, quer dizer, é uma frase que resume uma pessoa que é um gênio da área da computação, mas resume essa experiência inicial com inteligências artificiais, que elas são limitadas. E aí a gente tem que aprender a se comunicar com ela para poder tirar proveito dela. Porém, a gente está correndo riscos, né? E é isso que ele está falando, meu interesse é nas provas que vão dar garantias, e não em algo que... boa sorte, né?

Então, quer dizer, faz sentido e é válido esse ponto de vista dele, é muito válido, mas ao mesmo tempo a gente que está utilizando a IA no dia a dia e tendo benefício com isso, a gente sabe que não precisa ser uma IA mais inteligente que o ser humano, ela não precisa ser mais inteligente que eu para me ajudar. Ajudar, e a gente estava falando do copiloto no caso do assistente. Aí ela não precisa ser melhor que eu, basta ela me ajudar. Isso é suficiente. Ela é a gente. Eu não falo, eu estou usando agora a analogia da abelha.

A abelha que sabe calcular o ângulo do sol para ir buscar comida. Ela não é nem mais nem menos inteligente do que eu. Ela é inteligente. Acabou. Ponto final. Não tem essa discussão. Ela não é inteligente ela faz um negócio que eu não consigo fazer. E ponto final. Ela não precisa ser mais ela não precisa ser menos. Ela é inteligente e é uma abelha. Então essa inteligência artificial...

Sérgio Lopes

Mas ela não sabe que a Nasdaq não abre no sábado também.

Guilherme Silveira

A abelha... Talvez ela até saiba se tiver comida por perto durante a semana. Talvez, no fim de semana, ela perceba que está fechado. Mas não dá pra ter certeza. Mas é muito legal ler esse artigo dele. Muito legal.

Marcus Mendes

Vou deixar claro o link aqui na descrição para quem quiser dar uma espiada. E essa é a principal divisão que a gente consegue perceber nas diferenças entre a utilidade que cada pessoa tira da IA. É estranho, mas se você perguntar o que você não sabe, ela vai te responder, aquela coisa eloquente, etc., que pode ser convincente ou não, se é verdade ou não. Para usar a IA para isso, é preciso aplicar a máxima russa que diz assim: Confie, mas verifique. Especialmente quando se trata de calcular informações, é um atalho para chegar a uma informação. Você tem um ponto de partida para ver em qual direção sua pesquisa aponta e se aprofundar.

Então, se no caso das imagens eu estava comentando sobre a ferramenta de acelerar o processo, o mesmo acontece com os textos. Se você perguntar algo para a IA sobre o qual você realmente não tem conhecimento, ela vai te dar uma resposta e isso se torna um ponto de partida para você começar sua pesquisa de fato e buscar informações, caso contrário, você corre o risco de ser convencido ou convencida eloquentemente por algo que não faz sentido algum.

E vemos isso nas IAs quando perguntamos sobre assuntos que dominamos. É como ler uma matéria no jornal, por exemplo, sobre um tema no qual você tem muito conhecimento e perceber que a informação ali não está correta, falta um pedaço, etc.

Então, é possível fazer um bom teste com essas IAs. Escolha um assunto que você domine, interaja, faça perguntas, entreviste a IA sobre esse assunto, fingindo que você não sabe. Isso permite que você avalie o quanto pode confiar ou não quando chegar a hora de perguntar algo sobre o qual você realmente não tem domínio, e ela vai te responder algo que pode ou não ser exatamente verdadeiro ou preciso, né.

Daniel Romero

Acho que aí parte já segue para outro caminho, né, que é a construção de aplicações de domínio específico, utilizando a IA como ferramenta. Você cria uma base de conhecimento para evitar que ela divague. Vi um artigo interessante essa semana, o Tree of Thoughts, que essencialmente utiliza uma cadeia de eventos para tomada de decisão, uma árvore de decisão, para que ela saiba o que pensar, refletir e aprimorar na geração de conteúdo, na geração de texto. E, como o Guilherme mencionou, ainda não chegamos lá, mas talvez cheguemos, ou talvez não.

Sérgio Lopes

E esse artigo sobre o Tree of Thoughts é uma evolução daquilo que as pessoas já falavam sobre o Chain of Thoughts, né, que era a conclusão de um encadeamento, porém mais linear. Agora, ele fala sobre uma busca em árvore, é algo um tanto louco.

Daniel Romero

Bem interessante, já saiu até um protótipo e já existe código disponível. O GitHub já possui uma implementação do que está descrito no artigo.

Sérgio Lopes

Bacana, hein?

Marcus Mendes

Isso é algo interessante que temos visto nos estudos que estão sendo publicados. Muitos deles já incluem até mesmo recursos no Google Colab para você executar as partes em Python, tudo já pronto para uso.

É bem simples, olha só: na primeira etapa, basta dar play aqui e ele instala várias coisas, ok. Na segunda etapa, dá play aqui e ele instala mais algumas coisas, desinstala outras, e então você passa para a terceira etapa, e pronto! Ele já te fornece o link para você testar a ferramenta em um site que pode estar rodando localmente ou em um servidor que foi criado ali mesmo.

É realmente animador ver como esses estudos já estão se preocupando em ter uma prova de conceito pronta para você usar, testar, explorar. É legal ver isso acontecendo e espero que mais e mais estudos assim surjam, para que possamos ler sobre eles e já começar a experimentar, não é mesmo?

Porque com essas IAs, o interessante é exatamente isso: você lê um estudo incrível, fica empolgado e pensa "seria tão legal mexer com isso". Aí você vai lá na prova de conceito e faz, vê como é. Isso tem sido realmente muito bacana.

Daniel Romero

Outro post que eu vi e achei bem interessante é da Lilian Weng. Ela é pesquisadora na OpenAI e aborda o tema da engenharia de prompt.

Geralmente, a maioria dos conteúdos que encontramos sobre engenharia de prompt se concentra mais no rearranjo do texto do que na própria engenharia. No entanto, no post dela, ela vai além, explorando a matemática por trás disso e o viés envolvido.

É realmente interessante o que ela descreve, já que introduzimos bastante viés nas perguntas ou na listagem de conteúdo quando solicitamos ao modelo para classificar algo. Vale a pena conferir!

Sérgio Lopes

Eu estou achando bem divertido que existem vários recursos, como o próprio paper que você mencionou do Tree of Thought. Percebemos que a construção do prompt é o aspecto central aqui, como já discutimos anteriormente. No caso de um modelo de linguagem, a forma como você interage com ele é fundamental. Parece que existem diferentes níveis nesse processo. É como abrir uma caixa de Pandora, sabe? Quando desafiamos alguém que nunca brincou com o ChatGPT a experimentar, até mesmo sabemos qual será o primeiro prompt que a pessoa vai digitar, porque é óbvio. No nível zero, é algo como perguntar uma curiosidade do mundo, né? "A Nasdaq abre no sábado." Conforme você vai avançando, você percebe que vai desenvolvendo habilidades, devo até exagerar aqui, à medida que você aumenta o uso e a complexidade dos prompts. Você começa a pensar em cada palavra que usa, na estrutura que monta, na forma como utiliza o GPT.

Aprendemos que se você não o utiliza como um assistente, alguém com quem você conversa, em vez de apenas falar uma frase e esperar uma resposta, você não está realmente aproveitando todo o potencial. Não é assim que conversamos com as pessoas no dia a dia. Se você abordar um estranho na rua e disser "A Nasdaq abre no sábado", provavelmente haverá mais erros do que com o GPT, porque a pessoa não está preparada para esse tipo de conversa. De certa forma, o prompt é sobre contextualizar e construir a interação de forma significativa.

Daniel Romero

O prompt é a primeira parte desse enigma, e a segunda parte, que considero ainda mais importante, pelo menos é o que tenho percebido, são os dados de contexto que você utiliza na construção desse prompt para gerar uma resposta. Ao analisar de perto esses modelos, percebe-se que eles aprenderam a interpretar e escrever bem em vários idiomas.

No entanto, quando você considera uma base de conhecimento para o modelo consumir e gerar uma resposta, aí entra a segunda parte do problema: refinar e tratar bem esses dados. Como distribuir e fornecer acesso a esses dados para os modelos, inclusive para a construção do prompt? No prompt, você indica o que deseja, mas também fornece o contexto ou exemplo.

Sérgio Lopes

Um pouco nessa linha, gostaria de compartilhar esta semana um link de uma palestra que assisti de um dos cofundadores da OpenAI, o Andrej Karpathy, no evento Microsoft Build, intitulada "O Estado do GPT". O vídeo é bastante interessante, pois ele aborda aspectos técnicos, mas ao mesmo tempo é acessível, não mostrando código.

Ele explica o desenvolvimento do GPT, apresentando as diferentes etapas de treinamento dos algoritmos dos ArgLang Models, como o pré-treinamento e o reinforcement learning, entre outros. É um conteúdo um pouco aprofundado, mas não é algo exclusivamente para pesquisadores com doutorado. É um tipo de explicação "for dummies" com um toque de curiosidade técnica, sabe? Eu achei interessante porque se encaixa com o meu perfil. Não sou um acadêmico, então não entro nos detalhes, mas consegui entender algumas coisas sobre o funcionamento do GPT.

O palestrante aborda não apenas o GPT, mas também o LLAMA e modelos abertos, explicando suas diferenças e direcionamentos. Ele até menciona o Tree of Thought. A palestra é bem recente e ele aborda técnicas práticas. Ele comenta sobre a importância do prompt, dos tokens e do contexto mencionado pelo Daniel. Ele até dá algumas dicas sobre como utilizar o Large Language Model, como começar, por exemplo. Ele sugere que você comece definindo o problema e fornecendo o máximo de contexto possível, e vá refinando o prompt no GPT-4. Ele diz que isso é óbvio para ele.

Depois de refinar e sentir confiança de que o modelo está atendendo às suas expectativas, ele sugere uma etapa de otimização. Você começa a tentar reduzir o prompt para economizar tokens, talvez não apenas por questões de custo, mas também porque a janela de resposta desejada é muito grande, então é necessário economizar no prompt. Ele diz para resolver o problema primeiro e depois otimizar, verificando se o GPT 3.5 já pode atender às suas necessidades, economizando assim 90% dos custos. É engraçado, ele sugere começar pelo GPT-4, fornecendo o máximo de contexto possível.

Claro, a palestra é muito mais interessante do que este meu resumo de 30 segundos, então recomendo que assistam. Ele apresenta um pequeno algoritmo de etapas sobre como usar o GPT. Achei bacana porque ele aborda diversos tópicos, como vector databases, tree of thought, técnicas de zero shot, low shot, exemplos para o prompt, além de explicar o funcionamento do GPT e do LLAMA, tudo em um pacote de 50 minutos com alguém que está dentro da OpenAI. Recomendo aos ouvintes conferirem.

Daniel Romero

Na prática saiu essa ferramenta, o Guidance da Microsoft.

Sérgio Lopes

É, ele também menciona o Guidance. Ele fala sobre o Llama Index, o Link Chain e o Guidance. Mas nem tudo é palestra sobre o Guidance, certo? Ele menciona o Guidance e como ele se encaixaria. Muito interessante. Eu enviei esse Guidance aqui na empresa, no Slack da empresa, e disse: "Gente, esse Guidance é muito interessante, dêem uma olhada". Todos responderam dizendo: "Eu não consegui entender o que ele faz". [Risos] E para mim isso é uma prova, não que eu tenha entendido tudo, tá? Mas certamente por eu ter ficado interessado, mostrou que eu entendi mais do que as pessoas que estavam clicando para ler aquilo, né? E para mim isso é uma prova do que eu comentei antes, de que existem níveis de compreensão quando você entra nas camadas da toca do coelho, para realmente entender como funciona o Prompt e o LLM.

Porque, na verdade, 90% desse projeto do Guidance você só consegue entender para que ele serve depois de ter enfrentado muitas dificuldades nos níveis 0, 1, 2 e 3, entende? Porque ele vai além, ele resolve os problemas que você só consegue entender depois, entendeu? Como o Tree of Thought, não é algo trivial, não é o tipo de coisa que você vai falar "ah, vou pegar aqui e vou sair usando". Se você não tentou as outras estratégias primeiro, não entendeu como o modelo funciona, acaba perdendo um pouco da beleza dessas estratégias mais avançadas.

Guilherme Silveira

Eu vou fazer uma conexão um tanto estranha aqui, porque quando falamos sobre essas estratégias e os problemas que encontramos, é como se eu voltasse lá para o Knuth, que teve aquele contato superficial e chegou a conclusões válidas, mas são one shots, né?

E aí fico encantado com essa ideia de que, na prática, o que estamos fazendo é, em vez de executar, estamos formando um comitê, de certa forma, uma espécie de comitê, para tomar uma decisão. Então fazemos uma pergunta que é mais do que uma única pergunta, porque ela é formulada de várias maneiras, ou, entre aspas, para várias pessoas.

E aí, acho interessante porque já temos um algoritmo baseado em algo, entre aspas, estatístico, em alguma probabilidade de que teremos a resposta, entre aspas, "correta". Se existe um certo ou errado, se fazemos uma pergunta que é ou certa ou errada, existe uma certa probabilidade de recebermos a resposta correta e uma certa probabilidade de recebermos a resposta errada. Beleza.

Na prática, estamos tentando mais vezes. De uma forma ou de outra, estamos tentando várias vezes a mesma coisa, pois vai que, já que sabemos que a taxa de acerto é de 80%. Então, tentar um milhão de vezes é o que eu sei que estou falando, é o algoritmo mais básico do mundo. O mais comum será o certo. A resposta mais frequente é a resposta certa.

Mas acho que essa visão de que, veja, se você faz uma pergunta, quanto é 2 + 2? Ele responde 4, 99% das vezes, e responde 3, 1%. E você tem azar de ele perguntar e responder 1, fica muito claro que, pelo fato de estarmos lidando com algo que tem uma margem de erro e aceitamos isso, no momento em que aceitamos essa margem de erro, começamos a criar todas essas estruturas para reduzir essa margem de erro, conviver com essa variação de erro e acertar mesmo com o erro.

É isso que estamos fazendo e é incrível, acho incrível isso.

Sérgio Lopes

E acho que tem um ponto dessa margem de erro que penso muito também, que é quando as pessoas criticam o LLM. Você chega lá e pega algo errado. "Ah, essa ferramenta não presta." É isso.

Mas quando você muda o mindset e pensa, "Cara, mas a vida é assim." Você tem uma margem de erro na sua vida. Tem muita coisa em que... Sabe, você vai ao restaurante ali e às vezes a conta vem errada. Você vai... tem que conferir, né? Ou você se acostumou com isso, né? 99% das vezes a conta vem certa, 1% vem errada... Desculpa, 99% vem certa, 1% vem errada a continha do restaurante. E de alguma maneira você não para de ir ao restaurante por causa disso, entende? Você aceitou que naquele contexto existe uma margem de erro e lida de alguma forma. De alguma forma, você ignora e fala "Ah, beleza, se vier errado eu pago errado mesmo, é só 1% das vezes" ou você confere 100% porque quer ter certeza sempre de que está correto.

Então, quando você começa a encaixar a IA no tipo, na classe de problemas da sua própria vida e aceita a margem de erro, acho que isso abre umas possibilidades, sabe? É de alguma forma, querendo ou não, aquilo que as pessoas falam sobre a IA dando opiniões sobre assuntos médicos, né? Que é altamente polêmico, etc e tal, mas ela não acerta 100% das vezes. Nunca, nenhum benchmark lá acerta. Mas, cara, o médico não acerta 100% das vezes e existem estudos que mostram a porcentagem em que o médico acerta, em vários domínios diferentes. E, de alguma maneira, a gente aceita isso, né? Por que, às vezes, da IA a gente exige uma precisão maior, né? A gente aprendeu a usá-la, né? Aprendeu a pensar em quais momentos você deve usá-la e aceitá-la, ponto. Acho que isso também é libertador.

Daniel Romero

É por isso que acredito na integração com software tradicional para criar aplicações de domínio específico.

Você mencionou o domínio médico. Vi um exemplo disso com o Glass Health, uma IA que analisa milhões de artigos e informações médicas para auxiliar no diagnóstico ou na construção de tratamentos.

O interessante é que, no final, ela apresenta as referências, mostrando de quais bancos de dados está obtendo as informações para gerar o texto.

Achei isso muito interessante.

Guilherme Silveira

A Fundação Lehman, após organizar o evento do Sam Altman aqui no Brasil, iniciou uma newsletter sobre inteligência artificial com diferentes níveis de profundidade: básico, intermediário e avançado. Vou compartilhar o link para aqueles que desejarem acompanhar essa newsletter.

Marcus Mendes

Bom, o legal e, na verdade, não apenas disso que o Daniel trouxe agora, mas de todas as IAs, inclusive lidando com a margem de erro, entre outros aspectos. O interessante desse mercado tem sido, apesar de ser algo que existe há muito tempo, ainda está em estágio embrionário. Estamos aprendendo não apenas a lidar com a ferramenta, mas também a encontrar maneiras de incorporá-la e acelerar o estudo das novas ferramentas que estão surgindo, descobrindo novas formas de utilizá-las.

Pelo que estou observando aqui, semana após semana, com os estudos que acompanhamos e as próprias ferramentas que temos visto, está havendo evolução e apontando para um lado promissor. Mesmo com esse avanço, é positivo ver que não está saindo do controle ou, se está saindo de alguma forma, está sendo de maneira positiva. São possibilidades, como se tivéssemos descoberto um novo elemento, uma vida alienígena. Todos tratam e falam dessas descobertas e inovações da IA como algo que pertence à humanidade, mas na realidade é o resultado de muito trabalho e esforço de muitas pessoas.

Mesmo aqueles que estão disponibilizando essas IAs em palestras, conversas, podcasts, entrevistas, todos estão tratando isso como algo que apareceu de repente. Temos aqui algo que está fazendo tantas coisas que nem nós, que desenvolvemos e disponibilizamos, tínhamos ideia de que apontaria para essa direção, abriria essa possibilidade. O interessante é que, tanto eu, que sou menos técnico e ligado à programação, quanto vocês, que são mais técnicos, ficamos igualmente impressionados. É bacana ver essa atitude, algo que há tempos não víamos no mercado de tecnologia.

Daniel Romero

A própria resposta do Open Source, né?

Marcus Mendes

xatamente, esse é outro assunto que tem gerado muita discussão. Podemos, é claro, abordá-lo nos próximos episódios. Daniel, obrigado por participar deste episódio. É isso, na semana que vem teremos muito mais estudo e reflexões sobre IA e Hipsters. Abraços, tchau! Este podcast foi produzido pela Alura, mergulhe em tecnologia, e pela Faculdade FIAP, Let's Rock the Future. Edição realizada pela Rede Gigahertz de podcasts.

Paulo Silveira
Paulo Silveira

Paulo Silveira é CEO e cofundador da Alura. Bacharel e mestre em Ciência da Computação pela USP, teve sua carreira de formação em PHP, Java e nas maratonas de programação. Criou o Guj.com.br, o podcast do Hipsters.tech e o Like a Boss.

Veja outros artigos sobre Inteligência Artificial