Обновить

Комментарии 14

Для Gpt-OSS 120b - ~64Гб это и есть нативный размер, её тренировали в mxfp4, емнип.

примерно пару часов назад, какие-то добрые люди собрали лламуцпп для qwen3vl
https://www.reddit.com/r/LocalLLaMA/comments/1nyhjbc/qwen3vl30ba3bthinking_gguf_with_llamacpp_patch_to/

и даже выложили много красивых бинарников для этого.
https://github.com/Thireus/llama.cpp/releases/tag/tr-qwen3-vl-b6906-26dd953

Спасибо им за это.

Добавлю!
GGUF для Thinking и mmproj брал здесь https://huggingface.co/yairpatch/Qwen3-VL-30B-A3B-Thinking-GGUF
Instruct модель здесь https://huggingface.co/yairpatch/Qwen3-VL-30B-A3B-Instruct-GGUF
на Radeon RX 7900 XTX (24Gb) очень бодро летает. даже с несколькими изображениями.

Я использовал 4х-битный квант - MXFP4 (63.4GB)

а как вы её запускаете?

У меня 2 карточки:

  • RTX 4090D 48GB

  • RTX 3090 24GB

Запускаю вот так:

services:
  llama-server:
    image: ghcr.io/ggml-org/llama.cpp:full-cuda
    container_name: gpt-120b
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              capabilities: [gpu]
    ports:
      - "36000:36000"
    volumes:
      - /home/slavik/.cache:/root/.cache
    entrypoint: ["./llama-server"]
    command: >
      --hf-repo ggml-org/gpt-oss-120b-GGUF
      --alias "local-gpt120b"
      --host 0.0.0.0  --port 36000
      --ctx-size 131072
      --jinja
      --temp 1.0  --top-p 1.0  --top-k 0  --min-p 0.01
      --chat-template-kwargs '{"reasoning_effort": "high"}'

Но у этой модели скорость будет нормальной даже, если часть модели будет в RAM, не на GPU.

Спасибо!

Здравствуйте! Подскажите пожалуйста. Почему у меня эта модель в упор не хочет видеть изображения? Всё уже перепробовал, итог всегда один:

А с какими параметрами запускаете llama.cpp? Чтобы работать с изображениями нужно использовать --mmproj

Прошу прощения за беспокойство. Это я затупил. Как только вы написали про --mmproj понял куда копать.

Запускал так:

llama-server -m "E:\gguf\Qwen3-VL-30B-A3B-Instruct-1M-MXFP4_MOE.gguf" --port 11434 --host 172.16.0.7 --jinja

А нужно вот так:

llama-server -m "E:\gguf\Qwen3-VL-30B-A3B-Instruct-1M-MXFP4_MOE.gguf" --mmproj "E:\gguf\mmproj-F16.gguf" --port 11434 --host 172.16.0.7

Благодарю за наводку!

Интересный --host...

Я обычно пишу --host 0.0.0.0

0.0.0.0 означает - отвечать на запросы с любого сетевого интерфейса.

Да это для тестов, просто если 0.0.0.0 то почему то не видит из под виртуалки а с адресом хоста всё норм. Так то я экспериментирую с модельками из под llama-swap:

macros:
    latest-llama: E:\llama-b7688-bin-win-cuda-12.4-x64\llama-server --ctx-size 0 --fit-target 2048 --port ${PORT} --model

models:

