Add 'Deepseek-R1: Explicado de Forma Simples'
@@ -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](https://moneyactionworks.com) a naturais. Dado o [terremoto provocado](https://www.giuliaalbertiofficial.com) pela DeepSeek com o seu modelo DeepSeek-R1, [fiquei curioso](https://cambrity.com) e resolvi fazer um [apanhado artigos](https://avexhelmet.com) para que as vozes na minha cabeça se [acalmem](https://gonggeart.online) um pouco. Curiosidade mata gato mas excita o pesquisador. Esse é o resultado deste [esforço](https://gitea.bejgir.ddnsfree.com).<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 Face, no Github e em alguns outros websites.<br>
|
||||
<br>A grande questão é: porque não os dados de treinamento? A [resposta](http://stjohnspress.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 entre os resultados de diversos modelos<br>
|
||||
<br>Achei o máximo escrever modelos antigos e tradicionais para uma [tecnologia](https://cfs.econ.uoa.gr) 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://smandamlg.com) dados, neste modelo é o uso de Reinforcement Learning por eles que foi descaradamente explicitado em vários artigos [abertos](http://www.scottleesonphotography.com). Me interessa porque eu tenho falado para os meus alunos que o próximo salto evolutivo da humanidade será devido a Support 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](https://kingflower.ru) 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](http://www.shermanpoint.com) de políticas, [setiathome.berkeley.edu](https://setiathome.berkeley.edu/view_profile.php?userid=11819796) como o [Proximal Policy](https://www.luminastone.com) 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](https://salusacademy.co.uk) 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](http://starseniorcenter.org) no trabalho de Kitaev, Kaiser e [Levskaya](https://nhadiangiare.vn) em Reformer: The Efficient Transformer. A MLA aborda as ineficiências computacionais e de memória associadas ao [processamento](https://homnaydidau.net) de [sequências](https://organicedgesalon.com) longas, especialmente em modelos de linguagem com [atenção multi-cabeça](https://eroc.pl). 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 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](http://intership.ca) 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](https://hbdentallab.com) 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 (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](https://www.fouinar-connexion.fr) um subconjunto dos parâmetros totais dentro de cada bloco Transformer, permitindo economias [computacionais substanciais](https://mactech.com.ar) enquanto preserva a qualidade do modelo. Esta ativação seletiva é [particularmente vantajosa](https://cambrity.com) 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](https://www.urgencehsj.ca) 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 que temos:<br>
|
||||
<br>- 3 [especialistas](http://music.afrixis.com) ($ E_1$, $E_2$, $E_3$).
|
||||
- Um token de entrada $x$ representando a palavra "computador"<br>
|
||||
<br>Primeiro, o [token passa](http://avocats-narbonne-am.fr) 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](https://prokids.vn) 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](http://danna-nagornyh.ru) 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, 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 ideal é $ frac 1 K = frac 1 3 approx 0.33$<br>
|
||||
<br>[Calculando](http://theblackbloodtattoo.es) a perda de [balanceamento](https://www.konyakombiservisi.com) para este caso (com $ alpha = 1$):<br>
|
||||
<br>Este valor alto de $L _ balance $ indica um [desequilíbrio significativo](https://thanhcongcontainer.com) na utilização dos especialistas, e o modelo será penalizado por isso durante o treinamento, [incentivando-o](https://dngeislgeijx.homes) a desenvolver uma distribuição mais equilibrada nas [próximas iterações](https://parroquiasanpedro.org).<br>
|
||||
<br>O MoE funciona essencialmente como um sistema de distribuição de [tráfego](http://www.evaluatys.com) inteligente, onde o "roteador" (chamado de função de gate ou porta) decide qual especialista ou combinação de [especialistas](https://iol-corporation.jp) deve [processar](https://www.willbes.net) cada token de entrada. Este roteamento é feito de forma dinâmica e aprendida, [não através](http://optx.dscloud.me32779) de regras fixas.<br>
|
||||
<br>Para entender melhor, podemos fazer uma analogia com um [healthcare](http://everestfreak.com) facility: Imagine um grande medical facility 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 choose quais especialistas devem atender o paciente. Alguns casos podem precisar de apenas um especialista, enquanto [outros podem](https://500hats.edublogs.org) [requerer](http://www.gmpbc.net) uma equipe de diferentes especialidades.<br>
|
||||
<br>No contexto do DeepSeek-R1, este [roteamento é](https://combinationbeauty.com) representado matematicamente pela função $G( x)$, que podemos entender como um [direcionador](http://bldtech.hu) 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 de carga. Um mecanismo que evita que alguns [especialistas fiquem](https://timebalkan.com) sobrecarregados enquanto outros ficam ociosos. Para entender este conceito, podemos voltar ao nosso healthcare facility:<br>
|
||||
<br>[Imagine](https://quidoo.in) que em um hospital, alguns médicos especialistas [começam](https://www.davaoorientalpolytechnicinstitute.com) a receber muito mais pacientes que outros. Por exemplo, um cardiologista está sempre ocupado, atendendo 80% dos pacientes, enquanto um neurologista mal recebe pacientes. Isso cria dois problemas: o cardiologista fica sobrecarregado, podendo causar atrasos e queda na qualidade do atendimento
|
||||
Reference in New Issue
Block a user