Pull to refresh
35
Славик Фурсов@SlavikF

Developer

0,4
Rating
21
Subscribers
Send message

Поэтому я уже не гонюсь за последними фишками, а только успеваю следить: а что там добавили сейчас в llama.cpp?

Если кто-то где-то начал рассказывать новую модель, новую технологию, ... то скорее всего нет необходимости разбираться с новыми незнакомыми проектами, а можно подождать пару недель - и это появится в llama.cpp.

Да, каких-то фишек в llama.cpp нет долгое время (например i-quants), но это не так уж и критично.

"двухпроцессорная система" плохо работает для инференца. Однопроцессорная система для инференца работает в разы быстрее двухпроцессорной.

Можно и дешевле.

У меня есть 72GB VRAM и я запускал Qwen 3.5-397B, с квантизацией UD-IQ4_NL.

Большая часть модели работала из RAM, скорость получалась 14 t / s. Для кодинга - может и медленно, а для чата - нормально.

И всё это удовольствие мне стоили менее $10k

Я попробовал через OpenRouter API.

Пол личным ощущениям, сейчас лучшая открытая модель для кодинга - это Kimi 2.7 (1 триллион параметров, 32 миллиарда активных).

GLM 5.2 (753 миллиарда параметров, 40 миллиардов активных) - тоже неплохо, но Kimi показалось умней. А ещё Kimi может принимать изображения, а GLM 5.2 - только текст, но держит контекст на миллион токенов.

Kimi 2.7 вроде бы можно запустить локально на компьютере с 512GB и вроде народ пишет что вполне можно пользоваться:

https://huggingface.co/unsloth/Kimi-K2.7-Code-GGUF

Я ещё не видел квантов для GLM-5.2. Думаю, что тоже будет возможно.

Открытость модели означает, что никакой важный шишка не сможет сказать "Стоп, никому больше не использовать эту модель!"

Работаю в большой корпорации, есть проекты на Scala и Java.

Создалось впечатление, что в последние пару лет интерес к Scala снижается, для новых проектов Scala уже не выбирают...

Про DGX Spark, народ пишет что для Qwen 3.6 27B Dense, с квантизацией FP8

скорость генерации токенов - 8 t/s

MTP помогает разогнаться до 15 t/s

Слабенько как-то.

https://forums.developer.nvidia.com/t/whats-the-best-speed-we-can-get-with-qwen-3-6-27b-without-quantizing/367561

Я у себя на RTX 4090 получаю 48 t/s (это с MTP):

https://huggingface.co/Qwen/Qwen3.6-27B-FP8/discussions/11

И карточки тоже можно запускать параллельно.

Скорость памяти (bandwidth) у всех карточек в моём сообщении выше: от 900 до 1700 GB/s

DGX Spark: 273 GB/s - как-то не очень. По скорости генерации токенов получается в 3 раза медленнее V100. Хотя за счёт MTP может и не всё так плохо.

Тут один чел поддерживает форк vLLM специально для V100:

https://github.com/1CatAI/1Cat-vLLM

Понятно, что это не pytorch, но для определённых проектов эти карты - очень хорошее решение.

Я вот так смотрел на это дело: сколько $ стоит один GB VRAM?

  • 96GB / RTX 6000 PRO - $111 / GB

  • 32GB / RTX 5090 - $116 / GB

  • 48GB / RTX 4090 - $81 / GB

  • 24GB / RTX 3090 - $42 / GB

  • 32GB / V100 - $18 / GB

Понятно, что память на всех этих устройствах разная по скорости. И производительность вычислений отличается очень сильно. Но для кэйсов, где упирается в размер памяти (а это в основном инференц) - V100 очень хороший вариант.

По моим исследованиям:

  • скорость генерации токенов на V100 приблизительно такая же как и на RTX 4090. Хотя тут есть ньюанс в котором надо разобраться - это с FlashAttention.

  • скорость обработка промпта (prompt processing) - на V100 в 3 раза медленнее чем на RTX 4090.

V100 - старая карта (2018), но скорость памяти - весьма достойная: 900 ГБ/с.

Я заказал на Alibaba две карточки, каждая с 32 ГБ, каждая по $550.

У модели Neumotron 30 есть одна крутая особенность - она из коробки поддерживает контекст на миллион токенов. Другие открытые модели могут поддерживать миллион, но там надо прикручивать YARN...

