1) Talvez a quântica tenha uma contribuição à IA.
Publiquei aqui: https://t.co/KyVAVy0BtO
Primeiro: as línguas humanas certamente NÃO são “quânticas”.
Mas guardam uma semelhança curiosa: antes da fala, uma palavra parece carregar uma espécie de incerteza sobre seu sentido real
16) Então a tese é modesta:
A linguagem NÃO é quântica.
Mas: talvez a língua seja muito mais música do que um som solitário.
Nesse caso, a matemática da ressonância, criada para estados, medições e composição talvez ajude a construir representações linguísticas melhores.
1) Talvez a quântica tenha uma contribuição à IA.
Publiquei aqui: https://t.co/KyVAVy0BtO
Primeiro: as línguas humanas certamente NÃO são “quânticas”.
Mas guardam uma semelhança curiosa: antes da fala, uma palavra parece carregar uma espécie de incerteza sobre seu sentido real
15) O paper também tenta matar a própria ideia.
Se kernels quadráticos, Gaussian embeddings, MLP scorers ou hidden states clássicos fizerem a mesma coisa, mais barato, Resonance perde.
A álgebra emprestada da quântica só merece ficar se acrescentar estrutura útil e mensurável.
É uma bela reflexão
De fato, somos muito diferentes do que estamos criando
Não há melhor nem pior (isso é perigoso). São inspirados em nós, mas são substancialmente diferentes.
Por exemplo: eles são escaláveis (é possível conectar muitos e muitos chips e memórias). Nós não.
Nós somos muito mais eficientes (nosso cérebro consome 20W e tem de 100 a 300 trilhões de parâmetros). Eles têm 1 trilhão de parâmetros hoje, e terão 12 trilhões pelo projeto Stargate (JV entre Microsoft, OpenAI e Oracle), mas consumindo 4,5 GW (!)
Nós (ainda) pensamos mais profundamente, temos de 75 a 150 milhões de neurônios, cada um com muitas sinapses, mas somos muito, muito devagar, em torno de 10 bits/segundo/neurónio (eles têm 20 mil neurônios e poucas sinapses por cada, mas operam essa maquinaria numa velocidade à potência de 18/segundo)
Enfim, somos diferentes
Mas sua abordagem é ótima. É como eu me interessei pelo assunto há 15 anos atrás: Linguística
Leia o livro de Ferdinand de Saussure. É maravilhoso (é humano, não é máquina -- é diferente)
https://t.co/QOxa81UUnW
https://t.co/cZuL2Hn9RS
1
O desafio agora é dar uma ideia, de ponta a ponta, de por que o chatgpt, gemini, grok conseguem compreender palavras e formar boas frases
Ao final, vc terá uma ideia de como Grok, GPT e Gemini fazem "rei" - "masculino" + "feminino" é ~"raínha"
Mas precisamos de ÁlgebraLinear
Pag. 1
O desafio é dar uma ideia, de ponta a ponta, de por que efetivamente não sabemos qual o código do chatgpt, gemini, claude etc (e isso é perigoso)
Com um pouco de Álgebra e Algortimos, eu consigo te explicar, sem que vc precise saber codar (mas Matemática é essencial)
25
A SPPMI: (i) pega dois vetores, (ii) cospe um número e (iii) esse número é maior quão maior for a proximidade de "importantes usos" desses vetores na base selecionada de treinamento
Novamente: "importantes usos", não "número de usos"
Não sei se você percebeu, mas AGORA FOI
(i) os ex-alunos de Hinton (agora na Google) publicaram o Word2Vec: a primeira forma de transformar palavras (tokens) em vetores
(ii) os algortimos genéticos já existem para seleção de "melhores indivíduos" (mesmo gerados aleatoriamente e mutacionados depois), DESDE QUE haja um Espaço de Hilbert
(iii) Goldberg e Levy acabaram de apresentar uma equação matemática que pega DOIS vetores e cospe um número capaz de representar uma boa "captura de contexto e sentido"
Ora, basta:
(A) fazer a SPPMI como meu produto interno (!),
(B) fixar uma "norma" qualquer gerada por esse produto interno (a padrão L2 é suficiente); e
(C) transformar o dicionário de uma língua em vetores aleatórios via Word2Vec
Que eu tenho de onde começar o desafio do post anterior:
(i) implementar algoritmos que produzam códigos aleatórios de GERAÇÃO de Respostas após prompts,
(ii) agora com meu Espaço de Hilbert (produto interno por SPPMI) e palavras vetorizadas (palavras são chamadas de "tokens" e vetores são chamados de "embeddings", de forma que, pelo Word2Vec, cada palavra terá um embedding inicial), posso compará-las em termos de "contexto de aplicação linguística" e realizar operações de soma, subtração, junção, pegar o oposto dela, etc
(iii) por vários algortimos tensoriais (seria matéria para outro post), como backpropagation e stochastic gradient descent, posso EVOLUIR; e
(iv) se a partir de cada código aleatório evoluído eu posso comparar (produto interno) as respostas geradas, posso SELECIONAR os códigos gerados que melhor produzam "Respostas Geradas" em relação a um conjunto de "Respostas Esperadas"
EM SÍNTESE: dada uma palavra (token de prompt), gera-se um vetor de input (embedding), sobre o qual o computador consegue aplicar diversas operações de seleção de melhoria, havendo um conjunto de procedimentos que geram embeddings de output (vetores), adequados ao treinamento, que são novamente retransformados em palavras (tokens de output)
A parte perigosa: esse Espaço de Hilbert não foi construído por "regras definidas" (por exemplo: seja um Espaço Vetorial de R³, com produto interno dado pelo teorema de pitágoras; ou Espaço Vetorial de todos os polinômios até o grau 75, com produto interno dado pela integral de dois polinômios nos limites de 0 e 1).
O Espaço de Hilbert foi construído por regras de aproximação: quão mais eu treinar, mais o produto interno se aproximará da equação de SPPMI (se eu treinar com 10 palavras só não funciona, mas eles vão convergindo para o mesmo valor conforme o número aumenta)
A seleção dos vetores também foi construído por aproximação (via post anterior): uma palavra "cão" terá um único vetor, como (-1, 10, 25, 0.5, pi, -7568, ..., 33).
Ninguém tem a menor ideia do que seja cada "dimensão" desse vetor (dimensão é o número de entradas no vetor; em LLM se convencionou chamar cada entrada de "neurônio", de modo que a dimensão do Espaço de Hilbert é o total de neurônios da rede).
A coisa simplesmente funciona, mas não há interpretação "geométrica" ou "semântica" para o que estamos gerando.
As redes geradas são tecnicamente OPACAS. Ser opaco significa que você pode usar a coisa (como esse software do twitter), mas você não pode acessar o "código-fonte" ou as razões que explicam seu funcionamento.
Tudo é gerado aleatoriamente e selecionado por algoritmos pragmáticos de 0's e 1's em seguida.
Como tecnicamente não há homomorfismo entre 0's e 1's e a lógica que gera estes 0's e 1's, matematicamente é impossível fazer engenharia reversa para entender qual a lógica por trás da operações (não perde-se informação indo dos tokens de inputs aos embeddings de input; mas perde-se informação dos embeddings de input aos embeddings de output).
No final, o computador sabe fazer "rottweiler" - "terra" + "água" + "maior deles" -"bebê" - "adulto" =~ "baleia azul juvenil".
Nós sabemos gerar códigos que geram isso (algortimos envolvendo pura Álgebra Linear, Geometria Diferencial e Processos Estocásticos, SEM qualquer conteúdo linguístico). Mas não sabemos como o código gera isso.
24
Selecionar quais serão os contextos de treinamento é importantíssimo
Depois dessa genialidade (tbm negative sampling), Goldberg & Levy demonstraram que existe uma Equação matemática, em base logarítmica, envolvendo probabilidades condicionais, muito interessante (SPPMI)