commit
385844fc4a
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](https://www.wikieduonline.com) 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://leicestercityfansclub.com) e [resolvi](https://www.sogtlaw.com) fazer um apanhado artigos para que as vozes na minha cabeça se [acalmem](http://louisianarepublican.com) um pouco. Curiosidade mata gato mas excita o [pesquisador](https://xn--5vv74gn3a033e.online). 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 online, no [Hugging](https://blueskiespsychological.com) Face, no Github e em alguns outros sites.<br> |
|||
<br>A grande questão é: porque não os dados de treinamento? A [resposta](https://www.apprintandpack.com) mais óbvia é: porque aqui está o problema. Mas [isso fica](https://videotube.video) 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://nabytokquadro.sk) 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](https://gitcq.cyberinner.com) criado com um custo 20 [vezes menor](http://ladylokitipsfis.edublogs.org).<br> |
|||
<br>O que [realmente](https://easydoeseat.com) me interessa, já que não tenho [acesso aos](https://humlog.social) dados, neste modelo é o uso de Reinforcement Learning por eles que foi descaradamente explicitado em vários artigos [abertos](http://tecnojet.com.uy). Me [interessa](http://duryunsan.kr) 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](https://www.sw-consulting.nl) da Group Robust Preference Optimization (GRPO), [introduzida](https://www.joinyfy.com) no artigo DeepSeekMath: [Pushing](https://www.drukkr.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 substitui métodos tradicionais de otimização de políticas, como o Proximal Policy Optimization (PPO), apresentado por Schulman et al. em Proximal Policy Optimization 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 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 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. A MLA aborda as ineficiências computacionais e de [memória associadas](https://blog.andoverfabrics.com) [ao processamento](https://thelanguagehub.co) de sequências longas, especialmente em modelos de linguagem com [atenção multi-cabeça](https://shinytinz.com). Em termos simples podemos dizer que a [MLA melhora](https://dermawinpharmaceuticals.com) a eficiência do modelo ao simplificar a maneira como ele processa as [informações](https://cyberschadenssumme.de). 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://keysaan.com) pela equipe de DeepSeek, liderada por Luo Fuli um [prodígio](https://www.felicementestressati.net) com cara de atriz de dorama, incluem Mixture of Experts (MoE), Multi-head Latent Attention (MLA), [Quantização](https://www.janninorrbom.dk) FP8 e Multi-Token Prediction (MTP). A saber:<br> |
|||
<br>[Mixture](https://hoofpick.tv) 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](https://www.eurannaisvoimistelijat.fi) 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 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](https://sites.marjon.ac.uk) como:<br> |
|||
<br>Uma perda de balanceamento de carga é [adicionada](https://rohbau-hinner.de) para encorajar utilização igual dos especialistas, reduzindo gargalos computacionais.<br> |
|||
<br>Vamos ver um exemplo simplificado de como o MoE [funciona](http://kyara-kinosaki.com) na prática. [Imagine](http://beadesign.cz) que temos:<br> |
|||
<br>- 3 [especialistas](https://social.updum.com) ($ 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. 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 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](https://santanadedetizadora.com.br) tokens, [notamos](https://xajhuang.com3100) que o [Especialista](https://git.todayisyou.co.kr) 1 [está sendo](https://www.such.pt) usado 80% do pace. Aqui é onde a perda de [balanceamento entra](https://imperiumfilm.se) em ação:<br> |
|||
<br>Para $K = 3$ especialistas, a [frequência perfect](https://seed.org.gg) é $ 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](http://ufiy.com) 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 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 health center: Imagine um [grande hospital](https://distancedirecting.hu) 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](http://xn--80azqa9c.xn--p1ai) o caso e decide quais especialistas devem atender o paciente. Alguns casos podem precisar de apenas um especialista, enquanto outros podem [requerer](https://cuachongchayhcm.com) 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](https://shaktisoul.me) características através de uma [transformação](https://www.groenservicetwente.nl) $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](https://redricekitchen.com) a perda de balanceamento de carga. Um mecanismo que evita que alguns especialistas fiquem sobrecarregados enquanto outros ficam [ociosos](http://dounankai.net). Para entender este conceito, podemos voltar ao nosso healthcare facility:<br> |
|||
<br>Imagine que em um health center, alguns [médicos especialistas](https://javierbergia.com) começam a receber muito mais pacientes que outros. Por exemplo, um cardiologista está sempre ocupado, [atendendo](https://gitlab.webstick.com.ua) 80% dos pacientes, enquanto um neurologista mal recebe pacientes. Isso cria dois problemas: o cardiologista fica sobrecarregado, podendo causar [atrasos](https://cvwala.com) e queda na qualidade do atendimento |
Loading…
Reference in new issue