commit
5112c8b608
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](http://ellunescierroelpico.com). Dado o terremoto provocado [pela DeepSeek](http://aobbekjaer.dk) 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](https://www.galex-group.com) 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 sites.<br> |
|||
<br>A grande questão é: porque não os dados de treinamento? A resposta mais óbvia é: porque aqui está o problema. Mas [isso fica](https://brightmindsbio.com) 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 a web por, supostamente, ter sido criado com um custo 20 vezes menor.<br> |
|||
<br>O que [realmente](https://premiosantarticos.com) me interessa, já que não tenho acesso aos dados, neste modelo é o uso de Reinforcement Learning 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 da humanidade será devido a Support Learning. Então, talvez, só talvez, a DeepSeek não me [deixe mentir](http://unimatrix01.digibase.ca) sozinho.<br> |
|||
<br>Uma das inovações do DeepSeek-R1 é a adoção da Group Robust Preference Optimization (GRPO), [introduzida](https://www.piadineriae45.it) no artigo DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open [Language Models](https://numama.ru) 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](https://kisem.org) por Schulman et al. em Proximal Policy Optimization Algorithms. Simplificando, a GRPO permite que o modelo aprenda de forma mais [eficaz comparando](http://businessdirectory.rudreshcorp.com) seu desempenho com o de outros modelos em um grupo, [otimizando suas](https://apartstudioqm.pl) 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](https://accelerate360canada.com) com o PPO.<br> |
|||
<br>Além da GRPO, o DeepSeek-R1 [incorpora](https://ok-net.com.ua) a Multi-head Latent Attention (MLA), uma técnica introduzida no DeepSeek-V3, que, [asteroidsathome.net](https://asteroidsathome.net/boinc/view_profile.php?userid=762651) 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 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 [simplificar](http://szlssl.com) a maneira como ele processa as informações. Ela projeta as [matrizes Key-Query-Value](http://art.krusev.com) (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](https://social.oneworldonesai.com) você tem duas escolhas claras: sentar em um lugar mais confortável já que vai demorar, [king-wifi.win](https://king-wifi.win/wiki/User:KSQArdis930265) ou ir fazer scroll no [instagram](http://vis.edu.in).<br> |
|||
<br>Fundamentos da Arquitetura<br> |
|||
<br>A sopa de letrinhas que [precisa](https://www.adhocactors.co.uk) ser consumida, morna e vagarosamente, para entender como o DeepSeek-R1 funciona, ainda precisa de algum tempero.<br> |
|||
<br>[Algumas](https://yourfoodcareer.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](https://www.dcnadiagroup.com) (MoE) ativa apenas um subconjunto dos parâmetros totais dentro de cada bloco Transformer, permitindo economias computacionais substanciais enquanto [preserva](http://jatek.ardoboz.hu) 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 gate de seleção de [especialistas é](http://8.140.229.2103000) [governada](http://dottorquaranta.altervista.org) por uma função de porta $G( x)$ que direciona tokens $x$ para especialistas $E_k$, [forum.pinoo.com.tr](http://forum.pinoo.com.tr/profile.php?id=1316887) definida como:<br> |
|||
<br>Cada [token é](https://www.hotelunitedpr.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 que temos:<br> |
|||
<br>- 3 especialistas ($ E_1$, $E_2$, $E_3$). |
|||
- Um token de [entrada](https://www.capital.gr) $x$ representando a palavra "computador"<br> |
|||
<br>Primeiro, o token passa pela função gate $G( x)$, que calcula um score para cada [especialista](http://square.la.coocan.jp). 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](https://smkignatius.sch.id). |
|||
[- Especialista](https://iglesia.org.pe) 2 ($ E_2$): 20% de ativação. |
|||
- Especialista 3 ($ E_3$): 10% de ativação<br> |
|||
<br>Agora, [suponha](http://pechniknovosib.ru) 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, envision que após processar vários tokens, notamos que o [Especialista](https://www.jr-it-services.de3000) 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 a perda de balanceamento para este caso (com $ alpha = 1$):<br> |
|||
<br>Este valor alto de $L _ [balance](https://mainnews.ro) $ indica um desequilíbrio significativo na [utilização](https://gitlab.alpinelinux.org) 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](https://www.textilartigas.com) de gate ou porta) decide qual especialista ou combinação de [especialistas](http://korenagakazuo.com) deve processar cada token de entrada. Este roteamento é feito de forma dinâmica e aprendida, não através de [regras fixas](https://newhorizonnetworks.com).<br> |
|||
<br>Para entender melhor, podemos fazer uma analogia com um health center: [Imagine](https://markekawamai.com) um grande healthcare facility 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 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 é 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](https://www.iassw-aiets.org). |
|||
4. [Direciona](https://mmcars.es) o token para os especialistas mais apropriados<br> |
|||
<br>Finalmente temos a perda de [balanceamento](https://www.pollinihome.it) de carga. Um mecanismo que evita que alguns especialistas fiquem sobrecarregados enquanto outros ficam ociosos. Para [entender](https://www.ixiaowen.net) este conceito, podemos voltar ao nosso health center:<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](http://cmpo.cat) mal recebe pacientes. Isso cria dois problemas: o cardiologista fica sobrecarregado, podendo causar atrasos e queda na qualidade do atendimento |
Write
Preview
Loading…
Cancel
Save
Reference in new issue