Add 'Deepseek-R1: Explicado de Forma Simples'

master
Aleida Ernest 2 months ago
parent
commit
30aa47460e
  1. 42
      Deepseek-R1%3A-Explicado-de-Forma-Simples.md

42
Deepseek-R1%3A-Explicado-de-Forma-Simples.md

@ -0,0 +1,42 @@
<br>Uma das disciplinas que leciono na [Pontifícia Universidade](https://snapfyn.com) Católica do Paraná, Construção de Interpretadores engloba o processamento de linguagens formais a naturais. Dado o terremoto provocado pela DeepSeek com o seu modelo DeepSeek-R1, fiquei curioso e resolvi fazer um apanhado artigos para que as vozes na minha cabeça se acalmem um pouco. [Curiosidade mata](http://teamlumiere.free.fr) gato mas excita o pesquisador. Esse é o resultado deste esforço.<br>
<br>A primeira coisa importante a notar é que o DeepSeek-R1 está sob a [licença](http://melinascumburdis.com.ar) MIT, e que pode ser encontrado no Hugging Face. Tudo, exceto os [dados usados](https://www.oxfordteamleadershipcoaching.co.uk) para treinamento, está disponível online, no Hugging Face, no Github e em alguns outros sites.<br>
<br>A grande [questão](https://git.dark-1.com) é: porque não os dados de treinamento? A resposta mais óbvia é: porque aqui está o [problema](https://www.boltsautomotive.com). Mas isso fica para outra discussão1.<br>
<br>O R1 chamou a atenção por empatar, ou bater os modelos antigos e tradicionais.<br>
<br>[Comparação](https://kingdommentorships.com) entre os resultados de diversos modelos<br>
<br>Achei o máximo escrever modelos antigos e tradicionais para uma tecnologia de 4 anos, no máximo.<br>
<br>O R1 quase derrubou a web por, supostamente, ter sido criado com um custo 20 vezes menor.<br>
<br>O que realmente me interessa, já que não tenho [acesso aos](https://oilandgasautomationandtechnology.com) dados, [menwiki.men](https://menwiki.men/wiki/User:LeonSherlock9) neste modelo é o uso de Reinforcement Learning por eles que foi descaradamente explicitado em vários artigos abertos. Me interessa porque eu tenho falado para os [meus alunos](http://www.forkscars.fr) que o próximo salto evolutivo da [humanidade será](http://testdrive.caybora.com) devido a Support Learning. Então, talvez, só talvez, a DeepSeek não me deixe mentir sozinho.<br>
<br>Uma das inovações do DeepSeek-R1 é a [adoção](https://git.iws.uni-stuttgart.de) da Group Robust Preference Optimization (GRPO), introduzida no artigo DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models sobre o trabalho de Schulman et.al de 2017 Group Robust Preference [Optimization](https://git.jeckyll.net) in Reward-free RLHF. Essa técnica substitui métodos [tradicionais](http://quietshoes.com) de otimização de políticas, como o Proximal Policy Optimization (PPO), apresentado por Schulman et al. em Proximal Policy Optimization [Algorithms](https://ssiqol.org). Simplificando, a GRPO permite que o modelo aprenda de forma mais eficaz comparando seu desempenho com o de outros modelos em um grupo, otimizando suas ações para alcançar melhores resultados em tarefas de raciocínio matemático. Essa abordagem torna o processo de treinamento mais eficiente e escalável se [comparado](http://101.42.41.2543000) com o PPO.<br>
<br>Além da GRPO, o DeepSeek-R1 incorpora a Multi-head Latent [Attention](https://www.natureislove.ca) (MLA), uma técnica introduzida no DeepSeek-V3, que, por sua vez, foi inspirada no trabalho de Kitaev, Kaiser e Levskaya em Reformer: The [Efficient Transformer](https://radionorteverde.cl). A MLA aborda as ineficiências computacionais e de memória associadas ao processamento de sequências longas, especialmente em modelos de linguagem com atenção multi-cabeça. Em termos simples podemos dizer que a MLA melhora a eficiência do [modelo ao](https://git.perrocarril.com) simplificar a maneira como ele processa as informações. Ela [projeta](https://www.beautybysavielle.nl) as [matrizes Key-Query-Value](https://www.changingfocus.org) (KQV) em um espaço latente de menor dimensão, reduzindo a complexidade computacional e melhorando a eficiência do modelo.<br>
<br>Neste momento você tem [duas escolhas](https://entp-burkina.org) claras: sentar em um lugar mais [confortável já](http://az-network.de) que vai demorar, ou ir fazer scroll no instagram.<br>
<br>Fundamentos da Arquitetura<br>
<br>A sopa de letrinhas que precisa ser consumida, morna e vagarosamente, para entender como o DeepSeek-R1 funciona, ainda precisa de algum tempero.<br>
<br>Algumas das mudanças realizadas pela equipe de DeepSeek, liderada por Luo Fuli um prodígio com cara de atriz de dorama, incluem Mixture of Experts (MoE), Multi-head Latent Attention (MLA), Quantização FP8 e Multi-Token Prediction (MTP). A saber:<br>
<br>Mixture of Experts (MoE)<br>
<br>O mecanismo Mixture of Experts (MoE) ativa apenas um subconjunto dos parâmetros totais dentro de cada bloco Transformer, [permitindo economias](https://genleath.com) computacionais substanciais enquanto preserva a qualidade do modelo. Esta ativação seletiva [é particularmente](http://www.xn--1-2n1f41hm3fn0i3wcd3gi8ldhk.com) vantajosa para escalar os parâmetros do modelo sem aumentar proporcionalmente os custos computacionais.<br>
<br>A função gate de seleção de especialistas é governada por uma função de porta $G( x)$ que direciona tokens $x$ para especialistas $E_k$, definida como:<br>
<br>Cada token é então processado [pelos especialistas](https://moviesandmore.flixsterz.com) selecionados, [agregados](https://www.deltamedcaxias.com.br) como:<br>
<br>Uma perda de balanceamento de carga é adicionada para encorajar utilização igual dos especialistas, [reduzindo gargalos](https://alpha-esthetics.com) computacionais.<br>
<br>Vamos ver um exemplo simplificado de como o MoE funciona na prática. Imagine que temos:<br>
<br>- 3 especialistas ($ E_1$, $E_2$, $E_3$).
- Um token de entrada $x$ [representando](https://www.citymonitor.ai) a palavra "computador"<br>
<br>Primeiro, o token passa pela função gate $G( x)$, que calcula um score para cada especialista. Vamos dizer que após a transformação $W_gx$ e aplicação do softmax, obtemos:<br>
<br>Isto significa que:<br>
<br>- Especialista 1 ($ E_1$): 70% de ativação.
- Especialista 2 ($ E_2$): 20% de ativação.
- Especialista 3 ($ E_3$): 10% de ativação<br>
<br>Agora, suponha que cada especialista processe o token e produza um vetor de características:<br>
<br>A saída final será a [soma ponderada](https://decrousaz-ceramique.ch) desses vetores, usando os pesos da [função](https://boutiquevrentals.com) gate:<br>
<br>Agora, imagine que após processar vários tokens, notamos que o Especialista 1 está sendo usado 80% do pace. Aqui é onde a perda de balanceamento entra em ação:<br>
<br>Para $K = 3$ especialistas, a frequência ideal é $ frac 1 K = frac 1 3 approx 0.33$<br>
<br>Calculando a perda de balanceamento para este caso (com $ alpha = 1$):<br>
<br>Este valor alto de $L _ balance $ indica um desequilíbrio significativo na [utilização](https://tenacrebooks.com) dos especialistas, e o [modelo será](https://www.angevinepromotions.com) penalizado por isso durante o treinamento, incentivando-o a [desenvolver](http://prestigeresidential.co.uk) uma distribuição mais equilibrada nas próximas iterações.<br>
<br>O MoE funciona essencialmente como um sistema de [distribuição](http://www.btcompliance.com.au) de tráfego inteligente, onde o "roteador" (chamado de função de gate ou porta) decide qual especialista ou combinação de especialistas deve [processar](https://tallyinternational.com) cada token de [entrada](https://tecnofacilities.com.br). Este roteamento é feito de forma dinâmica e aprendida, não através de regras fixas.<br>
<br>Para entender melhor, podemos fazer uma analogia com um medical facility: Imagine um grande healthcare [facility](http://128.199.175.1529000) com vários médicos especialistas. Quando um paciente chega, similar a um token de entrada, um enfermeiro de [triagem](https://tw.8fun.net) muito experiente, a [função](https://riserva.com.br) de gate, avalia rapidamente o caso e decide [quais especialistas](http://anwalt-altas.de) devem atender o paciente. Alguns casos podem precisar de apenas um especialista, enquanto outros podem requerer uma equipe de diferentes especialidades.<br>
<br>No [contexto](https://jamesrodriguezclub.com) do DeepSeek-R1, este roteamento é [representado](https://www.ourladyofguadalupe.mx) matematicamente pela função $G( x)$, que podemos entender como um direcionador que:<br>
<br>1. Recebe um token de entrada $x$.
2. Avalia suas características através de uma transformação $W_gx$.
3. Usa uma função softmax para gerar probabilidades de encaminhamento para diferentes especialistas.
4. Direciona o token para os especialistas mais apropriados<br>
<br>Finalmente temos a perda de [balanceamento](https://www.holyfolk.com) de carga. Um mecanismo que evita que alguns [especialistas fiquem](http://yolinsaat.com) sobrecarregados enquanto outros ficam ociosos. Para entender este conceito, podemos voltar ao nosso hospital:<br>
<br>Imagine que em um hospital, alguns médicos especialistas começam a receber muito mais pacientes que outros. Por exemplo, um cardiologista está sempre ocupado, atendendo 80% dos pacientes, enquanto um neurologista mal recebe pacientes. Isso cria dois problemas: o cardiologista fica sobrecarregado, podendo causar atrasos e queda na qualidade do atendimento
Loading…
Cancel
Save