![O novo superpoder do GraphQL: quebrando verificações de alterações](https://optimuscloud.com.br/wp-content/uploads/2024/05/1716144244_O-novo-superpoder-do-GraphQL-quebrando-verificacoes-de-alteracoes-150x150.jpg)
O novo superpoder do GraphQL: quebrando verificações de alterações
19 de maio de 2024![Como os aplicativos adaptativos desbloqueiam a inovação em uma nova era de IA](https://optimuscloud.com.br/wp-content/uploads/2024/05/1716211324_Como-os-aplicativos-adaptativos-desbloqueiam-a-inovacao-em-uma-nova-150x150.jpg)
Como os aplicativos adaptativos desbloqueiam a inovação em uma nova era de IA
20 de maio de 2024![Simon Willison compartilhou suas idéias sobre como trabalhar com grandes modelos de linguagem na PyCon US.](https://optimuscloud.com.br/wp-content/uploads/2024/05/1716162246_918_PyCon-US-Simon-Willison-sobre-hackear-LLMs-para-diversao-e.jpg)
Simon Willison compartilhou suas idéias sobre grandes modelos de linguagem na PyCon US.
PITTSBURGH — Simon Willison, cocriador da amplamente utilizada estrutura Python Django, concentrou suas energias criativas em grandes modelos de linguagem (LLMs) ultimamente.
Ele passou pelo PyConUS 2024 aqui no sábado para fazer um discurso de abertura e encorajar os Pythonistas a investigar as possibilidades dos LLMs.
Claro, os LLMs têm limitações. Eles inventam coisas e suas respostas podem refletir preconceitos ocultos e são difíceis de colocar em produção. Mas isso não significa que os LLMs não tenham grande potencial.
“Só porque uma ferramenta tem falhas não significa que não seja útil”, disse Willison ao público. “E se você entende suas falhas e sabe como contorná-las, há muitas coisas interessantes que você pode fazer com elas.”
O LLMS passa na verificação do Vibe?
Willison vem mexendo com LLMs há cerca de dois anos.
“É crucial lembrar que essas coisas, por mais convincentes que sejam quando você interage com elas, não são entidades inteligentes”, disse Willison.
LLMs são basicamente máquinas gigantes de preenchimento automático. Mas, ao que parece, o preenchimento automático obtém algumas propriedades realmente interessantes à medida que é ampliado.
“Assustador, o que isso pode fazer”, disse Willison.
LLMs são construídos a partir de montanhas de dados extraídos (obtidos ilicitamente ou não), extraídos da Web, Wikipedia, GitHub, livros eletrônicos e repositórios de literatura científica.
![](https://optimuscloud.com.br/wp-content/uploads/2024/05/1716162246_653_PyCon-US-Simon-Willison-sobre-hackear-LLMs-para-diversao-e.jpg)
De onde o Llama obtém todas as suas informações.
Apesar destas volumosas fontes de dados, o total de todos os dados recolhidos normalmente equivale a alguns terabytes. É uma coleção grande, mas não tão pesada a ponto de não caber em um laptop moderno.
Colete alguns TB de material de origem, gaste um milhão de dólares em computação e você também poderá ter um LLM.
“Na verdade, eles não são tão difíceis de construir, se você tiver os recursos”, disse Willison.
“Se você entende suas falhas e sabe como contorná-las, há tantas coisas interessantes que você pode fazer” com LLMs
—Simon Wilson
Como resultado, existem muitos LLMs disponíveis agora. Como você escolhe qual usar?
Um site que Willison usa para avaliar LLMs é o LMSYS Chatbot Arena, um site de pesquisa. Neste site, você fornece uma pergunta, que é então entregue a dois LLMs. Você avalia a resposta de cada um.
A Arena rastreia 44 LLMs, na última contagem. Uma tabela de classificação mostra quais LLMs estão à frente, apenas em termos de votos populares.
“Esta é genuinamente a ferramenta mais útil que temos para avaliar estas coisas, porque capta as vibrações dos modelos”, disse Willison. A vibração representa o quão informativa e normal uma resposta pode ser, pelo menos para juízes humanos.
No domingo, os três principais LLMs eram todos variantes do GPT-4; o top 10 foi dominado por modelos proprietários criados por grandes empresas de tecnologia ou startups. Mas os modelos com licenciamento aberto estão subindo nas paradas, com o Llama 3 da Meta classificado em primeiro lugar. 7.
Esta é uma boa notícia, de acordo com Willison.
“Esta não é mais uma tecnologia trancada atrás de firewalls”, disse ele. Podemos começar a executar essas coisas em nosso próprio hardware agora e começar a obter bons resultados com elas.
Ele descobriu que o modelo aberto Mistral, por exemplo, pode ser executado diretamente em um iPhone, mesmo sem conexão com a Internet.
Engenharia imediata: ‘um grande saco de truques idiotas’
Mas para o iniciante, trabalhar com LLMs pode parecer assustador.
Em geral, os LLMs fornecem apenas uma única linha de comando para o usuário interagir.
“É como pegar um novo usuário de computador e colocá-lo no Linux com (apenas) um terminal e dizer a ele: ‘Ei, você descobriu'”, disse Willison.
Além disso, dado seu comportamento às vezes imprevisível, ele disse, “trabalhar com essas coisas é realmente incrivelmente complicado para fazê-los fazer o que você realmente deseja que façam”.
Mas trabalhe com LLMs por um tempo e você descobrirá que a engenharia imediata, como é chamada, é um “grande saco de truques idiotas”.
Aqui estão alguns truques sugeridos por Willison.
Por um lado, ajuda se você apresentar o problema que está tentando resolver como um pequeno roteiro.
Você cria um diálogo em que o usuário pede algo – digamos, uma lista de possíveis nomes de pelicanos – e o computador responde com uma lista de nomes de pelicanos, que cabe ao LLM gerar, que o LLM então criará.
“Se você der um pequeno roteiro, ele preencherá as lacunas”, disse ele.
Também ajuda se você fornecer algum material suplementar para o LLM. Se você quiser um resumo sobre um assunto específico, inclua nessa consulta tudo o que você encontrou na Web sobre esse assunto.
“Uma das coisas que esses modelos são fantásticos em fazer é responder perguntas com base em um pedaço de texto que acabamos de fornecer”, disse ele.
Outro truque: dê-lhes as ferramentas necessárias para realizar um trabalho. Curiosamente, duas coisas que os LLMs não conseguem fazer bem são as duas coisas em que os computadores têm sido historicamente melhores: matemática e pesquisa de coisas.
![](https://optimuscloud.com.br/wp-content/uploads/2024/05/1716162246_929_PyCon-US-Simon-Willison-sobre-hackear-LLMs-para-diversao-e.jpg)
Um exemplo de ataque de injeção imediata.
Então, se você tiver a dúvida, qual é a população da França vezes 352, você prepara o LLM com um link para a Wikipedia e para um aplicativo de calculadora. Em seguida, instrua-o a encontrar a população na Wikipedia (68 milhões) e tenha as ferramentas para multiplicar isso por 352.
Adicionar aplicativos de terceiros é a maneira de tirar os LLMs de suas caixas e pode ser incrivelmente fácil de fazer, Willison prometeu: “Quando as pessoas ficam entusiasmadas com agentes e termos sofisticados como esse, é só disso que estão falando. .”
Como funciona a injeção imediata
A desvantagem de adicionar aplicativos de terceiros, no entanto, são as preocupações de segurança em torno da injeção imediata, onde um terceiro pode preceder seu próprio código malicioso antes do seu.
Tomemos, por exemplo, um assistente de bate-papo pessoal, um aplicativo comum baseado em IA que está sendo desenvolvido atualmente, algo que, mediante comando de voz, pode reservar um voo ou cancelar um almoço (o Google lançou recentemente um). Ele poderia ser facilmente ultrapassado por terceiros que o instruíssem a alterar a senha e apagar a ação de seus registros.
“Acontece que não sabemos como evitar que isso aconteça”, disse ele, observando que cunhou o termo “injeção imediata” (como injeção de SQL) para descrever esse tipo de ataque à segurança.
As injeções imediatas não são um ataque aos LLMs em si, mas sim a todas as ferramentas que colocamos em cima dos LLMs. Ninguém descobriu uma maneira de prevenir totalmente ataques de injeção imediata, embora muitas soluções ofereçam alguma proteção. Mas se houver falhas, os invasores encontrarão uma maneira de explorá-las.
“Nunca produza textos não confiáveis – textos de e-mails e da web – com acesso a ferramentas e acesso a informações privadas”, disse Willison. “Você tem que manter essas coisas completamente separadas.”
Construa coisas que você não conseguia construir anteriormente
O próprio Willison avalia qualquer nova tecnologia em termos do que ele poderia construir com ela e que não poderia ter feito de outra forma.
E os LLMs, disse ele, “fazem isso melhor do que qualquer outra coisa que já vi”.
OpenAI está fazendo avanços em sua interface de usuário. Uma versão alfa, o Code Interpreter fornece ao ChatGPT a capacidade de escrever código Python e colocá-lo em um Jupyter Notebook.
Willison o usou para traçar o contorno do Adirondack Park, que foi mapeado em um arquivo GeoJSON como uma série de segmentos de linha. Ele teve que voltar duas vezes e reiterar seu pedido antes de conseguir obter um esboço completo do parque no mapa do estado.
Com LLMs, muito raramente você obterá a resposta que procura na primeira tentativa. Às vezes você pode adicionar instruções explícitas e às vezes pode simplesmente dizer ao ChatGPT para “fazer melhor”.
Apesar das múltiplas iterações, Willison conseguiu concluir o projeto em cerca de três minutos.
Apenas o fato de Willison poder iniciar esses projetos em poucos minutos abre a porta para muitos outros projetos paralelos, disse ele.
Ele também escreveu um contador que monitorava sua palestra no Pycon em tempo real, contabilizando o número de vezes que ele disse “IA” ou “inteligência artificial” e atualizando o número em tempo real durante a apresentação (no canto superior direito do tela de apresentação.)
Para construir o contador, ele simplesmente perguntou à versão mais recente do ChatGPT, ChatGPT-4o, quais eram suas opções para construir tal aplicativo, visto que ele era um programador Python com um Mac.
Ele pediu várias opções. Este ponto foi importante, observou ele, porque o ChatGPT normalmente dará apenas uma resposta, que pode ou não funcionar. Pedir várias opções lhe dará mais opções.
“É muito mais provável que você obtenha um resultado que possa usar”, disse ele.
Usando uma ferramenta de tradução de áudio em Python da qual ele nunca ouviu falar antes, o ChatGPT retornou um script em Python que quase funcionou – e funcionou, após alguns pequenos ajustes. Ele então pediu ao ChatGPT que gerasse o código para colocar o contador na tela do computador.
“Essas três instruções me deram exatamente o que eu precisava”, disse ele. Tempo total investido? Cerca de seis minutos.
Se ele passasse meio dia codificando esse recurso, ele não teria se incomodado. Mas que isso poderia ser feito em menos de 10 minutos?
Essa facilidade de uso, disse ele, “permite todos esses projetos que eu nunca teria considerado antes”.
Não generativo, mas transformador
A IA generativa pode não ser o melhor nome para essas tecnologias, supôs Willison. Sugere uma máquina que pode produzir principalmente lixo. Um nome melhor, disse ele, seria “IA transformadora”.
“As aplicações mais interessantes são aquelas que quando você insere grandes quantidades de texto e depois usa para avaliar e fazer coisas com base nisso, então você tem uma extração de dados estruturada”, disse ele. “Coisas assim têm muito menos probabilidade de causar alucinações.”
A postagem PyCon US: Simon Willison sobre Hacking LLMs for Fun and Profit apareceu pela primeira vez em The New Stack.