Я это использую для работы с большими логами.

compose:

services:
  llama-router:
    image: ghcr.io/ggml-org/llama.cpp:server-cuda12-b9294
    container_name: router
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              capabilities: [gpu]
    ports:
      - "8080:8080"
    volumes:
      - /home/slavik/.cache/huggingface/hub:/root/.cache/huggingface/hub:ro
      - ./models.ini:/app/models.ini:ro
    entrypoint: ["./llama-server"]
    command: >
      --models-max 1
      --models-preset ./models.ini
      --host 0.0.0.0  --port 8080

models.ini:

version = 1

[unsloth/gemma-4-31B-it-GGUF:Q6_K_XL]
; https://huggingface.co/unsloth/gemma-4-31B-it-GGUF
; 27 GB
top-p=0.95
top-k=64
temp=1
ctx-size=196608
fit-target=2048

[ai-sage/GigaChat3.1-10B-A1.8B-GGUF:Q6_K]
; 8 GB
ctx-size=262144

[unsloth/Nemotron-3-Nano-30B-A3B-GGUF:Q4_K_XL]
; du 22GB
ctx-size=1048576
temp=1.0
top-p=1.0

[unsloth/Qwen3.6-27B-MTP-GGUF:Q6_K_XL]
; du 26 GB
; VRAM: 46.8 GB
; 60 t/s
ctx-size=262144
temp=0.6
top-p=0.95
top-k=20
min-p=0.00
alias=local-vl-qwen27B
spec-type=draft-mtp

Это конфиг для моей карточки с 48GB VRAM.

В любой момент времени висит только одна запущенная модель.

Через WebUI можно переключаться между моделями, и при выборе новой - сначала автоматически выгружается предыдущая.

Ну, модель должна уметь пользоваться тулзами.

А насчёт огромного опыта: это на самом деле общеизвестный факт, что любые модели сами по себе плохо справляются с математическими вычислениями. Нужны tools.

Или делаем тоже самое, но позволяем модели вызывать tools:

Это OpenWebUI.

Модель: Qwen3.6-27B

Квант: Q6

параметр "--models-max 1", и ничего в памяти не висит, - только одна модель, которая используется в данный момент времени.

На западе у стартапов популярен девиз Fail Fast:

https://en.wikipedia.org/wiki/Fail_fast_(business)

И в общем-то он логичен для бизнеса: когда работаем над какой-то задачей, а она "не идёт" (fails) - то не надо долго мучиться (тратить время, инвестиции), а надо побыстрее (fast) решить, что мы занимается не тем, и переключиться на что-то продуктивное.

По отношению к работникам принцип обычно: выжимаем всё что можно. А работники обычно и не против выкладываться.

А нужно не париться, и для себя, как для работника взять такой же принцип: fail fast. Менеджер нагрузил на вас 20 задач и все срочные? Не нужно выпрыгивать из штанов, а нужно завалить половину и нужно чтобы менеджер понял это побыстрей. От этого всем только лучше: работник не пашет до изнеможения, менеджер может планировать эффективней.

Но обычно работает принцип: кто тянет - на того и грузят.

We migrated to Okta

But you said that you used JumpCloud for device management. Does that mean, that you migrated to Okta + something else for MDM?

Результаты отличаются всегда, даже если на одной и той же модели два раза подряд сделаете одинаковый запрос - получите разные ответы.

Для VLLM Я использовал FP8.

FP8 на 4ГБ тяжелее UD-Q6: 30 ГБ и 26 ГБ

Я сравнивал у себя на RTX 4090 D (48 Гб памяти VRAM).

Детали и конфиги вот здесь:

https://huggingface.co/unsloth/Qwen3.6-27B-MTP-GGUF/discussions/25

  • Llama.cpp UD-Q6, без MTP: 31 токен в секунду

  • Llama.cpp UD-Q6 и MTP: 60 токенов в секунду. Используется дополнительные 2 ГБ VRAM. Prompt processing замедляется на 20%

  • VLLM и MTP: 40-48 токенов в секунду. В 2 раза быстрее prompt processing.

1
23 ...

Information

Rating
2,842-nd
Location
Greenville, South Carolina, США
Registered
Activity