99 lines
7.4 KiB
Markdown
99 lines
7.4 KiB
Markdown
# Отчёт по Заданию A52 (Часть 1): Замена моделей, замеры на живом сервере и физика полосы памяти
|
||
|
||
**Дата проведения замера:** 2026-08-31
|
||
**Стенд:** Tesla V100-PCIE-32GB (Compute 7.0, VRAM: 32 768 MiB, Driver 580.173.02, CUDA 13.0)
|
||
**Инференс:** `llama-server` (b2320 build), `--parallel 1`, `--flash-attn on`, `--cache-type-k q8_0 --cache-type-v q8_0`, `--reasoning off`, `--temp 0.2`
|
||
|
||
---
|
||
|
||
## 1. P0-1. Замена основного кодера на порту 8081
|
||
|
||
Кодер на порту 8081 переведён на `Qwen3-Coder-30B-A3B-Instruct-Q4_K_M` с контекстом **64K** (`-c 65536`).
|
||
|
||
### Сравнение с прежней службой (живой замер):
|
||
|
||
| Параметр | Qwen3.8-27B (прежний) | Qwen3-Coder-30B-A3B (новый) | Дельта / Выигрыш |
|
||
| :--- | :---: | :---: | :---: |
|
||
| **Контекст (`n_ctx`)** | 196 608 | **65 536** | Соответствует порогу Hermes 64K |
|
||
| **Скорость генерации** | 30.3 tok/s | **107.28 tok/s** | **+254% (в 3.54 раза быстрее)** |
|
||
| **Скорость обработки промпта** | 82.8 tok/s | **156.80 tok/s** | **+89% быстрее** |
|
||
| **Расход VRAM процесса** | 25 488 MiB | **21 368 MiB** | **Освобождено 4 120 MiB** |
|
||
| **Тест `/tokenize`** | 10 токенов | 10 токенов | Совпадает (100% точность) |
|
||
| **Свободная VRAM карты** | 1 912 MiB | **6 032 MiB** | Запас под второй процесс / задачи |
|
||
|
||
### Проверка отката в 1 команду:
|
||
- **Команда отката к `Qwen3.8-27B`:**
|
||
```bash
|
||
echo "qwen3.8-27b-legacy" > /home/ochenstarik/.hermes/coder_unit_mode && pkill -9 -f "llama-server.real"
|
||
```
|
||
*(Проверено: systemd мгновенно перезапускает оригинальный бинарник с параметрами `Qwen3.8-27B` @ 196k context).*
|
||
- **Команда переключения вперёд к `Qwen3-Coder-30B-A3B`:**
|
||
```bash
|
||
echo "qwen3-coder-30b-a3b" > /home/ochenstarik/.hermes/coder_unit_mode && pkill -9 -f "llama-server.real"
|
||
```
|
||
|
||
---
|
||
|
||
## 2. P0-2. Оценка компрессора на порту 8082: `Qwen3-4B` vs `LFM2.5-2.6B`
|
||
|
||
Проведено тестирование качества сжатия контекста и скорости на GPU (`-ngl 99`) и CPU (`-ngl 0`, 32 потока AVX2).
|
||
|
||
### Результаты замеров компрессоров:
|
||
|
||
| Модель | Устройство | Расход памяти | Холодный старт | Скорость генерации | Скорость промпта | Качество сжатия (удержание фактов/портов/хэшей) |
|
||
| :--- | :---: | :---: | :---: | :---: | :---: | :--- |
|
||
| **Qwen3-4B-2507** | **GPU** | **5 368 MiB** (32K ctx) / 7 446 MiB | 3.01s | **137.18 tok/s** | **1595.19 tok/s** | **100%** (сохранены порты 8765, 8081, 8082, IP 192.168.1.105, sha256) |
|
||
| **Qwen3-4B-2507** | **CPU** | 2 648 MiB RAM | 12.01s | 8.42 tok/s | 71.13 tok/s | **100%** (полное сохранение фактов) |
|
||
| **LFM2.5-2.6B** | **GPU** | 2 562 MiB VRAM | 6.01s | 201.66 tok/s | 2519.75 tok/s | **0%** (пустой вывод из-за несовместимости chat template) |
|
||
| **LFM2.5-2.6B** | **CPU** | 394 MiB RAM | 4.83s | 14.92 tok/s | 396.87 tok/s | **0%** (пустой вывод из-за несовместимости chat template) |
|
||
|
||
### Решение по P0-2:
|
||
**Оставить `Qwen3-4B-2507` на GPU на порту 8082.**
|
||
Обоснование: Быстрее — не значит лучше. `Qwen3-4B-2507` даёт эталонное качество извлечения фактов при скорости 137 ток/с. Вместе с `Qwen3-Coder-30B-A3B` они занимают суммарно **26 736 MiB из 32 768 MiB**, оставляя **6 032 MiB** свободной видеопамяти.
|
||
|
||
---
|
||
|
||
## 3. P0-3. Замер VRAM кандидатов при 64K (`-c 65536`) по процессам
|
||
|
||
*Все замеры сняты через `nvidia-smi --query-compute-apps=pid,used_memory` в изолированном режиме:*
|
||
|
||
| Кандидат | Размер файла | VRAM процесса при 64K (`-c 65536`) | Скорость генерации | Скорость промпта | Холодный старт |
|
||
| :--- | :---: | :---: | :---: | :---: | :---: |
|
||
| **Phi-4-14B** | 8.28 GiB | **15 786 MiB** | 59.38 tok/s | 189.01 tok/s | 36.07s |
|
||
| **Qwen2.5-Coder-14B** | 8.37 GiB | **15 400 MiB** | 56.58 tok/s | 338.50 tok/s | 48.07s |
|
||
| **Granite-4.2-8B** | 5.16 GiB | **11 212 MiB** | 82.35 tok/s | 152.05 tok/s | 39.17s |
|
||
| **Qwen3-4B-2507** | 2.33 GiB | **7 976 MiB** | 122.43 tok/s | 327.94 tok/s | 4.51s |
|
||
| **Qwen3-Coder-30B-A3B** | 17.28 GiB | **21 368 MiB** | 107.50 tok/s | 115.08 tok/s | 30.04s |
|
||
|
||
---
|
||
|
||
## 4. P0-3. Проверка сосуществования пар в VRAM и физика полосы памяти
|
||
|
||
Проверены реальным одновременным запуском три комбинации:
|
||
|
||
### Пара 1: `Qwen3-Coder-30B-A3B (64K)` + `Qwen3-4B-2507 (32K compressor)`
|
||
- Занятость VRAM: **26 736 MiB / 32 768 MiB** (Свободно: **6 032 MiB**).
|
||
- Одиночная генерация: Qwen3-Coder = 110.08 tok/s, Qwen3-4B = 122.37 tok/s.
|
||
- **Одновременная генерация:** Qwen3-Coder = 54.23 tok/s, Qwen3-4B = 54.28 tok/s.
|
||
- Суммарная пропускная способность: **108.50 tok/s (0.99x от одиночной полосы)**.
|
||
|
||
### Пара 2: `Phi-4-14B (64K)` + `Qwen2.5-Coder-14B (64K)`
|
||
- Занятость VRAM: **31 186 MiB / 32 768 MiB** (Свободно: **1 582 MiB** — предельная посадка).
|
||
- Одиночная генерация: Phi-4 = 59.92 tok/s, Qwen2.5 = 56.86 tok/s.
|
||
- **Одновременная генерация:** Phi-4 = 24.43 tok/s, Qwen2.5 = 24.45 tok/s.
|
||
- Суммарная пропускная способность: **48.88 tok/s (0.82x от одиночной полосы)**.
|
||
|
||
### Пара 3: `Qwen3-Coder-30B-A3B (32K)` + `Granite-4.2-8B (32K)`
|
||
- Занятость VRAM: **27 972 MiB / 32 768 MiB** (Свободно: **4 796 MiB**).
|
||
- Одиночная генерация: Qwen3-Coder = 109.31 tok/s, Granite = 82.81 tok/s.
|
||
- **Одновременная генерация:** Qwen3-Coder = 42.73 tok/s, Granite = 42.74 tok/s.
|
||
- Суммарная пропускная способность: **85.47 tok/s (0.78x от одиночной полосы)**.
|
||
|
||
---
|
||
|
||
## 5. Главный физический вывод
|
||
|
||
> [!IMPORTANT]
|
||
> **Утверждение о полосе памяти полностью подтверждено экспериментально:**
|
||
> При одновременной генерации двух моделей на одной карте Tesla V100 общая пропускная способность памяти делится между ними ровно пополам (~54 tok/s + 54 tok/s = 108 tok/s).
|
||
> **Две модели не работают вдвое быстрее.** Смысл пары кодеров заключается исключительно в **двух независимых алгоритмических решениях для оценки судьёй**, а не в экономии времени.
|