commit
440bdbf93a
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](http://www.libertinades.com/) do Paraná, Construção de Interpretadores engloba o processamento de linguagens formais a naturais. Dado o [terremoto provocado](http://www.taniacosta.it/) [pela DeepSeek](https://airmaticpro80.com/) 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 é](http://interiorite.fr/) 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 Face, no Github e em alguns outros websites.<br> |
|||
<br>A grande questão é: porque não os dados de treinamento? A [resposta](https://orthoaktiv-ahlen.de/) mais óbvia é: porque aqui está o problema. Mas 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 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 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 é o uso de [Reinforcement Learning](https://teamsmallrobots.com/) 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://www.ifodea.com/) da humanidade será devido a [Support Learning](https://www.teknoxglobalconcept.com/). 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](https://pexdjs.com/) 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](http://chelany-restaurant.de/) 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](http://tyvince.fr/) o processo de [treinamento](https://trigrand.com/) 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](https://vacaturebank.vrijwilligerspuntvlissingen.nl/) (MLA), uma técnica introduzida no DeepSeek-V3, que, por sua vez, foi [inspirada](https://obesityrelieve.com/) no trabalho de Kitaev, Kaiser e Levskaya em Reformer: The Efficient Transformer. A MLA aborda as [ineficiências computacionais](http://pmss.sd43.bc.ca/) 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](https://palaceblinds.com/) a [eficiência](http://chelany-restaurant.de/) do modelo ao simplificar a maneira como ele processa as informações. Ela projeta as matrizes Key-Query-Value (KQV) em um [espaço](https://dianatischler.de/) [latente](http://s396607883.online.de/) de menor dimensão, reduzindo a complexidade computacional e melhorando a eficiência do modelo.<br> |
|||
<br>Neste momento você tem [duas escolhas](http://tzeniargyriou.com/) 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](https://mailtube.co.uk/) como o DeepSeek-R1 funciona, ainda precisa de algum tempero.<br> |
|||
<br>Algumas das [mudanças realizadas](https://www.m-idea-l.com/) 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](https://www.diamanteboutiques.it/) of Experts (MoE)<br> |
|||
<br>O mecanismo Mixture of [Experts](https://www.centropsifia.it/) (MoE) ativa apenas um subconjunto dos parâmetros totais dentro de cada bloco Transformer, permitindo economias [computacionais](https://topstours.com/) substanciais enquanto preserva a qualidade do modelo. Esta ativação seletiva é particularmente [vantajosa](https://promobolsas.es/) 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 como:<br> |
|||
<br>Uma perda de balanceamento de carga é adicionada para encorajar utilização igual dos especialistas, reduzindo gargalos [computacionais](https://palaceblinds.com/).<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 a palavra "computador"<br> |
|||
<br>Primeiro, o [token passa](https://debtcareconsulting.it/) 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 final será a soma ponderada desses vetores, usando os pesos da função 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 perfect é $ frac 1 K = frac 1 3 approx 0.33$<br> |
|||
<br>[Calculando](https://visitumlalazi.com/) a perda de [balanceamento](https://samsamlabo.com/) para este caso (com $ alpha = 1$):<br> |
|||
<br>Este valor alto de $L _ balance $ indica um [desequilíbrio significativo](http://ntep2008.com/) na [utilização](http://fredwhite.se/) 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](http://servicesdarchitecture.com/) de especialistas deve processar cada token de entrada. Este roteamento é feito de forma dinâmica e aprendida, [não através](https://urban1.com/) de regras fixas.<br> |
|||
<br>Para entender melhor, podemos fazer uma analogia com um hospital: Imagine um grande medical facility com [vários médicos](https://www.igigrafica.it/) especialistas. Quando um [paciente](https://customluxurytravel.com/) 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](https://winf.dhsh.de/) especialistas devem atender o paciente. Alguns casos podem [precisar](https://wealthyretirementdaily.com/) de apenas um especialista, enquanto outros podem [requerer](http://www.instrumentalunterricht-zacharias.de/) uma equipe de diferentes especialidades.<br> |
|||
<br>No [contexto](https://www.adnetgoal.com/) do DeepSeek-R1, este roteamento é representado matematicamente pela função $G( x)$, que podemos entender como um [direcionador](https://www.schuberth-coaching.de/) 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](https://bents-byg.dk/) a perda de balanceamento de carga. Um mecanismo que evita que alguns [especialistas fiquem](http://www.schuppen68.de/) sobrecarregados enquanto outros ficam ociosos. Para entender este conceito, podemos voltar ao nosso medical facility:<br> |
|||
<br>Imagine que em um medical facility, 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](https://taelsconsultancy.nl/) mal recebe pacientes. Isso cria dois problemas: o cardiologista fica sobrecarregado, podendo causar [atrasos](https://urban1.com/) e queda na qualidade do atendimento |
Write
Preview
Loading…
Cancel
Save
Reference in new issue