1 pontos por GN⁺ 2 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • O Kimi K3, da Moonshot AI, é um modelo de pesos abertos com 2,8T de parâmetros totais e 104B ativos, visão nativa e contexto de 1 milhão de tokens; a Unsloth fornece quantizações GGUF para execução local
  • A inferência em precisão completa exige 1,56 TB, mas o Dynamic 1-bit UD-IQ1_S registra cerca de 78,9% de acurácia Top-1 em 594 GB, enquanto o UD-Q2_K_XL de 2 bits, com 861,3 GB, registra cerca de 90%
  • O Kimi K3 é um modelo thinking-only, que mantém rastros de raciocínio, não oferece modo Instant; permite escolher "low", "high"", "max" via reasoning_effort e processa até 1.048.576 tokens
  • O Unsloth Studio automatiza offloading para RAM e detecção de múltiplas GPUs; para executar o llama.cpp com recursos de visão é necessário o fork da Unsloth para o Kimi K3
  • A execução recomendada de UD-IQ1_S requer no mínimo 610 GB de RAM e, em geral, é preciso garantir RAM+VRAM equivalente ao tamanho do arquivo quantizado; se não houver memória suficiente, o offloading para disco deixa tudo muito mais lento

Características do modelo e requisitos para execução local

  • O Kimi K3, da Moonshot AI, é um modelo de pesos abertos com 2,8T de parâmetros voltado a programação, agentes, contexto longo e chat, ativando 104B de parâmetros durante a inferência
  • Suporta visão nativa e janela de contexto de 1 milhão de tokens, usando MXFP4 nos pesos MoE
  • A inferência em precisão completa requer 1,56 TB de armazenamento
  • Kimi-K3-GGUF pode ser executado no Unsloth Studio ou no llama.cpp
  • Também pode rodar em uma NVIDIA DGX Station ou em um Mac Studio conectado a um dispositivo com 128 GB de RAM
  • Os requisitos de hardware são calculados como a soma de RAM e VRAM, ou memória unificada, com configurações na faixa de 610 GB a 1,6 TB

Implementação GGUF

  • A implementação é baseada no PR do llama.cpp, e o fork da Unsloth adiciona suporte a visão e correções de bugs
  • A torre de visão é semelhante à do Kimi K2.5, mas com as seguintes diferenças
    • Usa RMSNorm e não tem bias
    • O QKV fundido não é quadrado, com qkv width != n_embd
    • Aplica normalização após o projector
  • Em batches grandes, o orçamento n_tokens * 40 falhava, então foi aumentado para n_tokens * 160
  • O template de chat do Kimi foi convertido para o formato Jinja
  • Como a configuração padrão de treinamento ativa preserved thinking, os rastros de raciocínio são mantidos em vez de removidos

Métodos de quantização e qualidade

  • UD-Q8_K_XL segue exatamente a configuração de MXFP4 nos pesos MoE e BF16 nos demais pesos, portanto corresponde a uma quantização sem perdas
  • UD-Q4_K_XL armazena alguns tensores residuais, exceto tensores de normalização etc., em Q8_0; é próximo da precisão completa e tem tamanho de 1,51 TB
  • O UD-Q8_K_XL sem perdas tem 1,56 TB, 50 GB maior que o UD-Q4_K_XL
  • Os principais resultados de quantização são os seguintes
    • UD-IQ1_S: 594,0 GB, perplexity 2,5789, acurácia Top-1 78,875±0,107%
    • UD-IQ1_M: 648,9 GB, perplexity 2,3639, acurácia Top-1 81,219±0,103%
    • UD-IQ2_XXS: 711,1 GB, perplexity 2,1266, acurácia Top-1 84,127±0,096%
    • UD-Q2_K_XL: 861,3 GB, perplexity 1,7359, acurácia Top-1 90,390±0,077%
    • UD-Q4_K_XL: 1.510 GB, perplexity 1,4579
    • UD-Q8_K_XL: 1.560 GB, perplexity 1,4581
  • A geração de imatrix e a calibração da quantização usam o UD-Q8_K_XL sem perdas de 1,56 TB
  • O Dynamic 1-bit é 62% menor que a versão sem perdas e alcança cerca de 79% de acurácia Top-1
  • O UD-Q2_K_XL de 2 bits é 45% menor e registra cerca de 90% de acurácia
  • O tamanho em 1 bit é 553,2 GiB, e ainda está sendo investigado se é possível reduzir para menos de 512 GiB sem degradar o modelo
  • Comparação com quantizações da comunidade

    • O IQ1_M comunitário de 618,9 GB é maior que o UD-IQ1_S de 594 GB, mas a perplexity sobe para 54,56, ficando 21 vezes pior
    • O IQ2_XXS comunitário registrou perplexity 96 em 725 GB, enquanto a versão da Unsloth registrou 2,12 em 711 GB, uma diferença de cerca de 45 vezes
    • A quantização dinâmica e a calibração adequada determinam conjuntamente o tamanho do arquivo e a qualidade

