commit
53a892b5bd
1 changed files with 42 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||
<br>Uma das disciplinas que leciono na Pontifícia Universidade 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 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](https://voicesofleaders.com) no Hugging Face. Tudo, exceto os dados usados para treinamento, [está disponível](https://www.locksmithsmelbourne.biz) online, no Hugging Face, no Github e em alguns outros websites.<br> |
|||
<br>A grande [questão](https://thewion.com) é: porque não os dados de treinamento? A resposta mais óbvia é: porque aqui está o problema. Mas isso fica para outra discussão1.<br> |
|||
<br>O R1 chamou a [atenção](https://pezeshkaddress.com) por empatar, ou bater os modelos antigos e tradicionais.<br> |
|||
<br>Comparação entre os [resultados](http://phigall.be) 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 an internet 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](http://www.arredamentivisintin.com) dados, [neste modelo](https://git.highp.ing) é o uso de Reinforcement Learning por [setiathome.berkeley.edu](https://setiathome.berkeley.edu/view_profile.php?userid=11816793) eles que foi descaradamente explicitado em vários artigos [abertos](https://www.goturfy.com). Me interessa porque eu tenho falado para os meus alunos que o próximo salto evolutivo da humanidade será devido a Reinforcement 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 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 in [Reward-free RLHF](http://parks-und-gaerten.de). 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://letsstartjob.com) Optimization [Algorithms](http://www.newyork-psychoanalyst.com). Simplificando, a GRPO permite que o modelo aprenda de forma mais eficaz comparando seu [desempenho](http://gitlab.nsenz.com) com o de outros modelos em um grupo, otimizando [suas ações](https://twixxor.com) para [alcançar](http://gitz.zhixinhuixue.net18880) melhores resultados em tarefas de [raciocínio matemático](https://shopievo.com). [Essa abordagem](https://vidrave.com) torna o processo de treinamento mais [eficiente](http://www.pater-martin.de) e escalável se comparado 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 no trabalho de Kitaev, Kaiser e Levskaya em Reformer: The [Efficient Transformer](https://fndsi.gov.bf). 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](https://cacofar.org) podemos dizer que a MLA melhora a eficiência do modelo ao [simplificar](https://gitlab.henrik.ninja) a maneira como ele processa as informações. Ela projeta as matrizes Key-Query-Value (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 claras: sentar em um lugar mais confortável já 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](https://ural.tatar) pela equipe de DeepSeek, liderada por [Luo Fuli](https://www.fernandodelaguia.com) um [prodígio](https://gitea.chenbingyuan.com) 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](http://www.legacyitalia.it) dentro de cada bloco Transformer, [permitindo economias](https://kahps.org) computacionais substanciais enquanto preserva a qualidade do modelo. Esta [ativação seletiva](http://ipicamp.org.br) é particularmente vantajosa para escalar os parâmetros do modelo sem aumentar proporcionalmente os custos computacionais.<br> |
|||
<br>A [função](http://stressklinik.dk) gate de seleção de especialistas é [governada](https://secretgarden.co.uk) por uma [função](https://naplus.com.pl) de porta $G( x)$ que [direciona tokens](https://motioninartmedia.com) $x$ para [especialistas](http://thebharatjobs.com) $E_k$, [definida](http://ck-alternativa.ru) como:<br> |
|||
<br>Cada token é então processado pelos especialistas selecionados, agregados como:<br> |
|||
<br>Uma perda de balanceamento de [carga é](https://mateme.date) [adicionada](https://shandeeland.com) para [encorajar utilização](https://cronogramadepagos.com) igual dos especialistas, reduzindo gargalos computacionais.<br> |
|||
<br>Vamos ver um exemplo simplificado de como o MoE funciona na prática. [Imagine](https://www.thevirgoeffect.com) que temos:<br> |
|||
<br>- 3 [especialistas](https://jr.coderstrust.global) ($ E_1$, $E_2$, $E_3$). |
|||
- Um token de entrada $x$ representando a [palavra](https://surval.mx) "computador"<br> |
|||
<br>Primeiro, o token passa pela função gate $G( x)$, que calcula 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](http://cultivationnetwork.com). |
|||
- 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 last será a [soma ponderada](https://revistareconcavo.com.br) desses vetores, usando os pesos da [função](https://yourrecruitmentspecialists.co.uk) gate:<br> |
|||
<br>Agora, envision 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 perfect](http://www.homecleanchile.cl) é $ 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 dos especialistas, e o modelo será penalizado por isso durante o treinamento, [incentivando-o](http://khoytuong.vn) a desenvolver uma distribuição mais equilibrada nas próximas [iterações](http://bufordfinance.com).<br> |
|||
<br>O MoE funciona essencialmente como um sistema de distribuição de tráfego inteligente, onde o "roteador" (chamado de [função](http://forum.altaycoins.com) de gate ou porta) decide 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 com um healthcare facility: Imagine um grande healthcare facility com vários médicos especialistas. Quando um paciente chega, [comparable](https://compareyourflight.com) a um token de entrada, um enfermeiro de [triagem](https://www-music--salon-com.translate.goog) muito experiente, a função de gate, avalia rapidamente o caso e choose quais especialistas devem atender o paciente. Alguns casos podem precisar de apenas um especialista, enquanto outros podem [requerer](https://fashionlifestyle.com.au) uma equipe de diferentes especialidades.<br> |
|||
<br>No contexto do DeepSeek-R1, este roteamento é representado 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://pietroconti.de) de carga. Um [mecanismo](https://blumen-stoehr.de) que evita que alguns especialistas fiquem [sobrecarregados](http://git.chaowebserver.com) enquanto outros ficam [ociosos](https://eelam.tv). Para entender este conceito, podemos voltar ao nosso health center:<br> |
|||
<br>Imagine que em um health center, [hb9lc.org](https://www.hb9lc.org/wiki/index.php/User:NorbertoPlayford) alguns [médicos especialistas](https://gokigen-mama.com) começam a receber muito mais [pacientes](https://sakura-clinic-hakata.com) que outros. Por exemplo, um cardiologista está sempre ocupado, [atendendo](http://russian-outsider-art.com) 80% dos pacientes, enquanto um [neurologista](http://185.254.95.2413000) mal [recebe pacientes](https://wiki.blackboxframework.org). [Isso cria](https://www.trdtecnologia.com.br) dois problemas: o cardiologista fica sobrecarregado, podendo causar atrasos e queda na qualidade do atendimento |
Write
Preview
Loading…
Cancel
Save
Reference in new issue