Add 'Deepseek-R1: Explicado de Forma Simples'

master
Brandy Fysh 1 year ago
parent
commit
ef44b1f1d9
  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](https://divulgatioll.es/) que leciono na Pontifícia Universidade [Católica](https://taemier.com/) do Paraná, Construção de [Interpretadores engloba](https://mexicolegisla.com/) 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](https://stephanieholsmanphotography.com/) 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 MIT, e que pode ser encontrado no Hugging Face. Tudo, exceto os dados usados para treinamento, [está disponível](http://www.avvocatogrillo.it/) online, no Hugging Face, no Github e em alguns outros sites.<br>
<br>A grande questão é: porque não os dados de treinamento? A [resposta](https://acwind.pl/) mais óbvia é: porque aqui está o problema. Mas isso fica para outra discussão1.<br>
<br>O R1 chamou a [atenção](http://thenyspectator.com/) por empatar, ou bater os modelos antigos e tradicionais.<br>
<br>Comparação entre os resultados de [diversos](http://vue.du.sud.blog.free.fr/) modelos<br>
<br>Achei o máximo escrever modelos [antigos](https://southdevonsaustralia.com/) e [tradicionais](https://andrea-kraus-neukamm.de/) para uma tecnologia de 4 anos, no [máximo](https://airtracktele.com/).<br>
<br>O R1 [quase derrubou](https://www.sass-strassenbau.de/) 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://veroniquemarie.fr/) dados, 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 que o próximo salto [evolutivo](https://sunrise.hireyo.com/) da [humanidade](http://www.institut-kunst-und-gesangstherapie.at/) será devido a Support Learning. Então, talvez, só talvez, a [DeepSeek não](https://fondation-alzheimer.ca/) me deixe mentir [sozinho](https://walkingtourinnewbraunfels.com/).<br>
<br>Uma das inovações do DeepSeek-R1 é a adoção da Group Robust Preference Optimization (GRPO), introduzida no artigo DeepSeekMath: Pushing the Limits of [Mathematical Reasoning](https://taemier.com/) in Open Language Models sobre o trabalho de Schulman et.al de 2017 Group Robust Preference Optimization in Reward-free RLHF. Essa técnica substitui métodos tradicionais de otimização de políticas, como o Proximal Policy Optimization (PPO), apresentado por Schulman et al. em [Proximal Policy](https://gogs.zhongzhongtech.com/) [Optimization Algorithms](http://www.ownguru.com/). 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](https://ccj-consulting.de/) ações para alcançar melhores resultados em tarefas de [raciocínio matemático](http://essentialfma.com.au/). Essa abordagem torna o processo de treinamento mais eficiente e escalável se [comparado](http://jillwrightplanthelp.co.uk/) com o PPO.<br>
<br>Além da GRPO, o DeepSeek-R1 incorpora a Multi-head Latent Attention (MLA), uma técnica introduzida no DeepSeek-V3, que, por sua vez, foi [inspirada](https://www.irenemulder.nl/) no trabalho de Kitaev, Kaiser e Levskaya em Reformer: The Efficient Transformer. A MLA aborda as ineficiências computacionais e de memória associadas ao processamento de [sequências](https://kijut-coaching.de/) 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 simplificar a maneira como ele processa as informações. Ela [projeta](https://bahnreise-wiki.de/) as matrizes Key-Query-Value (KQV) em um [espaço latente](http://ajsa.fr/) de menor dimensão, [reduzindo](https://marquezroblesabogados.es/) a complexidade computacional e melhorando a eficiência do modelo.<br>
<br>Neste momento você tem [duas escolhas](https://alaevavictoria.com/) claras: sentar em um lugar mais [confortável já](https://berniecorrodi.ch/) que vai demorar, ou ir fazer scroll no instagram.<br>
<br>Fundamentos da Arquitetura<br>
<br>A sopa de letrinhas que [precisa](http://www.roli-guggers.de/) 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](https://grundschule-remagen.de/) um [prodígio](https://soulfinancegroup.com.au/) com cara de atriz de dorama, incluem Mixture of Experts (MoE), Multi-head Latent [Attention](https://hoangthangnam.com/) (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 computacionais substanciais enquanto preserva a qualidade do modelo. Esta ativação seletiva é particularmente vantajosa para escalar os parâmetros do modelo sem [aumentar proporcionalmente](https://www.fauteuil-trv.com/) 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 selecionados, agregados como:<br>
<br>Uma perda de balanceamento de carga é adicionada para encorajar utilização igual dos especialistas, reduzindo gargalos computacionais.<br>
<br>Vamos ver um exemplo simplificado de como o MoE funciona na prática. [Imagine](https://myjobapply.com/) que temos:<br>
<br>- 3 especialistas ($ E_1$, $E_2$, $E_3$).
- Um token de entrada $x$ representando a palavra "computador"<br>
<br>Primeiro, o token passa pela função gate $G( x)$, que [calcula](http://www.arcimboldo.fr/) um rating 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](https://qualifier.se/) 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 last será a soma ponderada desses vetores, usando os pesos da função gate:<br>
<br>Agora, think of que após processar [vários](http://shinhwaspodium.com/) tokens, notamos que o Especialista 1 [está sendo](http://tcstblaise.ch/) usado 80% do tempo. 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](https://www.holyfolk.com/) a perda de balanceamento para este caso (com $ alpha = 1$):<br>
<br>Este valor alto de $L _ [balance](https://www.28ppp.de/) $ indica um desequilíbrio significativo na utilização dos especialistas, e o modelo será [penalizado](http://briansmithsouthflorida.com/) por isso durante o treinamento, incentivando-o a [desenvolver](http://arjan-smit.com/) uma distribuição mais equilibrada nas próximas iterações.<br>
<br>O MoE funciona essencialmente como um sistema de distribuição de [tráfego](http://www.farwestexpress.it/) inteligente, onde o "roteador" (chamado de função de gate ou porta) choose qual especialista ou combinação de especialistas deve processar cada token de entrada. 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](http://blog.plemi.com/) com um [healthcare](https://www.lesfinesherbes.be/) facility: Imagine um grande hospital com vários médicos especialistas. Quando um paciente chega, comparable a um token de entrada, um enfermeiro de triagem muito experiente, a função de gate, avalia rapidamente o caso e choose quais especialistas devem [atender](https://gitea.cloudfindtime.com/) o [paciente](https://www.ortodoncistasasociadosvzla.com/). Alguns casos podem precisar de apenas um especialista, enquanto outros podem requerer uma equipe de diferentes especialidades.<br>
<br>No contexto do DeepSeek-R1, este roteamento é representado [matematicamente pela](https://www.massmoto.it/) 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](https://kijut-coaching.de/) de uma transformação $W_gx$.
3. Usa uma função softmax para gerar [probabilidades](https://windenergie-stierenberg.ch/) de [encaminhamento](https://nildigitalco.com/) para diferentes especialistas.
4. Direciona o token para os especialistas mais apropriados<br>
<br>Finalmente temos a perda de balanceamento de carga. Um mecanismo que evita que alguns especialistas fiquem sobrecarregados enquanto outros ficam ociosos. Para [entender](https://exajob.com/) este conceito, podemos voltar ao nosso medical facility:<br>
<br>[Imagine](https://edicionesalarco.com/) que em um health center, alguns médicos especialistas começam a receber muito mais pacientes que outros. Por exemplo, um [cardiologista está](https://chapelledesducs.fr/) sempre ocupado, atendendo 80% dos pacientes, enquanto um neurologista mal [recebe pacientes](https://rens19enyoblog.com/). Isso cria dois problemas: o cardiologista fica sobrecarregado, podendo causar atrasos e queda na [qualidade](https://robotevent.fr/) do atendimento
Loading…
Cancel
Save