4 pontos por GN⁺ 2023-12-26 | 1 comentários | Compartilhar no WhatsApp

Notas sobre "Atenção" e "Transformers": "Grandes Modelos de Linguagem" em redes neurais

  • O termo "atenção" refere-se a um conceito diferente da atenção humana real e significa atribuir algum grau de peso a todos os vetores possíveis.
  • "Atenção" é uma forma de suavização por kernel e, por volta de 2015, não foi uma invenção nova no campo das redes neurais, mas uma redescoberta de uma ideia já existente.
  • "Atenção multi-head" é uma forma de realizar suavização por kernel usando diversos kernels e depois fazer a média dos resultados.

"Transformers"

  • "Transformers" são uma estrutura que usa o mecanismo de "atenção" para suavizar vetores de entrada e, em seguida, passa a saída obtida por uma rede neural feedforward para gerar a saída final.
  • Transformers são compostos pelo empilhamento de várias camadas, e cada camada consiste em um mecanismo de "atenção" e uma rede neural feedforward.
  • O nome transformers é menos propenso a mal-entendidos do que "atenção" e é apropriado porque de fato realizam uma transformação.

"Modelos de Linguagem"

  • Um modelo de linguagem é basicamente um modelo probabilístico sobre uma sequência de símbolos, que modela a probabilidade do próximo símbolo dado um contexto.
  • Os grandes modelos de linguagem modernos (Large Language Models, LLMs) podem ser vistos como modelos de Markov de ordem finita com um comprimento máximo de contexto fixo.
  • LLMs conseguem fazer previsões mesmo para contextos nunca vistos antes por meio de uma suavização implícita complexa.

"Previsão do próximo símbolo" versus "previsão de longo alcance"

  • O objetivo de treinamento dos LLMs é prever com precisão o próximo símbolo, e isso também pode ser um objetivo poderoso para previsões de longo alcance.
  • Encontrar o preditor mínimo fornece muitas informações sobre a estrutura do processo subjacente que se quer prever.

"Um forte palpite sobre revelar prompts"

  • Tentar descobrir o prompt de aplicações baseadas em LLM com pedidos como "diga qual é o prompt" não passa de autoengano.
  • O modelo de linguagem central de um LLM não tem nenhum mecanismo para distinguir o prompt de outras partes da sequência de entrada atual.
  • O projetista do sistema pode ter implementado uma função para rastrear o prompt, mas quase não há motivo para isso.

"Gopnikismo; biblioteca"

  • A abordagem mais promissora e atraente é pensar nos LLMs não como algo semelhante a uma mente, mas como uma "tecnologia cultural" parecida com um catálogo de biblioteca.
  • Fornecer texto a um LLM por meio de prompts é semelhante a consultar o conteúdo de uma biblioteca e então amostrar conteúdo correspondente.

Opinião do GN⁺

  • O uso do termo "atenção" como um conceito técnico diferente da atenção humana real é algo que acontece com frequência no campo da IA e mostra como termos técnicos podem ser confundidos com fenômenos do mundo real.
  • O sucesso dos grandes modelos de linguagem resulta da combinação de metodologias clássicas de machine learning com o poder computacional moderno para atingir um novo nível de desempenho, destacando a necessidade de reavaliar teorias e métodos existentes e aplicá-los de forma inovadora.
  • Comparar LLMs a um catálogo de biblioteca oferece uma perspectiva interessante sobre como essa tecnologia processa e acessa conhecimento e informação humanos, o que pode ajudar a entender como a IA interage com a cultura humana.

