1 puntos por GN⁺ 2 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Kimi K3 de Moonshot AI es un modelo de pesos abiertos con 2.8T de parámetros totales, 104B activos, visión nativa y contexto de 1 millón de tokens; Unsloth ofrece cuantizaciones GGUF para ejecución local
  • La inferencia en precisión completa requiere 1.56TB, pero Dynamic 1-bit UD-IQ1_S logra cerca de 78.9% de precisión Top-1 con 594GB, y el modelo de 2 bits UD-Q2_K_XL de 861.3GB alcanza cerca de 90%
  • Kimi K3 es un modelo solo de thinking que conserva el rastro de razonamiento, no admite modo Instant, permite elegir "low", "high", "max" con reasoning_effort y procesa hasta 1,048,576 tokens
  • Unsloth Studio automatiza el offloading a RAM y la detección de múltiples GPU, y para ejecutar llama.cpp con funciones de visión se necesita el fork de Unsloth para Kimi K3
  • La ejecución recomendada de UD-IQ1_S requiere al menos 610GB de RAM y, en general, conviene tener RAM+VRAM equivalentes al tamaño del archivo cuantizado; si no alcanza, el offloading a disco lo vuelve mucho más lento

Características del modelo y requisitos para ejecución local

  • Kimi K3 de Moonshot AI es un modelo de pesos abiertos de 2.8T de parámetros orientado a coding, agentes, contexto largo y chat, y activa 104B parámetros durante la inferencia
  • Soporta visión nativa y una ventana de contexto de 1 millón de tokens, y usa MXFP4 en los pesos MoE
  • La inferencia en precisión completa requiere 1.56TB de almacenamiento
  • Kimi-K3-GGUF puede ejecutarse en Unsloth Studio o en llama.cpp
  • También puede ejecutarse en una NVIDIA DGX Station o en una Mac Studio conectada a un dispositivo con 128GB de RAM
  • Los requisitos de hardware se calculan como la suma de RAM y VRAM o memoria unificada, con configuraciones entre 610GB y 1.6TB

Método de implementación GGUF

  • Se implementó sobre llama.cpp PR, y el fork de Unsloth agrega soporte de visión y correcciones de errores
  • La torre de visión es similar a la de Kimi K2.5, pero con estas diferencias
    • Usa RMSNorm y no tiene bias
    • El QKV fusionado no es cuadrado y qkv width != n_embd
    • Aplica normalización después del projector
  • En lotes grandes, el presupuesto n_tokens * 40 fallaba, así que se aumentó a n_tokens * 160
  • La plantilla de chat de Kimi se convirtió a formato Jinja
  • Como la configuración de entrenamiento predeterminada activa preserved thinking, el rastro de razonamiento se mantiene sin eliminarse

Método de cuantización y calidad

  • UD-Q8_K_XL conserva la configuración original de MXFP4 para los pesos MoE y BF16 para el resto, por lo que corresponde a una cuantización sin pérdida
  • UD-Q4_K_XL guarda algunos tensores residuales como los de normalización en Q8_0, salvo ciertas excepciones, y queda cerca de la precisión completa con un tamaño de 1.51TB
  • La versión sin pérdida UD-Q8_K_XL ocupa 1.56TB, 50GB más que UD-Q4_K_XL
  • Los principales resultados de cuantización son los siguientes
    • UD-IQ1_S: 594.0GB, perplexity 2.5789, precisión Top-1 de 78.875±0.107%
    • UD-IQ1_M: 648.9GB, perplexity 2.3639, precisión Top-1 de 81.219±0.103%
    • UD-IQ2_XXS: 711.1GB, perplexity 2.1266, precisión Top-1 de 84.127±0.096%
    • UD-Q2_K_XL: 861.3GB, perplexity 1.7359, precisión Top-1 de 90.390±0.077%
    • UD-Q4_K_XL: 1,510GB, perplexity 1.4579
    • UD-Q8_K_XL: 1,560GB, perplexity 1.4581
  • Para generar imatrix y calibrar la cuantización se usa la versión sin pérdida UD-Q8_K_XL de 1.56TB
  • Dynamic 1-bit es 62% más pequeño que la versión sin pérdida y aun así logra cerca de 79% de precisión Top-1
  • El UD-Q2_K_XL de 2 bits es 45% más pequeño y registra cerca de 90% de precisión
  • El tamaño de 1 bit es 553.2GiB, y se sigue investigando si puede bajarse de 512GiB sin dañar el modelo
  • Comparación con cuantizaciones de la comunidad

    • El IQ1_M de la comunidad, de 618.9GB, es más grande que UD-IQ1_S de 594GB, pero su perplexity sube a 54.56, lo que implica un deterioro 21 veces mayor
    • El IQ2_XXS de la comunidad registró perplexity 96 con 725GB, mientras que la versión de Unsloth logró 2.12 con 711GB, una diferencia de aproximadamente 45 veces
    • La cuantización dinámica y una calibración adecuada influyen tanto en el tamaño del archivo como en la calidad

