DeepSeek-V4.1-Flash-1017 GSQ+RCO GGUF: rode localmente com menos de 12 GB de VRAM
Autoria: Fahd Mirza · Assistir no YouTube
Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.
Idioma original: inglês
Vídeo original: DeepSeek-V4.1-Flash-1017 GSQ+RCO GGUF: Run Under 12GB VRAM Locally · Canal: Fahd Mirza · 08:21 · Assistir no YouTube
Tópicos: Avaliação e benchmarks de IA, Inferência e otimização de modelos, Modelos de IA, Modelos locais e open source
O vídeo demonstra o DeepSeek V4.1 Flash quantizado em GGUF gerando uma animação em HTML e rodando localmente com menos de 12 GB de VRAM usando llama.cpp. O apresentador explica como a quantização reduz o tamanho do modelo e descreve o papel complementar de RCO, que distribui os bits conforme a sensibilidade das partes do modelo, e de GSQ, que melhora o arredondamento dos pesos. Também mostra resultados de benchmarks e um teste multilíngue com mais de 80 idiomas. Por fim, indica onde encontrar mais informações e menciona uma newsletter semanal gratuita.
Pontos-chave
Seção intitulada “Pontos-chave”- O modelo é executado localmente com menos de 12 GB de VRAM usando llama.cpp.
- A quantização reduz o tamanho dos pesos ao representá-los com menos bits, com possível perda de precisão.
- RCO distribui o orçamento de tamanho entre as partes do modelo conforme a sensibilidade delas.
- GSQ avalia diferentes opções de quantização para escolher como arredondar cada peso.
- Segundo a tabela apresentada, a versão de dois bits se aproxima das pontuações do modelo original em alguns benchmarks.
- A demonstração inclui uma animação gerada como um único arquivo HTML, sem bibliotecas.
- O apresentador mostra um teste de geração de nomes para um canal de documentários sobre animais em mais de 80 idiomas.
Capítulos
Seção intitulada “Capítulos”| Início | Capítulo | Resumo |
|---|---|---|
| 00:01 | Demonstração e execução local | O apresentador mostra uma animação gerada por um único prompt e apresenta o modelo rodando com menos de 12 GB de VRAM. |
| 02:36 | Quantização e RCO | O vídeo explica a redução dos bits dos pesos e como RCO distribui o orçamento conforme a sensibilidade das partes do modelo. |
| 05:45 | Como GSQ e RCO trabalham juntos | O apresentador resume como RCO escolhe a distribuição dos bits e GSQ determina o arredondamento dos pesos. |
| 07:51 | Próximos testes e recursos | O apresentador encerra explicando o objetivo do vídeo e menciona a newsletter semanal e as formas de acompanhar o canal. |
Citações
Seção intitulada “Citações”Criei isso usando apenas este prompt na tela. — 00:31
As partes sensíveis recebem mais bits; as tolerantes, menos. — 04:10
RCO decide onde gastar os bits, e GSQ decide como arredondar cada um. — 05:45
Ele tentou captar as nuances e a cultura também. — 07:20
Conceitos e entidades
Seção intitulada “Conceitos e entidades”- DeepSeek V4.1 Flash (modelo): Modelo apresentado em uma versão quantizada que o vídeo demonstra rodando localmente.
- GSQ (conceito): Método descrito no vídeo que mantém opções de quantização em avaliação para aprender a melhor escolha de arredondamento dos pesos.
- RCO (conceito): Método que distribui o orçamento de tamanho do modelo entre as camadas e os tensores conforme a perda observada.
- GGUF (conceito): Formato de arquivo usado no vídeo para armazenar os pesos comprimidos do modelo.
- llama.cpp (ferramenta): Ferramenta usada para executar localmente o modelo demonstrado.
- Fahd Mirza (pessoa): Apresentador do vídeo e criador do canal indicado na fonte.
Tradução completa (pt-BR)
Seção intitulada “Tradução completa (pt-BR)”00:01 Esta é uma cerimônia Sema de dervixes rodopiantes. Ela começa girando devagar, depois acelera, e a saia branca se abre, formando um disco largo. Há um chapéu alto, uma palma da mão voltada para cima e a outra para baixo, ondulações no tecido e uma sombra suave sobre um piso de madeira. Tudo isso é um único arquivo HTML desenhado em um canvas, sem biblioteca alguma. E não usei nenhuma
00:31 ferramenta externa aqui. Dá para ver como isso ficou legal. Você pode até pausá-la. Criei tudo apenas com este único prompt que está na tela. O modelo está rodando localmente, e esse modelo é o DeepSeek, como você pode ver aqui, com 763 bilhões de parâmetros, mas rodando localmente com menos de 12 GB de VRAM. Também posso mostrar isso. Este é o consumo de VRAM no momento, e estou
01:02 rodando-o com llama.cpp. Se quiser rodá-lo como eu estou fazendo, estes são todos os comandos que você precisa seguir para instalar o starta e depois iniciá-lo com o starta. Já expliquei os detalhes em outro vídeo meu. Voltando a este modelo, este é o DeepSeek V4.1 Flash, mas em uma versão quantizada que vem deste laboratório independente na Áustria. Já falamos de vários modelos desse laboratório.
01:33 O modelo original é um modelo de mistura de especialistas com cerca de 1.763 bilhões de parâmetros. Cada camada tem 384 especialistas, mas apenas seis deles são usados para cada token, e a context window tem um milhão de tokens. A maior parte do tamanho está nesses especialistas, o que o torna especialmente adequado para compressão. Essa equipe lançou versões de três bits com aproximadamente 1,75, 2 e 2,25 bits por peso, todas como
02:05 arquivos GGUF padrão, que você também pode conferir na seção de arquivos deles. Agora, por que fiz este vídeo? Porque, como você sabe, dá para rodá-lo com menos de 12 GB, como estou fazendo. Além disso, esta tabela de benchmark é muito, muito boa. Você pode ver que, nos benchmarks Emmy 25 GPQ, Diamond e Life Code, a versão de dois bits iguala a pontuação do modelo original. E a verdadeira questão é: como reduzir tanto um modelo desse tamanho e perder tão pouca
02:36 qualidade, como você acabou de ver nesta Sema, que, eu acho, é a melhor coisa que vi ser gerada por um modelo em muito, muito tempo. Então, a resposta para a pergunta sobre como isso aconteceu é que dois métodos trabalham juntos: GSQ e RCO. Vou explicá-los da forma mais simples possível. Dê uma olhada nesta imagem. Esta é a representação mais simples. Um modelo é composto por bilhões de números
03:08 chamados pesos. Em um modelo típico, cada um é armazenado com 16 bits. Isso proporciona alta precisão, mas gera um arquivo enorme. A quantização armazena cada número com muito menos bits; aqui, estamos falando de dois a quatro. O arquivo fica muito menor, e o preço disso é alguma perda de precisão, certo? Porque agora cada número é uma aproximação. Os lançamentos oficiais do DeepSeek já são menores que a versão de 16 bits: usam 8 bits nas partes densas e 4 bits nos especialistas, e estes
03:38 arquivos GGUF reduzem tudo para cerca de dois bits. GGUF é simplesmente o formato de arquivo que contém esses números comprimidos. Agora que esclarecemos isso, vamos dar uma olhada no RCO. Há um porém nessa redução que acabei de descrever. Se você der o mesmo número de bits a cada peso, estará tratando todas as partes do modelo como igualmente importantes, mas elas não são. Algumas camadas são sensíveis, e um pequeno erro nelas prejudica muito a saída. Outras são tolerantes, e você pode comprimi-las bastante sem que
04:10 ninguém perceba. Portanto, a decisão mais inteligente é definir primeiro um orçamento total de tamanho e depois decidir quanto cada parte recebe. As partes sensíveis recebem mais bits, as tolerantes recebem menos, e a soma dá exatamente o tamanho desejado. Essa é a ideia por trás do RCO. Neste modelo, a parte densa escolhe entre tipos de precisão mais alta, enquanto os especialistas escolhem entre tipos de aproximadamente um a três bits. O melhor de tudo é que o RCO atinge exatamente o orçamento e faz suas
04:40 escolhas analisando a perda real do modelo, em vez de fazer suposições. E agora vamos dar uma olhada rápida no GSQ. Se você ampliar a imagem para ver apenas um peso, mesmo depois de decidir quantos bits ele terá, ainda será preciso arredondá-lo para um dos poucos valores permitidos. Nesta imagem, as opções são -2, -1, 0 e 1, que é como funciona uma grade de dois bits. O jeito simples é arredondar para o valor mais próximo, mas essa nem sempre é a melhor escolha para o modelo.
05:12 O GSQ faz algo muito mais inteligente. Ele começa com uma estimativa sólida do GPTQ e, em seguida, mantém todas as opções abertas ao mesmo tempo, avaliando cada uma conforme o quanto se ajusta. Enquanto treina, ele vai refinando essa estimativa aos poucos, como se girasse um botão, até que uma opção prevaleça. Essa é a ideia do Gumbel Softmax no nome, ou GSQ. Então, é uma forma de tornar uma escolha definitiva passível de aprendizado, certo? O resultado é mais precisão. Agora, veja como eles trabalham juntos.
05:45 O RCO atua no modelo inteiro e distribui o orçamento de tamanho entre as camadas, para que os bits sejam destinados onde são necessários. O GSQ atua em um único peso e garante que ele seja arredondado corretamente. O RCO decide onde gastar os bits, e o GSQ decide como arredondar cada um. Este é, sabe, o jeito mais fácil e simples de entender. Primeiro, o GSQ quantiza cada tensor em cada tipo candidato para criar um banco de opções; depois, o RCO pesquisa esse banco e escolhe um
06:16 tipo por tensor para atingir o orçamento e, por fim, a seleção é reunida em um único arquivo GGUF padrão, que acabei de mostrar aqui antes, no cartão do modelo. Agora, você já viu este modelo em ação, criando este cenário e mostrando como ficou bom. Deixe-me mostrar outro exemplo. O que fiz foi um teste multilíngue: pedi que ele gerasse o melhor nome possível para um canal de TV dedicado a documentários sobre animais
06:49 em cada idioma, e então dei a ele mais de 80 idiomas. Já conferi as respostas. Esta é uma resposta de nível mundial, sem perda nem alucinação, mas confira também o seu idioma e me diga nos comentários o que acha: o nome do canal está correto ou não? Os que conferi parecem muito bons. Sim, há pequenos erros aqui e ali nos idiomas com poucos recursos. Nada é perfeito, mas, ainda assim, o resultado foi muito bom. Então, vou rolar a página,
07:20 e você pode ver que, mesmo nos idiomas regionais, não parece que ele tenha recorrido a uma tradução simples. Ele também tentou captar as nuances e a cultura. Então, me diga nos comentários o que você acha. Se tiver interesse em aprender mais sobre a mecânica e o funcionamento interno do GSQ e do RCO, você pode conferir o repo deles no GitHub ou simplesmente pesquisar no meu canal. Já fizemos muitos vídeos sobre isso. Vou fazer outro vídeo em que faremos mais testes com ele em várias áreas, como sempre fazemos,
07:51 mas o objetivo deste vídeo era apenas explicar esses conceitos com um pouco mais de detalhes, porque há muita confusão em torno deles. Então, espero que você tenha conseguido entender tudo da forma mais simples possível. E, se ainda tiver alguma dúvida, é só me dizer nos comentários. Terei prazer em responder. Além disso, comecei recentemente esta newsletter semanal gratuita sobre IA, na qual você pode se inscrever em fahadmiza.substack.com. Se quiser ajudar o canal,
08:21 torne-se membro. Obrigado por todo o apoio.
Transcrição original
[00:01] This is Sema ceremony of whirling dervish. It starts out turning slowly, then speeds up, and the white skirt flares out into a wide disk. There is this tall hat, one palm up and one palm down, ripples running through the fabric, and a soft shadow on a wooden floor. All of it is a single HTML file drawn on a canvas with no libraries whatsoever. And I didn’t use any
[00:31] external tool here. You can see that how cool that looks. You can even pause it. I created it just from this single prompt on your screen. The model is running locally, and that model is this DeepSeek, as you can see here with 763 billion parameters, but running locally under 12 GB of VRAM. I can also show you that. This is my VRAM consumption at the moment, and I’m
[01:02] running it with llama.cpp. If you want to run it like I’m doing, these are all the commands which you need to follow to install starta, and then launch it with starta. I already have covered the detail in my another video. Coming back to this model, this is DeepSeek V4.1 flash, but in a quantized version coming from this external lab in Austria. We already have covered various models from this lab.
[01:33] The original is a mixture of expert model with about 1763 billion parameters. Every layer has 384 experts, but only six of them are used for each token, and the context window is a million tokens. Most of the size sits inside these expert, which is exactly this is so suitable for compression. This team released three bits at roughly 1.75, 2, and 2.25 bits per weight all as
[02:05] standard GGIF file, which you can also check out in their files section. Now, why I made this video once, you know, you can run it under 12 GB like I’m running. Plus, this benchmark table is so so good. You can see that Emmy 25 GPQ and Diamond and Life Code bench that two-bit build matches the original model score. And the real question is how you squeeze a model this big down and lose so little
[02:36] as you just saw in this Seema the wish, which is, I think, is the best best stuff I have seen in a long long time generated by a model. So, the answer to that question is how did that happen is that two methods working together, GSQ and RCO. Let me explain them in as simple words as possible. Have a look at this image. So, this is the simplest picture here. A model is made up of billions of numbers
[03:08] called weights. In a typical model, each one is stored with 16 bits. That gives you high accuracy but a huge file. Quantization stores each number with far fewer bits and here we are talking about two to four. The file gets much smaller and the price is some lost accuracy, right? Because every number is now an approximation. Deep 6 own releases already smaller than 16-bit with 8-bit for the dense parts and the four bits for experts and these
[03:38] GGIF push it down to around two bits. GGIF is simply the file format that holds these compressed numbers. Now, that out of the way, let’s have a look at RCO. There is a catch with this squeezing which I just described. If you give every weight the same number of bits, you are treating every part of the model as equally important and it isn’t. Some layers are sensitive and a small error there hurts the output badly. Others are tolerant and you can crush them hard and
[04:10] nobody notices. So the smarter move is to set a total size budget first and then decide who gets what. Sensitive parts get more bits, tolerant parts get fewer and everything adds up to exactly the target size. That’s the idea behind RCO. In this model, the dense part chooses from higher precision types while the expert choose from types between roughly one and three bit. The really good part is that RCO hits the budget exactly and it makes its
[04:40] choices by looking at the model’s real loss not by guessing. And then have a quick look at this GSQ. So if you zoom into only single weight, once you have decided how many bits it gets, you still have to round it to one of a few allowed values. In this picture, the options are -2, -1, 0 and 1 which is what a two-bit grid looks like. The simple way is to snap to the nearest one but that’s not always the best choice for the model.
[05:12] GSQ does something way smarter. It starts from a solid GPTQ guess then keeps all the options open at once scoring each one by how well it fits. As it trains, it slowly sharpens that guess like turning a dial until one option wins. That is the Gumbel Softmax idea in the name or GSQ. So this is a way to make a hard choice learnable, right? The result is accuracy. Now how they work together.
[05:45] RCO works on the whole model and spends the size budget across the layers so bits go where they are needed. GSQ works on a single weight and makes sure it’s rounded well. RCO decides where to spend the bits and GSQ decides how to round each one. This is the, you know, easiest and simplest way you can understand that. So, GSQ first quantizes every tensor at every candidate type to a build a database options, and then RCO searches that database and picks one
[06:16] type per tensor to hit the budget, and finally the pick gets stitched into one standard GGUE file, which I just showed you earlier here in this model card. Now, you already have seen this model in action where it created this schema and how good that looks. Let me show you another example where what I have done is I have done this multilingual test where I asked it to generate the best possible name for a TV channel focused on animal
[06:49] documentaries in each and every language, and then I gave it this 80+ languages. Now, I have already checked it. This is one world-class response without any loss, without any hallucination, but also check your language and let me know in the comments what do you think that the name of channel is correct or not. The ones which I have checked, they look really good. Yes, there are slight misses here and there for the low-resource language. Nothing is perfect, but again, it has done quite good. So, I’m just going to scroll down,
[07:20] and you can see that even for the regional languages, it doesn’t really look that it has gone with simple translation. It has tried the nuance and culture there too. So, let me know in the comments what do you think. If you’re interested in learning more about the mechanics and inners of these GSQ and um RCO, you can check out their GitHub repo or just search my channel. We have done heaps of videos around there. I will be doing another video where we will be doing more tests around it um
[07:51] from various domains as we always do, but the purpose of this video was just to explain these concepts in bit more detail because there’s a lot of confusion around them. So, hopefully, you were able to understand this in as simple words as possible. And if you have got the question still, just let me know in the comments and happy to answer those. Also, recently I have started this free weekly AI newsletter, which you can subscribe at fahadmiza.substack.com. If you want to help out the channel,
[08:21] please become a member. Thank you for all the support.