[Sobre o uso de vetores de espaço latente contínuo nas janelas de contexto de Transformers e LLMs] #SundayHarangue Muito se fala sobre como vetores de um espaço latente contínuo podem fazer com que os Transformers resolvam problemas de forma eficiente. Alguns desses argumentos contradizem a conservação da complexidade computacional, na minha opinião. Os argumentos/analogias giram em torno da visão desses tokens como uma "superposição" (pense em união) de tokens discretos. Como contexto, os transformadores operam em um espaço latente L, onde cada token (linguístico) corresponde a um vetor em L. Essa correspondência, no entanto, é unilateral: nem todo vetor em L corresponde a um token único. Você poderia, no entanto, ver esses vetores (que não possuem um mapeamento de token único) como uma combinação linear de vetores correspondentes a tokens. Dessa forma, eles podem ser vistos como uma união/superposição desses tokens. Deveria ser bastante óbvio que as operações do transformador veem as entidades na janela de contexto como meros vetores do espaço de incorporação. Em particular, a operação de propagação direta não se importa se os vetores que estão sendo processados possuem tokens únicos correspondentes ou não. Isso significa que, no que diz respeito à operação do transformador, a janela de contexto pode ter tanto "vetores de token" (ou seja, vetores de incorporação que correspondem a tokens únicos) quanto "vetores latentes" (ou seja, vetores de incorporação que não correspondem a tokens únicos). Como mencionado acima, esses vetores latentes podem ser vistos como combinações lineares dos vetores de token. Uma aplicação óbvia dessa flexibilidade é que os tokens intermediários emitidos pelo transformador podem muito bem ser esses vetores latentes; apenas os tokens de solução (que estão sendo passados para os usuários finais) precisam ser vetores de token. De fato, como argumentamos em https://t.co/f6E3c2j4dm (https://t.co/t4uYw5WTmD), contanto que os tokens intermediários não pareçam ter qualquer semântica para o usuário final, permitir que eles sejam qualquer vetor do espaço latente proporciona uma flexibilidade significativamente maior para o aprendizado de aumentos de prompts apropriados (cf. https://t.co/jl0LyWJUys). Outro argumento apresentado sobre o uso de vetores latentes nos tokens intermediários é que ele serve para "melhorar a eficiência na resolução dos problemas subjacentes". Agora, sou bastante cético quanto à ideia de que os LLMs (Modelos de Aprendizagem Baseados em Lógica) resolvem problemas. Nosso trabalho mostra, por exemplo, que há pouca relação entre o comprimento dos tokens intermediários e a complexidade subjacente do problema (cf. https://t.co/UKgCwgHKeQ), sugerindo que isso indica mais uma tentativa de conectar a distribuição de treinamento com a instância de teste. No entanto, se considerarmos os Transformers como formas de "computar soluções" (mesmo que não seja isso que realmente acontece nos LLMs pré-treinados), então permitir que os Transformers operem em vetores latentes em vez de vetores de tokens parece corresponder a realizar computação em representações disjuntivas de entidades, em vez de em entidades individuais. Agora, operar em representações disjuntivas pode melhorar a eficiência média em distribuições específicas, mas não a complexidade no pior caso. Como um teste de sanidade, abstração e hierarquia podem ser vistas como operando em representações disjuntivas, e nenhuma delas altera a complexidade computacional do problema no pior caso; veja https://t.co/aXreC5YKPN ou https://t.co/UDzu2Qp7WK para argumentos sobre planejamento. Por isso, sou cético em relação às afirmações de que transformadores com tokens latentes podem comprovadamente aumentar a eficiência em todos os casos. Por exemplo, um artigo recente (https://t.co/4oQzEUIFPk) argumenta que transformadores com tokens latentes podem resolver o problema de alcançabilidade em grafos em um tempo proporcional ao diâmetro do grafo (e ainda cita a superposição quântica!). Isso não faz sentido — certamente não no pior caso — sem violar a conservação da complexidade (ou alterar o significado de "resolver" o problema de alcançabilidade; os resultados empíricos do artigo parecem se contentar com uma precisão inferior a 100%, por exemplo). Quando estávamos discutindo este artigo em nossa reunião de grupo na sexta-feira, contei aos meus alunos sobre a analogia com o algoritmo de planejamento Graphplan — que acelera o planejamento STRIPS (que está intimamente ligado à alcançabilidade). Há muitos anos, mostramos que os ganhos de velocidade do Graphplan podem ser compreendidos em termos de projeção sobre conjuntos de estados, em vez de estados individuais. No entanto, se você operar diretamente sobre representações de união, pode chegar a um ponto em que a representação pode parecer estar alcançando o estado objetivo, mas pode não ser possível extrair um caminho válido! (No caso do Graphplan, essa extração envolve uma etapa de decodificação com custo exponencial e, se falhar, a projeção sobre estados disjuntivos continua). Isso é ilustrado na figura abaixo 👇 e no artigo original em https://t.co/s20cFEOfQk (ou na Figura 3 e na discussão correspondente em https://t.co/YqN0fh7vp6). Resumindo: acredito que os tokens latentes podem aumentar consideravelmente a flexibilidade das ampliações de prompts que os LLMs podem aprender após o treinamento, mas não concordo totalmente com a afirmação de que "eles reduzem a complexidade dos problemas em questão".
Carregando detalhes do thread
Buscando os tweets originais no X para montar uma leitura limpa.
Isso normalmente leva apenas alguns segundos.
![[Sobre o uso de vetores de espaço latente contínuo nas janelas de contexto de Transformers e LLMs] #SundayHarangue
Mui](https://pbs.twimg.com/media/G4yh-s7b0AAH-4k.png)