Files
microdao-daarion/docs/VLLM-VS-SWAPPER-ANALYSIS.md
Apple 3de3c8cb36 feat: Add presence heartbeat for Matrix online status
- matrix-gateway: POST /internal/matrix/presence/online endpoint
- usePresenceHeartbeat hook with activity tracking
- Auto away after 5 min inactivity
- Offline on page close/visibility change
- Integrated in MatrixChatRoom component
2025-11-27 00:19:40 -08:00

6.9 KiB
Raw Blame History

vLLM vs Swapper Service — Аналіз для DAARION Stack

Дата: 2025-11-22
Статус: Рекомендація: Swapper Service


📊 Порівняльна таблиця

Критерій Swapper Service vLLM
Призначення Керування завантаженням/вивантаженням моделей Високопродуктивний інференс-движок
Режим роботи Single-active (одна модель) або Multi-active Continuous serving (моделі завжди завантажені)
Оптимізація Пам'ять (memory optimization) Throughput (продуктивність)
Пам'ять Економна (вивантажує неактивні моделі) Висока (всі моделі завантажені)
Latency Вища (потрібен час на завантаження) Нижча (моделі вже завантажені)
Throughput Середній Високий
GPU підтримка Через Ollama (Metal/CUDA) Пряма GPU оптимізація
Складність Простий, легкий Складний, production-grade
Розмір Легкий (~50MB) Важкий (~500MB+)
Підтримка моделей Будь-які Ollama моделі Обмежений набір форматів
Apple Silicon Повна підтримка (Metal) ⚠️ Обмежена підтримка

🎯 Рекомендація для DAARION Stack

Swapper Service — найкращий вибір

Чому:

  1. Node #2 (MacBook M4 Max):

    • 64GB RAM — достатньо, але з 8 моделями (~118GB) потрібна оптимізація
    • Battery-powered — економія енергії важлива
    • Development node — не потрібен максимальний throughput
    • Apple Silicon — Swapper працює через Ollama з Metal acceleration
  2. Node #1 (Production Server):

    • NVIDIA RTX 4000 (20GB VRAM) — обмежена VRAM
    • 128GB RAM — достатньо, але з багатьма моделями потрібна оптимізація
    • Production — потрібна гнучкість перемикання між моделями
    • Вже використовується Ollama — Swapper інтегрується легко
  3. Архітектура DAGI Stack:

    • Router-based architecture — Swapper легко інтегрується
    • Multi-agent system — різні агенти потребують різних моделей
    • On-demand loading — відповідає use case

🔍 Детальний аналіз

Swapper Service — Переваги

Пам'ять:

  • Завантажує тільки потрібну модель
  • Вивільняє пам'ять після використання
  • Оптимально для обмежених ресурсів

Гнучкість:

  • Легко додавати нові моделі
  • Підтримка будь-яких Ollama моделей
  • Простий API для керування

Інтеграція:

  • Працює з існуючим Ollama
  • Легко інтегрується з Router
  • Простий моніторинг

Apple Silicon:

  • Повна підтримка через Ollama + Metal
  • Оптимізовано для M4 Max

Swapper Service — Недоліки

Latency:

  • Потрібен час на завантаження моделі (2-5 секунд)
  • Не підходить для real-time додатків з низькою latency

Throughput:

  • Нижчий throughput ніж vLLM
  • Не оптимально для високонавантажених систем

vLLM — Переваги

Throughput:

  • Високий throughput (до 10x більше ніж Ollama)
  • Оптимізовано для batch processing

Latency:

  • Низька latency (моделі завжди завантажені)
  • Підходить для real-time додатків

Production-grade:

  • Високоякісний код
  • Активна підтримка
  • Використовується в production

vLLM — Недоліки

Пам'ять:

  • Всі моделі завантажені одночасно
  • Потребує багато VRAM/RAM
  • Не підходить для обмежених ресурсів

Складність:

  • Складніша інтеграція
  • Потребує налаштування GPU
  • Більше залежностей

Apple Silicon:

  • Обмежена підтримка
  • Не оптимізовано для Metal
  • Може не працювати на MacBook

Моделі:

  • Обмежений набір підтримуваних форматів
  • Потрібна конвертація моделей

💡 Гібридний підхід (майбутнє)

Для максимальної ефективності можна використовувати обидва:

  1. Swapper Service — для Node #2 та development
  2. vLLM — для Node #1 production (якщо потрібен високий throughput)

Сценарій:

  • Node #1: vLLM для популярних моделей (qwen3:8b) + Swapper для спеціалізованих
  • Node #2: Swapper для всіх моделей (development, testing)

📋 Висновок

Для поточного стеку DAARION:

Swapper Service — оптимальний вибір

Причини:

  1. Підходить для обмежених ресурсів (Node #2 MacBook)
  2. Економія пам'яті (важливо з 8 моделями)
  3. Легка інтеграція з існуючим Ollama
  4. Підтримка Apple Silicon (Metal)
  5. Гнучкість перемикання між моделями
  6. Простий моніторинг та керування

vLLM можна розглянути в майбутньому, якщо:

  • Потрібен максимальний throughput
  • Є виділені GPU ресурси
  • Моделі завантажені довго
  • Production serving на високому рівні

🚀 Рекомендації

  1. Зараз: Використовувати Swapper Service
  2. Майбутнє: Розглянути vLLM для Node #1, якщо потрібен високий throughput
  3. Гібрид: Swapper для development, vLLM для production (опціонально)

Last Updated: 2025-11-22
Decision: Swapper Service для поточного стеку
Future Consideration: vLLM для production high-throughput use cases