A IA já não precisa de retropropagação
Autoria: Better Stack · Assistir no YouTube
Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.
Idioma original: inglês
Vídeo original: AI No Longer Needs Backpropagation · Canal: Better Stack · 02:35 · Assistir no YouTube
Tópicos: Inferência e otimização de modelos, Modelos de IA
Uma equipe da Q Labs pré-treinou um transformer sem retropropagação usando um método chamado Dust, que estima gradientes por tentativa e erro. Em vez de alterar os pesos aleatoriamente, Dust adiciona ruído às ativações de cada camada e avalia os efeitos em paralelo ao longo dos tokens. Nos testes com modelos pequenos no estilo GPT, o método superou a retropropagação em treinos curtos e foi muito melhor que Egg Roll, embora ainda exija muito mais computação. A abordagem pode permitir arquiteturas não diferenciáveis, mas precisa se tornar ordens de magnitude mais eficiente para ser prática.
Pontos-chave
Seção intitulada “Pontos-chave”- A retropropagação calcula gradientes usando a regra da cadeia e exige que as partes do modelo sejam diferenciáveis.
- Estratégias evolutivas estimam boas direções por meio de alterações aleatórias e avaliações da perda.
- Dust adiciona ruído às ativações de cada camada, em vez de alterar os pesos diretamente.
- Cada token de uma sequência pode funcionar como um experimento paralelo dentro de uma única passagem forward.
- Em treinos mais curtos, Dust produziu modelos mais capazes que a retropropagação nos testes relatados.
- Dust superou Egg Roll mesmo quando este recebeu 256 vezes mais tentativas.
- O método ainda exige muito mais computação, e o maior modelo testado tinha 243 milhões de parâmetros.
- Sem exigir uma passagem backward nem diferenciabilidade, a abordagem pode abrir caminho para arquiteturas que usam programas externos ou fazem loops.
Capítulos
Seção intitulada “Capítulos”| Início | Capítulo | Resumo |
|---|---|---|
| 00:00 | Como funciona a retropropagação | O vídeo apresenta a retropropagação, explica como ela calcula gradientes e destaca a exigência de diferenciabilidade. |
| 00:31 | A alternativa da busca aleatória | Estratégias evolutivas testam alterações aleatórias, mas são lentas porque cada tentativa exige uma passagem forward. |
| 01:01 | Dust e a população virtual | Dust perturba as ativações por token e combina os resultados de experimentos paralelos para estimar gradientes. |
| 01:33 | Resultados dos testes | Dust superou a retropropagação em treinos curtos e teve desempenho muito superior ao de Egg Roll na comparação relatada. |
| 02:05 | Limitações e possibilidades futuras | Apesar do alto custo computacional, Dust pode permitir arquiteturas não diferenciáveis, como modelos que chamam programas externos ou fazem loops. |
Citações
Seção intitulada “Citações”Uma equipe da Q Labs acabou de pré-treinar um transformer sem isso. — 00:00
O truque é parar de alterar os pesos e alterar as ativações. — 01:01
A única diferença é que o gradiente vem de tentativa e erro, em vez de vir do cálculo. — 01:33
Dust precisa de muito mais computação que a retropropagação. — 02:05
Se você não precisa de uma passagem backward, seu modelo não precisa ser diferenciável. — 02:35
Conceitos e entidades
Seção intitulada “Conceitos e entidades”- backpropagation (conceito): Método que calcula gradientes percorrendo as camadas do modelo em sentido inverso e aplicando a regra da cadeia.
- evolution strategies (conceito): Métodos de otimização que testam alterações aleatórias e usam seus efeitos na perda para estimar boas direções.
- Dust (conceito): Método da Q Labs que estima gradientes perturbando as ativações e avaliando a perda em diferentes tokens.
- Egg Roll (conceito): Método de busca por tentativa e erro usado como comparação com Dust.
- Q Labs (empresa): Equipe responsável pelo método Dust e pelos testes descritos no vídeo.
- Transformer (modelo): Arquitetura de rede neural que a equipe pré-treinou sem usar retropropagação.
- GPT (modelo): Família de modelos usada como referência para os modelos pequenos avaliados nos testes.
- GitHub (ferramenta): Plataforma onde, segundo o vídeo, o código do método já estava disponível.
Tradução completa (pt-BR)
Seção intitulada “Tradução completa (pt-BR)”00:00 Todo modelo de IA que você já usou foi treinado com o mesmo algoritmo, chamado retropropagação, que se popularizou lá em 1986. Mas uma equipe da Q Labs acabou de pré-treinar um transformer sem ela e, em alguns dos testes, o método deles chegou a superar a retropropagação. Vou explicar como fizeram isso. Quando você treina uma rede neural, passa os dados pelo modelo e mede o quanto a saída está errada, o que é chamado de perda. Depois, é preciso descobrir em que direção ajustar cada um dos pesos do modelo para reduzir a perda; essa direção é chamada de gradiente. A retropropagação encontra o
00:31 gradiente fazendo uma segunda passagem para trás por todas as camadas, usando a regra da cadeia do cálculo para descobrir exatamente quanto cada peso contribuiu para o erro. É precisa e eficiente, mas exige algo importante: cada parte do seu modelo precisa ser diferenciável. Essa restrição moldou praticamente todas as arquiteturas, os otimizadores e as GPU que usamos hoje. A alternativa sempre foi a busca. Em vez de calcular o gradiente, você simplesmente dá um palpite. Ajusta os pesos aleatoriamente, executa o modelo e verifica se a perda aumentou ou diminuiu. Se fizer isso com uma grande população de
01:01 ajustes aleatórios, as direções promissoras começam a se acumular. Isso se chama estratégias evolutivas, e o problema é que elas são dolorosamente lentas, porque cada palpite precisa da própria cópia dos pesos e da própria passagem direta. O método da Q Labs se chama Dust, e é um truque para parar de ajustar os pesos e passar a ajustar as ativações. Ele adiciona uma pequena quantidade de ruído aleatório à saída de cada camada, de forma independente, a cada token, e depois verifica como a perda mudou em cada token. Assim, uma sequência de 2.048 tokens se transforma em 2.048 experimentos separados, executados em paralelo dentro de uma única passagem direta. Os pesquisadores
01:33 chamaram isso de população virtual. O ruído que reduziu a perda é recompensado, tudo é calculado em média, e você acaba com uma estimativa do gradiente em cada camada. A partir daí, a atualização dos pesos é calculada exatamente como na retropropagação. A única diferença é que o gradiente vem de tentativa e erro, em vez de vir do cálculo. E os resultados são bastante surpreendentes. Eles testaram o método em modelos pequenos no estilo GPT e, nas execuções de treinamento mais curtas, o Dust acabou produzindo um modelo mais inteligente do que a retropropagação. Nas execuções mais longas, não chegou a alcançar o mesmo nível, mas, quanto mais palpites recebia, mais perto ficava.
02:05 Eles também compararam o método ao melhor método de tentativa existente, chamado Egg Roll, e a diferença foi enorme. Mesmo quando o Egg Roll podia fazer 256 vezes mais tentativas, ainda não conseguia se igualar ao Dust. E, na verdade, modelos maiores aprenderam melhor dessa forma, o que é o oposto do que todos esperavam. Mas há uma grande ressalva. O Dust precisa de muito mais poder computacional do que a retropropagação, e os autores dizem explicitamente que ele precisa se tornar várias ordens de magnitude mais eficiente antes de ser prático. O maior modelo que testaram tinha apenas 243 milhões de parâmetros, mas a ideia de longo prazo é realmente interessante porque, se você não
02:35 precisa de uma passagem para trás, seu modelo não precisa ser diferenciável. Isso abre caminho para arquiteturas com as quais a retropropagação tem dificuldade, como modelos que chamam programas externos no meio da computação ou repetem operações sobre si mesmos muitas vezes. O código já está no GitHub, caso você queira se aprofundar, e, se quiser ficar por dentro das últimas novidades da pesquisa em IA, não deixe de se inscrever no canal Better Stack.
Transcrição original
[00:00] Every AI model you’ve ever used was trained with the same algorithm called backpropagation, which was popularized all the way back in 1986. But a team at Q Labs just pre-trained a transformer without it, and in some of their tests, their method actually beat backpropagation. Let me explain how they did it. So, when you train a neural network, you run data forward through a model and measure how wrong the output is, which is called the loss. Then, you need to figure out which way to adjust each of the model’s weights so the loss goes down, and that direction is called the gradient. Backpropagation finds the
[00:31] gradient by running a second pass backwards through every layer using the chain rule from calculus to work out exactly how much each weight contributed to the error. It’s precise and efficient, but it comes with a big requirement. Every single piece of your model has to be differentiable, and that constraint has shaped pretty much every architecture, optimizer, and GPU we use today. The alternative has always been search. Instead of calculating the gradient, you just guess. You nudge the weights randomly, run the model, and check whether the loss went up or down. If you do that across a big population
[01:01] of random nudges, the good directions start to add up. These are called evolution strategies, and the problem is that they’re painfully slow because every guess needs its own copy of the weights and its own forward pass. Q Labs’ method is called Dust, and it’s a trick to stop nudging the weights and nudge the activations instead. It adds a tiny bit of random noise to the output of each layer independently every single token and then checks how the loss changed at each token. So, one sequence of 2,048 tokens becomes 2,048 separate experiments running in parallel inside a single forward pass. The researchers
[01:33] called this a virtual population. The noise that lowered the loss gets rewarded, everything gets averaged out, and you end up with an estimate of the gradient at each layer. From there, the weight update is computed exactly the way backpropagation does it. The only difference is that the gradient comes from trial and error instead of from calculus. And the results are quite surprising. They tested it on small GPT-style models, and on the shorter training runs, Dust actually ended up with a smarter model than backpropagation did. On the longer runs, it didn’t quite catch up, but the more guesses they gave, the closer it got.
[02:05] They also compared it to the best existing guessing method called Egg Roll, and the difference was huge. Even when Egg Roll was allowed 256 times more guesses, it still couldn’t match Dust. And bigger models actually got better at learning this way, which is the opposite of what everyone expected. Now, there is a big catch though. Dust needs a lot more compute than backpropagation, and the authors say outright that it has to get orders of magnitude more efficient before it’s practical. The largest model they tested was only 243 million parameters, but the long-term idea is really interesting because if you don’t
[02:35] need a backward pass, your model doesn’t need to be differentiable at all. That opens the door to architectures that backpropagation struggle with, like models that call external programs mid-computation or loop over themselves many times. The code is already on GitHub if you want to dig deeper into it, and if you want to stay up-to-date with the latest in AI research, be sure to subscribe to the Better Stack channel.