O Google Lab Sessions é uma série de colaborações experimentais de IA com inovadores. Na nossa última Lab Session, queríamos analisar especificamente como a IA poderia expandir a criatividade humana. Então recorremos ao rapper vencedor do GRAMMY® e pesquisador visitante do MIT, Lupe Fiasco, para criar um experimento de IA chamado TextFX.
Link to Youtube Video (visible only when JS is disabled)
Para começar, passamos um tempo com Lupe a fim de observar e aprender sobre o processo criativo dele. Esse processo foi invariavelmente marcado por uma espécie de “remendos” linguísticos. Ou seja, desconstruir a linguagem e depois remontá-la de formas inovadoras. Algumas das técnicas de Lupe, como símile e aliteração, se baseiam no cânone dos recursos literários tradicionais. Mas muitas das táticas dele são totalmente únicas. Entre elas estava uma maneira inteligente de criar frases que soam idênticas a uma determinada palavra, mas têm significados diferentes, que ele demonstrou para nós usando a palavra “expressway”:
express whey (a entrega rápida de subprodutos lácteos)
express sway (demonstrar influência)
ex-press way (um caminho longe da imprensa)
Esse tipo de operação desempenhou um papel crítico na escrita de Lupe. Assim, começamos a nos perguntar: como podemos usar a IA para ajudar Lupe a explorar possibilidades criativas com texto e linguagem?
Quando se trata de aplicações relacionadas à linguagem, os modelos de linguagem grandes (LLMs, na sigla em inglês) são a escolha óbvia do ponto de vista da IA. Os LLMs são uma categoria de modelos de aprendizado de máquina especialmente projetados para realizar tarefas relacionadas à linguagem, sendo a geração de texto um dos casos de uso. Mas ainda restava a questão de como os LLMs se encaixariam no fluxo de trabalho de escrita de letras de Lupe.
Alguns LLMs, como o Bard do Google, são ajustados para funcionar como agentes conversacionais. Em outros casos, como o Text Bison da API PaLM, não há esse elemento conversacional, mas o texto é gerado pela ampliação ou preenchimento das informações concedidas. O interessante sobre esse segundo tipo de LLM é a capacidade de aprendizado few-shot. Em outras palavras, eles podem reconhecer padrões que ocorrem em um pequeno conjunto de exemplos de treinamento e depois replicar esses padrões para novas entradas.
Como experimento inicial, pedimos a Lupe que desse mais exemplos da técnica de frase com o mesmo som. Em seguida, usamos esses exemplos para criar um comando, que é uma sequência de texto cuidadosamente elaborada que prepara o LLM para se comportar de uma determinada maneira. Nossa sugestão inicial para a tarefa de frase com o mesmo som era a seguinte:
Palavra: defeat
Frase com o mesmo som: da feet (como em "the feet")
Palavra: surprise
Frase com o mesmo som: Sir Prize (um cavaleiro chamado “Prize”)
Palavra: expressway
Frase com o mesmo som: express whey (a entrega rápida de subprodutos lácteos)
(... exemplos adicionais...)
Palavra: [INPUT WORD]
Frase com o mesmo som:
Esse comando produziu resultados aceitáveis durante algum tempo, mas sentimos que ainda havia espaço para melhorias. Percebemos que fatores além do conteúdo e da quantidade de amostras poderiam influenciar o resultado. Por exemplo, como a tarefa é estruturada, como as entradas e saídas são representadas etc. Após várias iterações, finalmente chegamos ao seguinte:
Uma frase com o mesmo som é uma frase que soa como outra palavra ou frase.
Aqui está uma frase com o mesmo som para a palavra "defeat":
da feet (como em "the feet")
Aqui está uma frase com o mesmo som para a palavra "surprise":
Sir Prize (um cavaleiro chamado “Prize”)
Aqui está uma frase com o mesmo som para a palavra "expressway":
express whey (a entrega rápida de subprodutos lácteos)
(... exemplos adicionais...)
Aqui está uma frase com o mesmo som para a palavra "[INPUT WORD]":
Depois de codificar com sucesso a tarefa de palavras com o mesmo som em um comando few-shot, trabalhamos com Lupe para identificar tarefas criativas adicionais que talvez possamos realizar usando essa mesma estratégia. No final, elaboramos dez comandos, cada um projetado exclusivamente para explorar possibilidades criativas que podem surgir de uma determinada palavra, frase ou conceito:
SIMILE – Criar um símile sobre um item ou conceito.
EXPLODE – Dividir uma palavra em frases com sons semelhantes.
UNEXPECT – Tornar uma cena mais inesperada e imaginativa.
CHAIN – Criar uma cadeia de itens semanticamente relacionados.
POV – Avaliar um tópico por diferentes pontos de vista.
ALLITERATION – Selecionar palavras específicas do tópico e que começam com uma letra escolhida.
ACRONYM – Criar um acrônimo usando as letras de uma palavra.
FUSE – Criar um acrônimo usando as letras de uma palavra.
SCENE – Criar um acrônimo usando as letras de uma palavra.
UNFOLD – Inserir uma palavra em outras palavras ou frases existentes.
Conseguimos prototipar rapidamente cada uma dessas ideias usando o MakerSuite, que é uma plataforma que permite aos usuários criar e experimentar facilmente os comandos de LLM por meio de uma interface interativa.
Depois de finalizarmos os comandos few-shot, criamos um app para abrigá-los. Decidimos chamá-lo de “TextFX”, partindo da ideia de que cada ferramenta tem um efeito diferente no texto de entrada. Como um efeito sonoro, mas para texto.
Salvamos nossos comandos como strings no código-fonte e os enviamos para o modelo PaLM 2 do Google usando a API PaLM, que serve como ponto de entrada para os modelos de linguagem grandes do Google.
Todos os nossos comandos são criados para terminar com um par de entrada-saída incompleto. Quando um usuário envia uma entrada, anexamos essa entrada ao comando antes de enviar ao modelo. O modelo prevê as saídas correspondentes para essa entrada e, em seguida, analisamos cada resultado da resposta do modelo e fazemos algum pós-processamento antes de finalmente exibir o resultado no front-end.
Os usuários têm a opção de ajustar a temperatura do modelo, que é um hiperparâmetro que corresponde aproximadamente à quantidade de criatividade permitida nos resultados do modelo.
Para testar o TextFX, acesse textfx.withgoogle.com.
Também disponibilizamos todos os comandos do LLM no MakerSuite. Se você tiver acesso ao pré-lançamento público da API PaLM e do MakerSuite, poderá criar suas próprias cópias dos comandos usando os links abaixo. Caso contrário, entre na lista de espera.
Se quiser saber mais detalhes sobre como criamos o TextFX, o código-fonte está disponível aqui.
Caso queira tentar criar com a API PaLM e o MakerSuite, entre na lista de espera.
O TextFX é um exemplo de como você pode experimentar a API PaLM e criar apps que usem os modelos de linguagem grandes de última geração do Google. De forma mais ampla, essa análise detalhada trata do potencial da IA para aumentar a criatividade humana. O TextFX tem como alvo a escrita criativa, mas o que significaria para a IA entrar em outros domínios criativos como colaboradora? Os criadores desempenham um papel crucial, nos ajudando a imaginar como seriam essas colaborações. Esperamos que esta Lab Session dê uma ideia do que a API PaLM possibilita e inspire você a usar as ofertas de IA do Google para dar vida às suas próprias ideias, seja qual for sua área de atuação.
Se quiser conhecer mais Lab Sessions como esta, acesse labs.google.com.