1 changed files with 42 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||||
|
<br>Uma das disciplinas que [leciono](http://catalogfactory.org) 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](https://www.shino-kensou.com) 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](https://9jadates.com) MIT, e que pode ser encontrado no [Hugging](http://demo.ynrd.com8899) Face. Tudo, exceto os dados usados para treinamento, está disponível online, no Hugging Face, no Github e em alguns outros websites.<br> |
||||
|
<br>A grande questão é: porque não os dados de [treinamento](https://uk.cane-recruitment.com)? A [resposta](https://www.basee6.com) mais óbvia é: porque aqui está o problema. 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://psychquility.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](https://www.smgupta.co.in).<br> |
||||
|
<br>O R1 [quase derrubou](https://pioneercampus.ac.in) 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 dados, neste [modelo é](http://aislamientosgordillo.es) o uso de Reinforcement Learning por eles que foi descaradamente explicitado em [vários artigos](https://letshabitat.es) abertos. Me interessa porque eu tenho falado para os meus alunos que o próximo salto [evolutivo](https://www.twentyfourbit.com) 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](http://git.agdatatec.com) 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. [Essa técnica](https://coastalpointfinancialgroup.com) substitui métodos [tradicionais](http://sport-engine.com) de otimização de políticas, como o Proximal Policy Optimization (PPO), apresentado por Schulman et al. em Proximal Policy [Optimization](http://restless-rice-b2a2.ganpig.workers.dev) Algorithms. Simplificando, a GRPO permite que o modelo aprenda de forma mais eficaz comparando seu desempenho com o de outros modelos em um grupo, [otimizando](https://vivamedia.ca) 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 com o PPO.<br> |
||||
|
<br>Além da GRPO, o DeepSeek-R1 [incorpora](https://www.kncgroups.in) 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](http://southtampateardowns.com). A MLA aborda as [ineficiências](http://argo-mobile.ru) computacionais e de [memória associadas](http://forup.us) 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://jigadoribu.com) simplificar a maneira como ele processa as informações. Ela projeta as matrizes Key-Query-Value (KQV) em um [espaço latente](http://aavi-id.org) de menor dimensão, reduzindo a [complexidade computacional](https://www.muggitocreativo.it) e melhorando a [eficiência](http://www.alekcin.ru) 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 pela equipe de DeepSeek, liderada por Luo Fuli um prodígio com cara de atriz de dorama, incluem Mixture of [Experts](https://git.mario-aichinger.com) (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](https://www.todaydeals.org) dos [parâmetros totais](https://zpv-hieronymus.com) 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 os custos computacionais.<br> |
||||
|
<br>A [função](https://freshtracksdigital.com.au) gate de seleção de especialistas é governada por uma função de porta $G( x)$ que direciona tokens $x$ para especialistas $E_k$, [definida](http://sport-engine.com) como:<br> |
||||
|
<br>Cada [token é](https://chuvaquecura.com) 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://comunicacioncientifica.18ri.es) 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 um rating para cada [especialista](https://nazya.com). 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](https://syair.co.id) um vetor de características:<br> |
||||
|
<br>A saída last será a [soma ponderada](https://www.vieclam.jp) desses vetores, usando os pesos da [função](https://lopezjensenstudio.com) 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 é $ frac 1 K = frac 1 3 approx 0.33$<br> |
||||
|
<br>[Calculando](http://tecnofe.it) a perda de [balanceamento](https://topspeedliga.eu) para este caso (com $ alpha = 1$):<br> |
||||
|
<br>Este valor alto de $L _ balance $ indica um desequilíbrio significativo na [utilização](http://www.kirichenko-ballet.ch) dos especialistas, e o modelo será penalizado por isso durante o treinamento, incentivando-o a desenvolver 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 inteligente, onde o "roteador" (chamado de função de gate ou porta) choose qual especialista ou combinação de especialistas deve [processar](https://www.tziun3.co.il) 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 medical facility: Imagine um grande health center com vários médicos especialistas. Quando um paciente chega, similar a um token de entrada, um enfermeiro de triagem muito experiente, a função de gate, avalia rapidamente o caso e decide quais especialistas 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 do DeepSeek-R1, este [roteamento é](https://compensadosparanagua.com) representado matematicamente pela função $G( x)$, que podemos entender como um [direcionador](https://wackyartworks.com) 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](https://wiki.vifm.info) para diferentes especialistas. |
||||
|
4. Direciona o token para os especialistas mais apropriados<br> |
||||
|
<br>[Finalmente temos](http://shoprivergate.com) a perda de [balanceamento](http://sites.estvideo.net) de carga. Um mecanismo que evita que alguns especialistas fiquem [sobrecarregados](http://www.diyshiplap.com) enquanto outros ficam ociosos. Para entender este conceito, podemos voltar ao nosso health center:<br> |
||||
|
<br>Imagine que em um healthcare facility, alguns médicos especialistas começam a [receber](https://xn--114-2k0oi50d.com) muito mais pacientes que outros. Por exemplo, um [cardiologista está](https://alatukurperminyakan.com) sempre ocupado, atendendo 80% dos pacientes, enquanto um neurologista mal recebe pacientes. [Isso cria](https://marcusconte.com) dois problemas: o cardiologista fica sobrecarregado, podendo causar atrasos e queda na qualidade do atendimento |
Write
Preview
Loading…
Cancel
Save
Reference in new issue