Configuración de inferencia y rendimiento

  • Kimi K3 es un modelo solo de thinking, preserve_thinking siempre está activado y el nivel de razonamiento predeterminado es max
  • No admite modo Instant, y en el campo de solicitud reasoning_effort se puede indicar "low", "high", "max"
  • La longitud de contexto llega hasta 1,048,576 tokens, y en Unsloth se puede alternar entre los tres niveles de razonamiento
  • La configuración de inferencia incluye temperature=1.0, top_p=0.95 o top_p=1.0
  • Una vez que el modelo cabe en memoria, puede generar cerca de 20 tokens/s en B200, con un throughput superior a 120 tokens/s
  • Por el equilibrio entre tamaño y calidad, se recomienda el UD-IQ1_S de 594GB
  • La suma de RAM y VRAM debería acercarse al tamaño del archivo cuantizado; si no alcanza, todavía puede ejecutarse, pero el offloading a disco lo vuelve mucho más lento

Ejecución en Unsloth Studio

  • Unsloth Studio es una web UI open source para IA local compatible con macOS, Windows y Linux
  • Permite buscar, descargar y ejecutar modelos GGUF y safetensors, y ofrece inferencia CPU+GPU basada en llama.cpp
  • Detecta automáticamente el offloading a RAM y configuraciones con múltiples GPU
  • Los comandos de instalación y ejecución son los siguientes
# macOS, Linux, WSL
curl -fsSL https://unsloth.ai/install.sh | sh


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

unsloth studio
  • Después de iniciarlo, se abre http://127.0.0.1:8888 o la dirección mostrada en el navegador, y en la primera ejecución se crea una contraseña para proteger la cuenta
  • También soporta ejecución por HTTPS mediante un túnel gratuito de Cloudflare
unsloth studio --secure
  • En el Model hub, busca Kimi K3, descarga la cuantización deseada y ejecútala
  • Los parámetros de inferencia se configuran automáticamente, pero el nivel de razonamiento, la longitud de contexto y la plantilla de chat pueden ajustarse manualmente
  • Los detalles se pueden consultar en la guía de inferencia de Unsloth Studio

Ejecución en llama.cpp

  • Para inferencia local rápida, incluyendo CPU, se usa llama.cpp
  • Para activar la visión de Kimi K3, hay que compilar el fork específico de Unsloth en lugar de la versión general
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
  • Si no hay GPU o solo se usará inferencia por CPU, cambia a -DGGML_CUDA=OFF
  • En equipos Apple Mac y dispositivos Metal también se usa -DGGML_CUDA=OFF, y el soporte para Metal viene activado por defecto
  • Se puede hacer que llama.cpp descargue y ejecute el modelo directamente, aunque la descarga puede ser muy lenta
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*"
  • Si necesitas la versión sin pérdida, cambia el patrón de descarga a *UD-Q8_K_XL*
  • Se puede ejecutar en modo conversación especificando el archivo local y el projector de visión
./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
  • Además de consultas de texto, también admite entrada de imágenes usando mmproj-BF16.gguf

Alcance de los benchmarks

  • La evaluación cubre inferencia y conocimiento, coding, agentes y visión
  • Los benchmarks usados son GPQA Diamond, HLE-Full, DeepSWE, Terminal-Bench 2.1, BrowseComp, GDPval-AA v2, OSWorld 2.0, MMMU-Pro, MathVision
  • En los resultados de DeepSWE, Kimi K3 mostró un rendimiento eficiente

1 comentarios

 
plumpmath 27 분 전

Lo probé y está buenííísimo~ Ahora solo faltan tangjjamyeon y takang~