Configuração de inferência e desempenho

  • O Kimi K3 é um modelo thinking-only, com preserve_thinking sempre ativado e nível padrão de raciocínio em max
  • O modo Instant não é suportado, e é possível especificar "low", "high", "max" no campo de requisição reasoning_effort
  • O comprimento de contexto é de até 1.048.576 tokens, e a Unsloth permite alternar entre os três níveis de raciocínio
  • As configurações de inferência incluem temperature=1.0, top_p=0.95 ou top_p=1.0
  • Quando o modelo cabe na memória, é possível obter no B200 cerca de 20 tokens/s na geração e throughput acima de 120 tokens/s
  • Considerando o equilíbrio entre tamanho e qualidade, recomenda-se o UD-IQ1_S de 594 GB
  • A soma de RAM e VRAM deve ser semelhante ao tamanho do arquivo quantizado; mesmo com memória insuficiente a execução é possível, mas fica muito mais lenta por causa do offloading para disco

Executando no Unsloth Studio

  • O Unsloth Studio é uma interface web open source para IA local, com suporte a macOS, Windows e Linux
  • Permite buscar, baixar e executar modelos GGUF e safetensors, oferecendo inferência CPU+GPU baseada em llama.cpp
  • Detecta automaticamente offloading para RAM e configurações com múltiplas GPUs
  • Os comandos de instalação e execução são os seguintes
# macOS, Linux, WSL
curl -fsSL https://unsloth.ai/install.sh | sh


# Windows PowerShell
irm https://unsloth.ai/install.ps1 | iex

unsloth studio
  • Após executar, abra no navegador http://127.0.0.1:8888 ou o endereço exibido; na primeira execução, crie uma senha para proteção da conta
  • Também há suporte à execução via HTTPS por meio de um túnel gratuito da Cloudflare
unsloth studio --secure
  • No Model hub, pesquise por Kimi K3, baixe a quantização desejada e execute
  • Os parâmetros de inferência são configurados automaticamente, mas é possível alterar manualmente o nível de raciocínio, o comprimento de contexto, o template de chat etc.
  • As configurações detalhadas podem ser consultadas no guia de inferência do Unsloth Studio

Executando no llama.cpp

  • Para inferência local rápida, incluindo CPU, use o llama.cpp
  • Para ativar a visão do Kimi K3, é preciso compilar o fork específico da Unsloth, não a versão genérica
git clone https://github.com/unslothai/llama.cpp
cd llama.cpp
git fetch origin pull/48/head:kimi-k3-fullsize-vision
git checkout kimi-k3-fullsize-vision
cd ..
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j --clean-first \
    --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
  • Se não houver GPU, ou se for usar apenas inferência por CPU, altere para -DGGML_CUDA=OFF
  • Dispositivos Apple Mac e Metal também usam -DGGML_CUDA=OFF, e o suporte a Metal é ativado por padrão
  • É possível fazer o llama.cpp baixar e executar o modelo diretamente, mas o download pode ser muito lento
export LLAMA_CACHE="unsloth/Kimi-K3-GGUF"
./llama.cpp/llama-cli \
    -hf unsloth/Kimi-K3-GGUF:UD-IQ1_S \
    --temp 1.0 \
    --top-p 0.95
hf download unsloth/Kimi-K3-GGUF \
    --local-dir unsloth/Kimi-K3-GGUF \
    --include "*mmproj-BF16*" \
    --include "*UD-IQ1_S*"
  • Se precisar da versão sem perdas, altere o padrão de download para *UD-Q8_K_XL*
  • É possível executar em modo de conversa especificando o arquivo local e o projector de visão
./llama.cpp/llama-cli \
    --model unsloth/Kimi-K3-GGUF/UD-IQ1_S/Kimi-K3-UD-IQ1_S-00001-of-00014.gguf \
    --mmproj unsloth/Kimi-K3-GGUF/mmproj-BF16.gguf \
    --temp 1.0 \
    --top-p 0.95
  • Além de consultas de texto, também há suporte a entrada de imagens usando mmproj-BF16.gguf

Escopo dos benchmarks

  • A avaliação inclui raciocínio e conhecimento, programação, agentes e visão
  • Os benchmarks usados são GPQA Diamond, HLE-Full, DeepSWE, Terminal-Bench 2.1, BrowseComp, GDPval-AA v2, OSWorld 2.0, MMMU-Pro e MathVision
  • Nos resultados do DeepSWE, o Kimi K3 demonstra desempenho eficiente

1 comentários

 
plumpmath 7 분 전

Depois de rodar aqui, achei boooom demais~ agora só falta o tangjjamyeon & dakkang