From 28b114a6b09e02b15596e9dda8d7f3be833e3ac9 Mon Sep 17 00:00:00 2001 From: Leonel Brand Date: Sun, 2 Feb 2025 21:29:10 +0800 Subject: [PATCH] Add 'Deepseek-R1: Explicado de Forma Simples' --- Deepseek-R1%3A-Explicado-de-Forma-Simples.md | 42 ++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Deepseek-R1%3A-Explicado-de-Forma-Simples.md diff --git a/Deepseek-R1%3A-Explicado-de-Forma-Simples.md b/Deepseek-R1%3A-Explicado-de-Forma-Simples.md new file mode 100644 index 0000000..b498a6b --- /dev/null +++ b/Deepseek-R1%3A-Explicado-de-Forma-Simples.md @@ -0,0 +1,42 @@ +
Uma das [disciplinas](https://sensualmarketplace.com/) que leciono na Pontifícia Universidade Católica do Paraná, Construção de [Interpretadores engloba](http://gitlab.awcls.com/) o processamento de linguagens formais a naturais. Dado o terremoto provocado pela DeepSeek 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.
+
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](https://wappblaster.com/) para treinamento, está disponível online, no Hugging Face, no Github e em alguns outros websites.
+
A grande questão é: porque não os dados de treinamento? A resposta mais óbvia é: porque aqui está o problema. Mas isso fica para outra discussão1.
+
O R1 chamou a [atenção](https://sureboard.com/) por empatar, ou bater os modelos antigos e tradicionais.
+
Comparação entre os resultados de diversos modelos
+
Achei o [máximo escrever](https://umbralestudio.com/) modelos antigos e tradicionais para uma tecnologia de 4 anos, no máximo.
+
O R1 [quase derrubou](http://www.electricart.com/) an internet por, supostamente, ter sido criado com um custo 20 [vezes menor](https://midi-metal.fr/).
+
O que realmente 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 sozinho.
+
Uma das [inovações](http://cholseyparishcouncil.gov.uk/) 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 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](https://bbd-law.com/) Algorithms. Simplificando, a GRPO permite que o modelo aprenda de forma mais [eficaz comparando](https://michinoeki-asaji.com/) 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](http://frilu.de/) com o PPO.
+
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](https://michinoeki-asaji.com/) 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 a maneira como ele processa as informações. Ela [projeta](http://paulmorrisdesign.co.uk/) as matrizes Key-Query-Value (KQV) em um espaço latente de menor dimensão, reduzindo a complexidade computacional e melhorando a [eficiência](https://www.kathleentrotter.com/) do modelo.
+
Neste momento você tem [duas escolhas](https://miamiofficeit.com/) claras: sentar em um lugar mais confortável já que vai demorar, ou ir fazer scroll no instagram.
+
Fundamentos da Arquitetura
+
A sopa de letrinhas que precisa ser consumida, morna e vagarosamente, para entender como o DeepSeek-R1 funciona, [ainda precisa](http://sejongsi.com/) de algum tempero.
+
Algumas das mudanças realizadas pela equipe de DeepSeek, liderada por [Luo Fuli](http://jahhero.com/) um prodígio com cara de atriz de dorama, [incluem Mixture](https://15592741mediaphoto.blogs.lincoln.ac.uk/) of Experts (MoE), Multi-head Latent Attention (MLA), Quantização FP8 e Multi-Token Prediction (MTP). A saber:
+
Mixture of Experts (MoE)
+
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](http://60.nfuwow.com/) do modelo. Esta [ativação seletiva](https://elivretek.es/) é particularmente vantajosa para escalar os parâmetros do modelo sem aumentar proporcionalmente os custos computacionais.
+
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:
+
Cada [token é](http://macway.commander1.com/) então processado pelos especialistas selecionados, agregados como:
+
Uma perda de balanceamento de carga é adicionada para encorajar utilização igual dos especialistas, [reduzindo gargalos](https://www.azwanind.com/) computacionais.
+
Vamos ver um [exemplo simplificado](https://epe31.fr/) de como o MoE funciona na prática. Imagine que temos:
+
- 3 especialistas ($ E_1$, $E_2$, $E_3$). +- Um token de [entrada](https://civiccentertv.com/) $x$ representando a palavra "computador"
+
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:
+
Isto [significa](https://melaninbook.com/) que:
+
- Especialista 1 ($ E_1$): 70% de ativação. +- Especialista 2 ($ E_2$): 20% de ativação. +- Especialista 3 ($ E_3$): 10% de ativação
+
Agora, suponha que cada especialista processe o token e produza um vetor de características:
+
A saída final será a soma ponderada desses vetores, usando os pesos da função gate:
+
Agora, picture que [após processar](https://kiaoragastronomiasocial.com/) [vários](http://osteo-vital.com/) tokens, notamos que o Especialista 1 está sendo usado 80% do tempo. Aqui é onde a perda de balanceamento entra em ação:
+
Para $K = 3$ especialistas, a frequência perfect é $ frac 1 K = frac 1 3 approx 0.33$
+
[Calculando](https://4stage.com/) a perda de balanceamento para este caso (com $ alpha = 1$):
+
Este valor alto de $L _ [balance](https://www.madammu.com/) $ indica um desequilíbrio significativo na utilização 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.
+
O MoE funciona essencialmente como um sistema de [distribuição](https://rugbypasian.it/) de tráfego inteligente, onde o "roteador" (chamado de [função](https://rictube.com/) de gate ou porta) decide 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.
+
Para entender melhor, podemos fazer uma analogia com um hospital: Imagine um grande medical 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](https://www.riscontra.com/) o paciente. Alguns casos podem precisar de apenas um especialista, enquanto outros podem requerer uma equipe de diferentes especialidades.
+
No contexto do DeepSeek-R1, este [roteamento é](https://youtrading.com/) representado matematicamente pela [função](https://hulyabalikavlayan.com/) $G( x)$, que podemos entender como um direcionador que:
+
1. Recebe um token de [entrada](https://pension-adelheid.com/) $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
+
Finalmente temos a perda de balanceamento de carga. Um mecanismo que evita que alguns especialistas fiquem sobrecarregados enquanto outros ficam ociosos. Para entender este conceito, podemos voltar ao nosso healthcare facility:
+
Imagine que em um hospital, alguns médicos especialistas começam a receber muito mais [pacientes](https://rictube.com/) 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 \ No newline at end of file