#    z_image_turbo-Q8_0: 
#        name: 0 z_image_turbo-Q8_0
#        description: тест
#        checkEndpoint: E:\
#        cmd: E:\sd-master-c5602a6-bin-win-cuda12-x64\sd-server --diffusion-model E:\gguf\sd\z_image_turbo-Q8_0.gguf --vae E:\gguf\sd\ae_bf16.safetensors --llm E:\gguf\qwen_3_4b-Q8_0.gguf --listen-port ${PORT}
        
    # -----------------------------------------------------------------------------------

    aquif-3.5-Max-42B-A3B-MXFP4_MOE: 
        name: aquif-3.5-Max-42B-A3B-MXFP4_MOE
        description: ~30t\s работает в основном на CPU и немного GPU (контекст 54k)
        cmd: ${latest-llama} E:\gguf\aquif-3.5-Max-42B-A3B-MXFP4_MOE.gguf -ncmoe 55
        
    # -----------------------------------------------------------------------------------
        
    DeepSeek-MoE-16B-Chat-MXFP4_MOE:
        name: DeepSeek-MoE-16B-Chat-MXFP4_MOE
        description: ~250t\s работает на gpu
        cmd: ${latest-llama} F:\gguf-2\DeepSeek-MoE-16B-Chat-MXFP4_MOE.gguf
        
    # -----------------------------------------------------------------------------------
        
    gpt-oss-20b-mxfp4:
        name: gpt-oss-20b-mxfp4
        description: дефолтная ~210t\s размышляет
        cmd: ${latest-llama} F:\gguf-2\gpt-oss-20b-mxfp4.gguf -ncmoe 0
        
    Huihui-gpt-oss-20b-abliterated-v2-MXFP4_MOE:
        name: gpt-oss-20b-abliterated-v2
        description: без цензуры от Huihui-ai
        cmd: ${latest-llama} F:\gguf-2\Huihui-gpt-oss-20b-abliterated-v2-MXFP4_MOE.gguf -ncmoe 0
        
    gpt-oss-20b-Derestricted-MXFP4_MOE:
        name: gpt-oss-20b-Derestricted
        description: без цензуры от Felladrin
        cmd: ${latest-llama} F:\gguf-2\gpt-oss-20b-Derestricted-MXFP4_MOE.gguf -ncmoe 0
        
    # -----------------------------------------------------------------------------------
        
    gpt-oss-120b-mxfp4:
        name: gpt-oss-120b-mxfp4
        description: дефолтная ~30t\s
        cmd: ${latest-llama} E:\gguf\gpt-oss-120b-mxfp4\gpt-oss-120b-mxfp4-00001-of-00003.gguf -ncmoe 32
        
    gpt-oss-120b-abliterated:
        name: gpt-oss-120b-abliterated
        description: без цензуры от Huihui-ai
        cmd: ${latest-llama} E:\gguf\Huihui-gpt-oss-120b-abliterated-MXFP4_MOE\Huihui-gpt-oss-120b-abliterated-MXFP4_MOE-00001-of-00004.gguf -ncmoe 32
        
    # -----------------------------------------------------------------------------------
        
    NVIDIA-Nemotron-3-Nano-30B-A3B:
        name: NVIDIA-Nemotron-3-Nano-30B-A3B
        description: ~65t\s размышляет       
        cmd: ${latest-llama} E:\gguf\NVIDIA-Nemotron-3-Nano-30B-A3B-MXFP4_MOE.gguf -ncmoe 30
        
    # -----------------------------------------------------------------------------------
        
    gemma-3n-E4B-it-Q8_0:
        name: gemma-3n-E4B-it-Q8_0
        description: быстрая ~100t\s (32k)
        cmd: ${latest-llama} F:\gguf-2\gemma-3n-E4B-it-Q8_0.gguf
        
    gemma-3-270m-it-Q8_0:
        name: gemma-3-270m-it-Q8_0
        description: ~550t\s⚡супер лаконичная (контекст 32k)
        cmd: ${latest-llama} F:\gguf-2\gemma-3-270m-it-Q8_0.gguf
        
    gemma-3-4b-it-f16:
        name: gemma-3-4b-it-f16
        description: мультимодальня ~90t\s
        cmd: ${latest-llama} F:\gguf-2\gemma-3-4b-it-f16\gemma-3-4b-it-f16.gguf --mmproj E:\gguf\gemma-3-4b-it-f16\mmproj-model-f16.gguf
        
    gemma-3-12b-it-qat-Q4_0:
        name: gemma-3-12b-it-qat-Q4_0
        description: мультимодальня ~60t\s
        cmd: ${latest-llama} F:\gguf-2\gemma-3-12b-it-qat-Q4_0\gemma-3-12b-it-qat-Q4_0.gguf --mmproj E:\gguf\gemma-3-12b-it-qat-Q4_0\mmproj-model-f16-12B.gguf
        
    gemma-3-27b-it-qat-Q4_0:
        name: gemma-3-27b-it-qat-Q4_0
        description: мультимодальня ~13t\s
        cmd: ${latest-llama} F:\gguf-2\gemma-3-27b-it-qat-Q4_0\gemma-3-27b-it-qat-Q4_0.gguf --mmproj E:\gguf\gemma-3-27b-it-qat-Q4_0\mmproj-model-f16-27B.gguf

    # -----------------------------------------------------------------------------------  
    
    Qwen3-VL-30B-A3B-Instruct-1M-MXFP4_MOE:
        name: Qwen3-VL-30B-A3B-Instruct-1M-MXFP4_MOE
        description: мультимодальня ~...t\s
        cmd: ${latest-llama} E:\gguf\Qwen3-VL-30B-A3B-Instruct-1M-MXFP4_MOE\Qwen3-VL-30B-A3B-Instruct-1M-MXFP4_MOE.gguf --mmproj E:\gguf\Qwen3-VL-30B-A3B-Instruct-1M-MXFP4_MOE\mmproj-F16.gguf
        
    Qwen3-VL-30B-A3B-Thinking-1M-MXFP4_MOE:
        name: Qwen3-VL-30B-A3B-Thinking-1M-MXFP4_MOE
        description: мультимодальня ~80t\s (думающая)
        cmd: ${latest-llama} E:\gguf\Qwen3-VL-30B-A3B-Thinking-1M-MXFP4_MOE\Qwen3-VL-30B-A3B-Thinking-1M-MXFP4_MOE.gguf --mmproj E:\gguf\Qwen3-VL-30B-A3B-Thinking-1M-MXFP4_MOE\mmproj-F16.gguf
        
    # ----------------------------------------------------------------------------------- 

    HyperNova-60B-MXFP4_MOE:
        name: HyperNova-60B-MXFP4_MOE
        description:  ~43t\s (думающая) маленькое контекстное окно 4096
        cmd: ${latest-llama} F:\gguf-2\HyperNova-60B-MXFP4_MOE.gguf  

    # -----------------------------------------------------------------------------------        

    Qwen3-30B-A3B-Deepseek-Distill-Instruct-2507-MXFP4_MOE:
        cmd: ${latest-llama} E:\gguf\Qwen3-30B-A3B-Deepseek-Distill-Instruct-2507-MXFP4_MOE.gguf -ncmoe 25
        
    Qwen3-Coder-30B-A3B-Instruct-MXFP4_MOE:
        cmd: ${latest-llama} E:\gguf\Qwen3-Coder-30B-A3B-Instruct-1M-MXFP4_MOE.gguf -ncmoe 25

    MiroThinker-v1.0-30B-MXFP4_MOE:
        cmd: ${latest-llama} :\gguf\MiroThinker-v1.0-30B-MXFP4_MOE.gguf -ncmoe 30
        
    Trinity-Mini-MXFP4_MOE:
        cmd: ${latest-llama} F:\gguf-2\Trinity-Mini-MXFP4_MOE.gguf -ncmoe 8
        
    rnj-1-instruct-Q8_0:
        cmd: ${latest-llama} F:\gguf-2\rnj-1-instruct-Q8_0.gguf -ncmoe 0

        
        
        