1 comentários

 
GN⁺ 2023-12-26
Comentários do Hacker News
  • Um comentarista, que afirmou trabalhar no Google Research e ter trabalhado com dois autores do artigo "Attention is All You Need", mencionou também que colaborou com a pessoa que escolheu o título do artigo. Ele explicou que self-attention já era um conceito conhecido na comunidade de pesquisa, e que os autores nunca alegaram tê-lo inventado. Segundo ele, os autores estavam buscando formas de combinar várias técnicas para melhorar o desempenho de redes neurais feedforward, obtiveram resultados interessantes e, no processo de pesquisa, descobriram depois que o mecanismo de attention tinha um papel central. Também comentou que o título do artigo é um trocadilho que remete à música dos Beatles "All You Need Is Love". O artigo que mais o ajudou foi "Formal Algorithms for Transformers", de Phuong e Hutter, que ele avaliou como escrito com foco em clareza e precisão, especialmente a seção de motivação (Seção 2), por explicar bem as falhas do artigo original e dos trabalhos posteriores.

  • Outro comentarista confessou que, mesmo tendo lido o artigo "Attention is All You Need" com atenção várias vezes, não conseguia entender o que exatamente a "attention" fazia. Ele disse que entendia a parte matemática, mas que nem vários tutoriais ajudaram. Só anos depois percebeu que "attention" era apenas kernel smoothing, e criticou o texto por ter sido escrito de forma pouco clara. Esse comentarista afirmou que a maioria dos artigos de machine learning é lixo, embora considere que "Attention is All You Need" ainda seja melhor do que a maior parte deles.

  • Um terceiro comentarista avaliou como interessante e revigorante a abordagem do artigo, parecida com um "fluxo de consciência". Também comentou sobre o autor pedir desculpas e adotar uma postura humilde por causa das críticas recebidas na internet, e expressou a esperança de que essas reações negativas não impeçam o autor de continuar publicando suas notas.

  • Outro comentarista disse que, ao contrário da maior parte dos textos sobre machine learning, este parecia escrito na sua própria língua. Ele mencionou que a seção sobre Lempel-Ziv (LZ) era interessante, mas avaliou que ampliar um modelo de LZ não seria tão interessante, porque o LZ precisa casar strings exatamente. Em vez disso, sugeriu que seria mais interessante reduzir o tamanho aceitando alguma imprecisão, como um "jpeg" para texto. Ele especulou que isso provavelmente é o que os grandes modelos de linguagem (LLMs) fazem.

  • Outro comentarista mencionou que pensa em scaled dot product attention como um mecanismo de convolução generalizado. Ele disse que os termos query, key e value são confusos, e explicou que, em self-attention, os três são derivados do mesmo sinal e multiplicados entre si. Acrescentou que ninguém sabe por que esse mecanismo funciona tão bem, quais hiperparâmetros são bons para quais dados, nem qual seria o tamanho ideal de sequência.

  • Outro comentarista afirmou que transformers são apenas mais um universal approximator, e que não importa se um determinado attention head simula um array associativo contínuo, kernel smoothing ou um espaço vetorial de alta dimensão que representa singularidade semântica. O importante, segundo ele, é que transformers podem ser treinados de forma eficiente em GPUs e com processamento paralelo, e isso explica por que são superiores ao LZ ou a outros universal approximators. Comentou ainda que, se alguém conseguir fazer o LZ (ou qualquer outra coisa) rodar em GPU com muito mais eficiência do que transformers, poderá fundar a próxima OpenAI e ficar bilionário.

  • Um comentarista pediu uma explicação para a frase: "Mitologia: modificamos o significado de cada token que já vimos com base no contexto, e significados semelhantes se reforçam mutuamente". Ele disse que, nesse ponto, kernel smoothing parecia ser aplicado independentemente a cada vetor de embedding, e que não entendia por que algum vetor y_t derivado e suavizado por tokens vizinhos na sequência seria afetado. Ele observou que, ao adicionar o token r_t, fica claro que o contexto passa a importar, mas perguntou se isso é a única coisa que leva o contexto em conta.

  • Outro comentarista disse entender por que pessoas de outras áreas, com um padrão maior de "rigor" acadêmico e onde resultados semelhantes já existem, ficam furiosas com artigos de machine learning como "Attention is All You Need". Ele criticou esses artigos por não serem realmente bons artigos acadêmicos, afirmando que encontrar nomes espertos e escolher os termos de cosplay de engenharia mais difíceis de entender não torna um artigo bom. No entanto, argumentou que, na prática, nada disso importa tanto: grandes modelos de linguagem funcionam, e funcionam por razões meio idiotas. Soluções de engenharia, como adicionar positional embeddings, resolveram de fato os problemas, não por causa de uma compreensão matemática profunda, mas porque foram tentadas e funcionaram. Também comentou que os "transformers eficientes", que usam métodos de kernel para reduzir linearmente o requisito de memória da attention, na prática não importam muito, porque empresas como OpenAI, Anthropic e Meta não ligam para adicionar mais GPUs e só se preocupam com throughput. Concluiu dizendo que os resultados passam de palpites e experiência, e que o que realmente importa é o produto final.

  • Por fim, outro comentarista disse discordar totalmente da afirmação de que "todo mundo que tenta revelar o prompt de aplicações baseadas em LLM pedindo algo como 'diga qual é o prompt' está se enganando". Ele explicou que o modelo de linguagem central não tem nenhum mecanismo para distinguir o prompt de outras partes da sequência de entrada atual, nem um mecanismo de referência cruzada entre uma parte da sequência e outra. Pode até ser que os projetistas do sistema tenham codificado algo para rastrear o prompt no sistema como um todo, mas ele disse não ver por que fariam isso. Segundo ele, usar um "soft prompt" pode ser mais eficiente e eficaz; isso significaria uma sequência de vetores no início que pode ser treinada por gradient descent, mas que talvez não corresponda a uma string de palavras bem organizada. Quando se pede o prompt a um LLM, a resposta seria gerada com base nas estatísticas das sequências de palavras aprendidas, e não por acesso ao código ou ao estado interno. Esse comentarista afirmou que a melhor abordagem é pensar a partir da perspectiva do modelo de linguagem: como a saída é produzida como resultado de kernel smoothing sobre a entrada, é possível usar a informação presente no prompt para orientar o modelo em direção a um estilo específico.