Ну и OpenWebUI подключён к llama-swap и sdnext для генерации изображений.

у меня эта модель видит намного хуже чем gemma-3, и текст и объекты выдумывает несуществующих деталей больше чем может разглядеть существующих.
качал Qwen3-VL-30B-A3B-Instruct-Q4_K_M.gguf и mmproj-Qwen3-VL-30B-A3B-F16.gguf

параметры вначале пробовал дефолтные, потом такие

llama-server.exe -m Qwen3-VL-30B-A3B-Instruct-Q4_K_M.gguf --mmproj mmproj-Qwen3-VL-30B-A3B-F16.gguf -c 8192 --port 8080 --top-k 20 --temp 0.7 --top-p 0.8 --repeat-penalty 1.05

никак не улучшило ситуацию, фантазирует очень сильно и выдает в основном несуществующую инфу на фото

У меня без квантизации тесты показали ± тот же результат.

а в llama-cpp-python работает?
Я просто пытался запустить через скрипт питона с этой оберткой и постоянно получал ошибку:

llama_model_load: error loading model: error loading model architecture: unknown model architecture: 'qwen3vlmoe'

llama_model_load_from_file_impl: failed to load model

Exception ignored in: <function LlamaModel.__del__ at 0x0000029C1909D3A0>

И не могу понять, то ли сама обертка не поддерживает пока еще новые qwen3vl, то ли я что-то не так делаю

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации