Profile MiniCPM-o GGUF Omni complete path on WSL CPU
This commit is contained in:
1 parent
fa5aadca6f
commit
10ae2818c7
41 files changed
+13150
-7
No files matched your search
@@ -11,6 +11,7 @@ import argparse
|
||||
import asyncio
|
||||
import hashlib
|
||||
import json
|
||||
import math
|
||||
import time
|
||||
import wave
|
||||
from pathlib import Path
|
||||
@@ -28,7 +29,11 @@ async def main() -> None:
|
||||
parser.add_argument("--capacity-gib", type=int, default=30)
|
||||
parser.add_argument("--abort-check", action="store_true")
|
||||
parser.add_argument("--expect-admission-refusal", action="store_true")
|
||||
parser.add_argument("--warmups", type=int, default=0)
|
||||
parser.add_argument("--repeats", type=int, default=1)
|
||||
args = parser.parse_args()
|
||||
if args.warmups < 0 or args.repeats < 1:
|
||||
parser.error("warmups must be nonnegative and repeats must be positive")
|
||||
|
||||
from vllm_omni.config.stage_config import DeployConfig, StageDeployConfig, merge_pipeline_deploy
|
||||
from vllm_omni.engine.stage_runtime import StageRuntime
|
||||
@@ -70,7 +75,8 @@ async def main() -> None:
|
||||
"artifact_sha256": backend["artifact_sha256"],
|
||||
"cli_sha256": args.cli_sha256, "reference_sha256": reference_hash,
|
||||
"input_sha256": {key: hashlib.sha256(value).hexdigest() for key, value in inputs.items()},
|
||||
"memory_budget": budget, "profile_count": 1, "warmup_count": 0}
|
||||
"memory_budget": budget, "profile_count": args.repeats,
|
||||
"warmup_count": args.warmups}
|
||||
try:
|
||||
started = time.perf_counter()
|
||||
if args.expect_admission_refusal:
|
||||
@@ -118,15 +124,29 @@ async def main() -> None:
|
||||
output.release_stage_buffers()
|
||||
await asyncio.sleep(0)
|
||||
|
||||
result = await request_one("minicpmo-1")
|
||||
pcm = result.pop("pcm")
|
||||
report["warmups"] = []
|
||||
for index in range(args.warmups):
|
||||
item = await request_one(f"minicpmo-warmup-{index}")
|
||||
item.pop("pcm")
|
||||
report["warmups"].append(item)
|
||||
measured = []
|
||||
report["measured"] = measured
|
||||
for index in range(args.repeats):
|
||||
item = await request_one(f"minicpmo-measured-{index}")
|
||||
if index == 0:
|
||||
pcm = item["pcm"]
|
||||
report["complete_request"] = {key: value for key, value in item.items() if key != "pcm"}
|
||||
item.pop("pcm")
|
||||
measured.append(item)
|
||||
walls = sorted(item["wall_s"] for item in measured)
|
||||
report["nearest_rank_p50_wall_s"] = walls[math.ceil(0.50 * len(walls)) - 1]
|
||||
report["nearest_rank_p95_wall_s"] = walls[math.ceil(0.95 * len(walls)) - 1]
|
||||
args.output_wav.parent.mkdir(parents=True, exist_ok=True)
|
||||
with wave.open(str(args.output_wav), "wb") as out:
|
||||
out.setnchannels(1)
|
||||
out.setsampwidth(2)
|
||||
out.setframerate(24000)
|
||||
out.writeframes(pcm)
|
||||
report["complete_request"] = result
|
||||
report["output_wav"] = str(args.output_wav)
|
||||
report["execution_plan_after_request"] = dict(pool.stage_client.execution_plan)
|
||||
if args.abort_check:
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Sample host RAM/swap and a named process tree during a local profile."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
import psutil
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument("--pid", type=int, required=True)
|
||||
parser.add_argument("--output", type=Path, required=True)
|
||||
parser.add_argument("--interval-s", type=float, default=0.5)
|
||||
parser.add_argument("--max-seconds", type=float, default=1800)
|
||||
args = parser.parse_args()
|
||||
if not 0.1 <= args.interval_s <= 10 or args.max_seconds <= 0:
|
||||
parser.error("invalid sample interval or duration")
|
||||
|
||||
root = psutil.Process(args.pid)
|
||||
birth = root.create_time()
|
||||
deadline = time.monotonic() + args.max_seconds
|
||||
args.output.parent.mkdir(parents=True, exist_ok=True)
|
||||
with args.output.open("w", encoding="utf-8") as out:
|
||||
while time.monotonic() < deadline:
|
||||
try:
|
||||
if not root.is_running() or root.create_time() != birth or root.status() == psutil.STATUS_ZOMBIE:
|
||||
break
|
||||
tree = [root, *root.children(recursive=True)]
|
||||
rss = 0
|
||||
for process in tree:
|
||||
try:
|
||||
rss += process.memory_info().rss
|
||||
except (psutil.NoSuchProcess, psutil.AccessDenied):
|
||||
pass
|
||||
ram = psutil.virtual_memory()
|
||||
swap = psutil.swap_memory()
|
||||
out.write(json.dumps({
|
||||
"epoch_s": time.time(),
|
||||
"available_ram_bytes": ram.available,
|
||||
"used_swap_bytes": swap.used,
|
||||
"summed_process_tree_rss_bytes": rss,
|
||||
"process_count": len(tree),
|
||||
}) + "\n")
|
||||
out.flush()
|
||||
except psutil.NoSuchProcess:
|
||||
break
|
||||
time.sleep(args.interval_s)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -4,6 +4,7 @@ This extends the [60-cell device × model matrix](../e2e_profiling_20260922/evid
|
||||
|
||||
| Device / model | Verified depth | Observed output and time | Remaining gate |
|
||||
|---|---|---|---|
|
||||
| WSL HX370 CPU / MiniCPM-o 4.5 Q4_K_M/F16 GGUF | Scoped complete-request Omni C++ whole-session graph stage (P for one synthetic combined spoken-question+image input; CPU-only model execution) | All 20 measured requests after one warmup answered the red-square question correctly with complete nonzero 24 kHz speech. Nearest-rank complete-request wall p50/p95 22.67/24.83 s; audio duration 1.60–2.92 s, maximum sampled worker RSS 13.70 GB. One WAV independently transcribed exactly (Whisper tiny.en WER 0). 24 GiB admission, 8 GiB refusal and cancellation with zero remaining ledger passed. | Real multimodal suites, playable streaming, speech alignment, post-cancel restart, loading peak, concurrency and sustained power; [raw evidence](evidence/minicpmo_omni_wsl_cpu/README.md). |
|
||||
| Native Windows HX370 CPU / MiniCPM-o 4.5 Q4_K_M/F16 GGUF | Scoped complete-request Omni C++ whole-session graph stage (P for one synthetic combined audio+image input) | Correct red-square answer, 2.24 s 24 kHz WAV; one cold request 24.34 s, sampled RSS 13.11 GB. 24 GiB admission, 8 GiB refusal and in-flight cancellation with zero remaining reservation passed. | Real multimodal suites, playable streaming, repeated latency, loading peak, post-cancel restart and sustained power; [raw evidence](evidence/minicpmo_omni_cpp/README.md). |
|
||||
| Native Windows HX370 CPU+Radeon 890M / same MiniCPM-o GGUF | Scoped complete-request Omni hybrid graph stage (P for one synthetic combined audio+image input) | Correct red-square answer, 2.60 s 24 kHz WAV; one cold request 18.27 s, sampled RSS 15.57 GB. Log verifies Radeon language+vision and CPU TTS/Token2Wav; cancellation drained without stale output or reservation. | Real multimodal suites, playable streaming, repeated/concurrent latency, loading peak and sustained power; [raw evidence](evidence/minicpmo_omni_cpp/README.md). |
|
||||
| Native Windows HX370 CPU+Radeon 890M / Qwen3-TTS 0.6B CustomVoice Q8_0 GGUF plus F16 codec | Scoped complete standalone CrispASR text-to-WAV path with Vulkan talker/codec and CPU FP32 code predictor (P for two named sentences; outside Omni; **not** all-Radeon or NPU) | Two 24 kHz WAVs of 2.56 s and 3.20 s; independently pinned Whisper tiny.en ASR WER 0 on both. One warmup + 20 serial measured resident-server requests for the first prompt had client wall p50/p95 3.310/3.345 s, all PCM hashes identical; RTF 1.29/1.31. The default Vulkan setting fell back to CPU, while all-Vulkan talker+predictor hit a 360-frame runaway cap. | Explicit Omni hybrid stage binding, quality and playback gates, loading-peak admission, cancellation, broader prompts, concurrency and sustained power/thermal behavior; [joint raw evidence](evidence/qwen_tts_radeon890m_joint/README.md), [failed DirectML attempt](evidence/qwen_tts_radeon890m_directml/README.md). |
|
||||
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
# WSL CPU MiniCPM-o GGUF complete-request Omni stage
|
||||
|
||||
This record exercises the same pinned MiniCPM-o 4.5 Q4_K_M/F16 GGUF set and
|
||||
spoken red-square input as the [native Windows CPU/Radeon Omni runs](../minicpmo_omni_cpp/README.md),
|
||||
but on the HX370's Ubuntu 26.04 WSL2 CPU route. The Linux C++ CLI was rebuilt
|
||||
from `tc-mb/llama.cpp-omni` commit
|
||||
`5202b7b2f4d11f50b9f996161e7a2f8b8571b890` with the
|
||||
[recorded bounded-generation patch](../minicpmo_omni_cpp/llama_cpp_omni_bounded.patch).
|
||||
Its SHA256 is `5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42`;
|
||||
the Release build has `GGML_CUDA=OFF`, `GGML_VULKAN=OFF`, `GGML_OPENMP=ON`.
|
||||
The installed Python environment has vLLM 0.29.0 and PyTorch 2.13.0+cu130,
|
||||
but the external GGUF process is CPU-only. The runtime uses the current Omni
|
||||
source checkout via an explicit `PYTHONPATH`.
|
||||
|
||||
The [first complete-request report](report.json) and [worker logs](single_logs/)
|
||||
verify all ten GGUF hashes, 2,048 context tokens, a 96-token generation limit,
|
||||
CPU placement (`-ngl 0`, CPU vision and Token2Wav), index-1 audio and image
|
||||
prefill, and the audio completion marker. The spoken question asks the color
|
||||
of the synthetic 448×448 red square. The stage answered “The square in the
|
||||
image is red.” and returned a complete, nonzero [2.52 s, 24 kHz WAV](output.wav)
|
||||
in 25.77 s complete-request wall time. This was one cold sample, not a latency
|
||||
distribution. The worker's maximum 100 ms sampled RSS was 13.70 GB; this is
|
||||
not a proven loading peak. A 24 GiB host-RAM reservation from a declared
|
||||
30 GiB WSL capacity includes weights, workspace/state and headroom. A subsequent
|
||||
in-flight cancellation returned no stale output and left the ledger at zero.
|
||||
|
||||
The separate [serial profile](profile20.json) excluded one warmup and measured
|
||||
20 complete requests at concurrency one. **All 20** answered the same correct
|
||||
sentence, returned contiguous nonzero 24 kHz speech and one terminal audio
|
||||
event, and passed the input/output checks. Nearest-rank complete-request wall
|
||||
p50/p95 was **22.67/24.83 s**, with a 19.15–30.87 s range. Speech duration
|
||||
varied from 1.60 to 2.92 s, and all 20 PCM hashes differed; this run did not
|
||||
establish deterministic speech or alignment across outputs. The
|
||||
[first measured WAV](profile20_first.wav) was independently transcribed by
|
||||
pinned Whisper tiny.en as the exact sentence (WER 0) in the
|
||||
[ASR report](profile20_first_asr.json), an intelligibility proxy for that one
|
||||
output only. The [22 worker logs](profile20_logs/) retain the warmup,
|
||||
20 measured requests and in-flight cancellation. The stage returned no stale
|
||||
output after cancellation and the ledger again ended at zero.
|
||||
|
||||
Maximum per-request 100 ms sampled worker RSS across the measured requests was
|
||||
13.70 GB. The separate [0.5 s host samples](host_memory_samples.jsonl)
|
||||
started after the first few requests and saw available WSL RAM no lower than
|
||||
22.55 GB and swap use between 0.994 and 1.060 GB. These samples cover only
|
||||
part of the run and do not establish a loading peak or unique model RAM;
|
||||
summed process-tree RSS can double-count shared pages. The [8 GiB admission
|
||||
test](low_budget_report.json) was refused before worker launch and left no
|
||||
reservation. No power mode or thermal history was captured.
|
||||
|
||||
The [first launch failed](driver_wrong_source.log) before model loading: the
|
||||
Python environment selected an older editable Omni checkout without this
|
||||
stage. Setting `PYTHONPATH` to the current checkout fixed the setup; the
|
||||
[successful driver log](driver.log) is retained. The single synthetic visual
|
||||
question does not qualify real image/audio understanding, speech alignment,
|
||||
playable streaming, video input, post-cancel restart, concurrency, loading
|
||||
peak or sustained power/thermal behavior. No power condition was controlled.
|
||||
|
||||
Reproduce with
|
||||
[`probe_omni_minicpmo_cpp.py`](../../../../experiments/probe_omni_minicpmo_cpp.py)
|
||||
using `--placement cpu`, the model revision and ten hashes in the JSON report,
|
||||
and the fixture linked from the Windows evidence above. The CLI build uses the
|
||||
patch and source commit named here. Use `--abort-check` to verify cancellation.
|
||||
For the serial profile, add `--warmups 1 --repeats 20`; the
|
||||
[host-memory sampler](../../../../experiments/sample_host_memory.py) accepts
|
||||
the profile driver's PID and writes JSONL snapshots while it runs.
|
||||
+146
@@ -0,0 +1,146 @@
|
||||
INFO 09-23 23:05:35 [patch.py:259] NVFP4 W4A4 weight_scale NaN-clamp: installed.
|
||||
INFO 09-23 23:05:36 [patch.py:510] inductor factorable-divisibility patch: installed.
|
||||
INFO 09-23 23:05:36 [patch.py:589] [cumem-cuda] CuMemAllocator._python_free_callback patched: asleep guard extended to all platforms.
|
||||
INFO 09-23 23:05:36 [stage_init_utils.py:768] [stage_init] Set VLLM_WORKER_MULTIPROC_METHOD=spawn
|
||||
WARNING 09-23 23:05:36 [stage_init_utils.py:1887] [stage_init] Failed to load transfer config: [Errno 21] Is a directory: '/home/zhout/project/edge_infer/vllm-omni-edge'
|
||||
{
|
||||
"scope": "MiniCPM-o GGUF complete audio+image\u2192text+speech through Omni StageRuntime/StagePool",
|
||||
"placement": "cpu",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"reference_sha256": "cf4bb5cd9acbfbf67596d4a53310652b61ef4b7ede1d54eb03ef4882ca40223a",
|
||||
"input_sha256": {
|
||||
"audio_wav": "14ee147cbf2ce9afd9e32c8c8228d7cfe11985cd7e63456b2ad33871492aefcc",
|
||||
"image_jpeg": "22c7ccea466a3f551c512045e6316c7597408d4e0a20205502f55784d977aa8d"
|
||||
},
|
||||
"memory_budget": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"demands": {
|
||||
"host_ram": 25769803776
|
||||
}
|
||||
},
|
||||
"profile_count": 1,
|
||||
"warmup_count": 0,
|
||||
"startup_s": 8.223868511035107,
|
||||
"execution_plan_at_start": {
|
||||
"backend": "external.minicpmo.gguf.v1",
|
||||
"stage_id": 0,
|
||||
"worker_generation": "d3c2ac96ca6044aca82c16a2d2729d60",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"requested_placement": "cpu",
|
||||
"ggml_vk_visible_devices": null,
|
||||
"shared_ram_reservation": {
|
||||
"host_ram": 25769803776
|
||||
},
|
||||
"weights_bytes": 8872297088,
|
||||
"memory_overhead_bytes": 12884901888,
|
||||
"context_tokens": 2048,
|
||||
"max_new_tokens": 96,
|
||||
"request_capacity": 1,
|
||||
"stateful_session": "C++-owned within one request; discarded after completion",
|
||||
"placement_evidence": "pending first request"
|
||||
},
|
||||
"complete_request": {
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 25.769782793009654,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 60480,
|
||||
"duration_s": 2.52,
|
||||
"pcm_sha256": "e36c6f1b6c6199514fc6d2111e4521ab3d090957f614eec9f9aabc7c0c73b4e0"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-1",
|
||||
"stage_id": 0,
|
||||
"epoch": 1,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "d3c2ac96ca6044aca82c16a2d2729d60",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 25.747626426978968,
|
||||
"peak_sampled_rss_bytes": 13699469312,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_logs/minicpmo-1-c9bc3c5416e24a758c3327c06e9630b4.log"
|
||||
}
|
||||
},
|
||||
"output_wav": "benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/minicpmo_omni_wsl_cpu/output.wav",
|
||||
"execution_plan_after_request": {
|
||||
"backend": "external.minicpmo.gguf.v1",
|
||||
"stage_id": 0,
|
||||
"worker_generation": "d3c2ac96ca6044aca82c16a2d2729d60",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"requested_placement": "cpu",
|
||||
"ggml_vk_visible_devices": null,
|
||||
"shared_ram_reservation": {
|
||||
"host_ram": 25769803776
|
||||
},
|
||||
"weights_bytes": 8872297088,
|
||||
"memory_overhead_bytes": 12884901888,
|
||||
"context_tokens": 2048,
|
||||
"max_new_tokens": 96,
|
||||
"request_capacity": 1,
|
||||
"stateful_session": "C++-owned within one request; discarded after completion",
|
||||
"placement_evidence": {
|
||||
"observed": "cpu",
|
||||
"worker_pid": 3632560,
|
||||
"peak_sampled_rss_bytes": 13699469312,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_logs/minicpmo-1-c9bc3c5416e24a758c3327c06e9630b4.log"
|
||||
}
|
||||
},
|
||||
"abort_check": {
|
||||
"stale_output": false,
|
||||
"ledger": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
},
|
||||
"status": "passed",
|
||||
"ledger_after_shutdown": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
INFO 09-23 23:04:46 [patch.py:259] NVFP4 W4A4 weight_scale NaN-clamp: installed.
|
||||
INFO 09-23 23:04:46 [patch.py:510] inductor factorable-divisibility patch: installed.
|
||||
INFO 09-23 23:04:46 [patch.py:583] [cumem-cuda] CuMemAllocator._python_free_callback patched: asleep guard extended to all platforms.
|
||||
Traceback (most recent call last):
|
||||
File "/home/zhout/project/edge_infer/vllm-omni-edge/benchmarks/edge_harness/experiments/probe_omni_minicpmo_cpp.py", line 158, in <module>
|
||||
asyncio.run(main())
|
||||
File "/home/zhout/.local/share/uv/python/cpython-3.12.13-linux-x86_64-gnu/lib/python3.12/asyncio/runners.py", line 195, in run
|
||||
return runner.run(main)
|
||||
^^^^^^^^^^^^^^^^
|
||||
File "/home/zhout/.local/share/uv/python/cpython-3.12.13-linux-x86_64-gnu/lib/python3.12/asyncio/runners.py", line 118, in run
|
||||
return self._loop.run_until_complete(task)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/zhout/.local/share/uv/python/cpython-3.12.13-linux-x86_64-gnu/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
|
||||
return future.result()
|
||||
^^^^^^^^^^^^^^^
|
||||
File "/home/zhout/project/edge_infer/vllm-omni-edge/benchmarks/edge_harness/experiments/probe_omni_minicpmo_cpp.py", line 35, in main
|
||||
from vllm_omni.model_executor.models.minicpmo_4_5.pipeline import MINICPMO_4_5_GGUF_WHOLE_PIPELINE
|
||||
ImportError: cannot import name 'MINICPMO_4_5_GGUF_WHOLE_PIPELINE' from 'vllm_omni.model_executor.models.minicpmo_4_5.pipeline' (/home/zhout/project/edge_infer/vllm-omni-029/vllm_omni/model_executor/models/minicpmo_4_5/pipeline.py)
|
||||
+756
@@ -0,0 +1,756 @@
|
||||
{"epoch_s": 1790176142.5003617, "available_ram_bytes": 22674579456, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14815870976, "process_count": 2}
|
||||
{"epoch_s": 1790176143.0020676, "available_ram_bytes": 22676983808, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14815870976, "process_count": 2}
|
||||
{"epoch_s": 1790176143.5038755, "available_ram_bytes": 22675492864, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14819872768, "process_count": 2}
|
||||
{"epoch_s": 1790176144.0058217, "available_ram_bytes": 27341783040, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 9542782976, "process_count": 2}
|
||||
{"epoch_s": 1790176144.5076349, "available_ram_bytes": 30506795008, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 6418010112, "process_count": 2}
|
||||
{"epoch_s": 1790176145.0089488, "available_ram_bytes": 29606309888, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 7304900608, "process_count": 2}
|
||||
{"epoch_s": 1790176145.510101, "available_ram_bytes": 28471427072, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 8441970688, "process_count": 2}
|
||||
{"epoch_s": 1790176146.011239, "available_ram_bytes": 27085058048, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 9798557696, "process_count": 2}
|
||||
{"epoch_s": 1790176146.5123742, "available_ram_bytes": 25987350528, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 11517923328, "process_count": 2}
|
||||
{"epoch_s": 1790176147.0136125, "available_ram_bytes": 25755373568, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 11638079488, "process_count": 2}
|
||||
{"epoch_s": 1790176147.5146902, "available_ram_bytes": 25350955008, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 12044840960, "process_count": 2}
|
||||
{"epoch_s": 1790176148.0161345, "available_ram_bytes": 24477736960, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 13000593408, "process_count": 2}
|
||||
{"epoch_s": 1790176148.5172844, "available_ram_bytes": 24007344128, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 13475020800, "process_count": 2}
|
||||
{"epoch_s": 1790176149.0191238, "available_ram_bytes": 23653937152, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 13831745536, "process_count": 2}
|
||||
{"epoch_s": 1790176149.5204508, "available_ram_bytes": 23251173376, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14234923008, "process_count": 2}
|
||||
{"epoch_s": 1790176150.0221162, "available_ram_bytes": 23322955776, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14049058816, "process_count": 2}
|
||||
{"epoch_s": 1790176150.5247614, "available_ram_bytes": 23325122560, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14064484352, "process_count": 2}
|
||||
{"epoch_s": 1790176151.027015, "available_ram_bytes": 23325327360, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14064484352, "process_count": 2}
|
||||
{"epoch_s": 1790176151.529507, "available_ram_bytes": 23323549696, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14067576832, "process_count": 2}
|
||||
{"epoch_s": 1790176152.0315056, "available_ram_bytes": 23333576704, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14067576832, "process_count": 2}
|
||||
{"epoch_s": 1790176152.5330355, "available_ram_bytes": 23209656320, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203535360, "process_count": 2}
|
||||
{"epoch_s": 1790176153.034771, "available_ram_bytes": 23209504768, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203535360, "process_count": 2}
|
||||
{"epoch_s": 1790176153.5368226, "available_ram_bytes": 23209504768, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203535360, "process_count": 2}
|
||||
{"epoch_s": 1790176154.0380385, "available_ram_bytes": 23217827840, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203535360, "process_count": 2}
|
||||
{"epoch_s": 1790176154.5398805, "available_ram_bytes": 23217827840, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203535360, "process_count": 2}
|
||||
{"epoch_s": 1790176155.0413387, "available_ram_bytes": 23227482112, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203535360, "process_count": 2}
|
||||
{"epoch_s": 1790176155.5426028, "available_ram_bytes": 23227482112, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203535360, "process_count": 2}
|
||||
{"epoch_s": 1790176156.0444348, "available_ram_bytes": 23225008128, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14208208896, "process_count": 2}
|
||||
{"epoch_s": 1790176156.5464423, "available_ram_bytes": 23232606208, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14208208896, "process_count": 2}
|
||||
{"epoch_s": 1790176157.0484626, "available_ram_bytes": 23233064960, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14208208896, "process_count": 2}
|
||||
{"epoch_s": 1790176157.5499735, "available_ram_bytes": 23233916928, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14209146880, "process_count": 2}
|
||||
{"epoch_s": 1790176158.051171, "available_ram_bytes": 23222722560, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215684096, "process_count": 2}
|
||||
{"epoch_s": 1790176158.552845, "available_ram_bytes": 23230894080, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215684096, "process_count": 2}
|
||||
{"epoch_s": 1790176159.054931, "available_ram_bytes": 23232393216, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215684096, "process_count": 2}
|
||||
{"epoch_s": 1790176159.5563288, "available_ram_bytes": 23232397312, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215688192, "process_count": 2}
|
||||
{"epoch_s": 1790176160.0580423, "available_ram_bytes": 23242498048, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215688192, "process_count": 2}
|
||||
{"epoch_s": 1790176160.5600765, "available_ram_bytes": 23241867264, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14218203136, "process_count": 2}
|
||||
{"epoch_s": 1790176161.062116, "available_ram_bytes": 23185903616, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14270394368, "process_count": 2}
|
||||
{"epoch_s": 1790176161.5643501, "available_ram_bytes": 23119847424, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14337740800, "process_count": 2}
|
||||
{"epoch_s": 1790176162.0655162, "available_ram_bytes": 23038189568, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14422593536, "process_count": 2}
|
||||
{"epoch_s": 1790176162.566641, "available_ram_bytes": 22963974144, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14505799680, "process_count": 2}
|
||||
{"epoch_s": 1790176163.0683424, "available_ram_bytes": 22766768128, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14702403584, "process_count": 2}
|
||||
{"epoch_s": 1790176163.5701342, "available_ram_bytes": 22664331264, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14808817664, "process_count": 2}
|
||||
{"epoch_s": 1790176164.072165, "available_ram_bytes": 22670442496, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14808649728, "process_count": 2}
|
||||
{"epoch_s": 1790176164.5733454, "available_ram_bytes": 22663389184, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14808649728, "process_count": 2}
|
||||
{"epoch_s": 1790176165.0751052, "available_ram_bytes": 22664933376, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14808649728, "process_count": 2}
|
||||
{"epoch_s": 1790176165.5768106, "available_ram_bytes": 22620545024, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14816907264, "process_count": 2}
|
||||
{"epoch_s": 1790176166.0779772, "available_ram_bytes": 22626705408, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14815961088, "process_count": 2}
|
||||
{"epoch_s": 1790176166.5795472, "available_ram_bytes": 22627266560, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14815961088, "process_count": 2}
|
||||
{"epoch_s": 1790176167.0809007, "available_ram_bytes": 22627274752, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14815961088, "process_count": 2}
|
||||
{"epoch_s": 1790176167.5820758, "available_ram_bytes": 22627299328, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14818250752, "process_count": 2}
|
||||
{"epoch_s": 1790176168.0831244, "available_ram_bytes": 29844152320, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 1120501760, "process_count": 2}
|
||||
{"epoch_s": 1790176168.584528, "available_ram_bytes": 30150369280, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 6738575360, "process_count": 2}
|
||||
{"epoch_s": 1790176169.085691, "available_ram_bytes": 29027721216, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 7865548800, "process_count": 2}
|
||||
{"epoch_s": 1790176169.586792, "available_ram_bytes": 27797315584, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 9096503296, "process_count": 2}
|
||||
{"epoch_s": 1790176170.0880148, "available_ram_bytes": 26890514432, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 10587774976, "process_count": 2}
|
||||
{"epoch_s": 1790176170.589201, "available_ram_bytes": 25395986432, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 12072620032, "process_count": 2}
|
||||
{"epoch_s": 1790176171.090352, "available_ram_bytes": 25211949056, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 12258598912, "process_count": 2}
|
||||
{"epoch_s": 1790176171.5915215, "available_ram_bytes": 24023076864, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 13446111232, "process_count": 2}
|
||||
{"epoch_s": 1790176172.092802, "available_ram_bytes": 23471513600, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 13987008512, "process_count": 2}
|
||||
{"epoch_s": 1790176172.594544, "available_ram_bytes": 23279181824, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14049087488, "process_count": 2}
|
||||
{"epoch_s": 1790176173.0968902, "available_ram_bytes": 23287779328, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14055682048, "process_count": 2}
|
||||
{"epoch_s": 1790176173.5986056, "available_ram_bytes": 23284424704, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14064480256, "process_count": 2}
|
||||
{"epoch_s": 1790176174.1002011, "available_ram_bytes": 23297351680, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14067572736, "process_count": 2}
|
||||
{"epoch_s": 1790176174.6023293, "available_ram_bytes": 23297064960, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14067572736, "process_count": 2}
|
||||
{"epoch_s": 1790176175.1039977, "available_ram_bytes": 23264399360, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14106230784, "process_count": 2}
|
||||
{"epoch_s": 1790176175.6053622, "available_ram_bytes": 23182651392, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203498496, "process_count": 2}
|
||||
{"epoch_s": 1790176176.1071289, "available_ram_bytes": 23189790720, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203498496, "process_count": 2}
|
||||
{"epoch_s": 1790176176.6088455, "available_ram_bytes": 23192752128, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203498496, "process_count": 2}
|
||||
{"epoch_s": 1790176177.1108015, "available_ram_bytes": 23201849344, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203498496, "process_count": 2}
|
||||
{"epoch_s": 1790176177.612448, "available_ram_bytes": 23204651008, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203498496, "process_count": 2}
|
||||
{"epoch_s": 1790176178.1141129, "available_ram_bytes": 23205707776, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203498496, "process_count": 2}
|
||||
{"epoch_s": 1790176178.6154943, "available_ram_bytes": 23217328128, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14203564032, "process_count": 2}
|
||||
{"epoch_s": 1790176179.117559, "available_ram_bytes": 23213277184, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14208172032, "process_count": 2}
|
||||
{"epoch_s": 1790176179.6194355, "available_ram_bytes": 23216762880, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14208172032, "process_count": 2}
|
||||
{"epoch_s": 1790176180.1211433, "available_ram_bytes": 23223930880, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14208172032, "process_count": 2}
|
||||
{"epoch_s": 1790176180.623041, "available_ram_bytes": 23224328192, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14212763648, "process_count": 2}
|
||||
{"epoch_s": 1790176181.1248689, "available_ram_bytes": 23221399552, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215647232, "process_count": 2}
|
||||
{"epoch_s": 1790176181.6266937, "available_ram_bytes": 23231909888, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215647232, "process_count": 2}
|
||||
{"epoch_s": 1790176182.1278923, "available_ram_bytes": 23231139840, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215700480, "process_count": 2}
|
||||
{"epoch_s": 1790176182.6295714, "available_ram_bytes": 23233077248, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215708672, "process_count": 2}
|
||||
{"epoch_s": 1790176183.131847, "available_ram_bytes": 23239553024, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14215708672, "process_count": 2}
|
||||
{"epoch_s": 1790176183.6337316, "available_ram_bytes": 23240486912, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14218223616, "process_count": 2}
|
||||
{"epoch_s": 1790176184.135443, "available_ram_bytes": 23157743616, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14309957632, "process_count": 2}
|
||||
{"epoch_s": 1790176184.636565, "available_ram_bytes": 23053856768, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14412521472, "process_count": 2}
|
||||
{"epoch_s": 1790176185.1382823, "available_ram_bytes": 22954958848, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14511792128, "process_count": 2}
|
||||
{"epoch_s": 1790176185.6397161, "available_ram_bytes": 22766252032, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14702424064, "process_count": 2}
|
||||
{"epoch_s": 1790176186.1409092, "available_ram_bytes": 22668484608, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14808682496, "process_count": 2}
|
||||
{"epoch_s": 1790176186.6420503, "available_ram_bytes": 22667874304, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14808682496, "process_count": 2}
|
||||
{"epoch_s": 1790176187.1437473, "available_ram_bytes": 22675140608, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14808682496, "process_count": 2}
|
||||
{"epoch_s": 1790176187.6451082, "available_ram_bytes": 22674710528, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14810972160, "process_count": 2}
|
||||
{"epoch_s": 1790176188.146883, "available_ram_bytes": 24338857984, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 12503502848, "process_count": 2}
|
||||
{"epoch_s": 1790176188.648014, "available_ram_bytes": 30625542144, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 1130131456, "process_count": 2}
|
||||
{"epoch_s": 1790176189.1491652, "available_ram_bytes": 30013915136, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 6895292416, "process_count": 2}
|
||||
{"epoch_s": 1790176189.6503284, "available_ram_bytes": 28908077056, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 8001323008, "process_count": 2}
|
||||
{"epoch_s": 1790176190.151605, "available_ram_bytes": 27642961920, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 9270734848, "process_count": 2}
|
||||
{"epoch_s": 1790176190.6526332, "available_ram_bytes": 26601775104, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 10899648512, "process_count": 2}
|
||||
{"epoch_s": 1790176191.153678, "available_ram_bytes": 25723228160, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 11768741888, "process_count": 2}
|
||||
{"epoch_s": 1790176191.654909, "available_ram_bytes": 25306763264, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 12025753600, "process_count": 2}
|
||||
{"epoch_s": 1790176192.1561432, "available_ram_bytes": 24939622400, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 12547379200, "process_count": 2}
|
||||
{"epoch_s": 1790176192.6572113, "available_ram_bytes": 24139173888, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 13346824192, "process_count": 2}
|
||||
{"epoch_s": 1790176193.158828, "available_ram_bytes": 23738286080, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 13756448768, "process_count": 2}
|
||||
{"epoch_s": 1790176193.6599967, "available_ram_bytes": 23307161600, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14042554368, "process_count": 2}
|
||||
{"epoch_s": 1790176194.1619174, "available_ram_bytes": 23315279872, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14049005568, "process_count": 2}
|
||||
{"epoch_s": 1790176194.6634758, "available_ram_bytes": 23306166272, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14064521216, "process_count": 2}
|
||||
{"epoch_s": 1790176195.1653128, "available_ram_bytes": 23315599360, "used_swap_bytes": 1060024320, "summed_process_tree_rss_bytes": 14067613696, "process_count": 2}
|
||||
{"epoch_s": 1790179773.2998362, "available_ram_bytes": 23325376512, "used_swap_bytes": 1004175360, "summed_process_tree_rss_bytes": 14067613696, "process_count": 2}
|
||||
{"epoch_s": 1790179773.8015027, "available_ram_bytes": 23336529920, "used_swap_bytes": 1004175360, "summed_process_tree_rss_bytes": 14067613696, "process_count": 2}
|
||||
{"epoch_s": 1790179774.3029912, "available_ram_bytes": 23201714176, "used_swap_bytes": 1004175360, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179774.8045206, "available_ram_bytes": 23210090496, "used_swap_bytes": 1004175360, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179775.3063877, "available_ram_bytes": 23210819584, "used_swap_bytes": 1004175360, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179775.8083756, "available_ram_bytes": 23219269632, "used_swap_bytes": 1004175360, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179776.310674, "available_ram_bytes": 23221141504, "used_swap_bytes": 1004175360, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179776.8129992, "available_ram_bytes": 23223971840, "used_swap_bytes": 1004118016, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179777.3154614, "available_ram_bytes": 23224680448, "used_swap_bytes": 1004118016, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179777.8175633, "available_ram_bytes": 23236747264, "used_swap_bytes": 1004118016, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179868.2454317, "available_ram_bytes": 23240101888, "used_swap_bytes": 1003732992, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179868.7470412, "available_ram_bytes": 23250452480, "used_swap_bytes": 1003732992, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179869.2486935, "available_ram_bytes": 23227088896, "used_swap_bytes": 994148352, "summed_process_tree_rss_bytes": 14203473920, "process_count": 2}
|
||||
{"epoch_s": 1790179869.7503724, "available_ram_bytes": 23231844352, "used_swap_bytes": 993955840, "summed_process_tree_rss_bytes": 14208147456, "process_count": 2}
|
||||
{"epoch_s": 1790179870.251937, "available_ram_bytes": 23233871872, "used_swap_bytes": 993947648, "summed_process_tree_rss_bytes": 14208147456, "process_count": 2}
|
||||
{"epoch_s": 1790179870.754319, "available_ram_bytes": 23242219520, "used_swap_bytes": 993947648, "summed_process_tree_rss_bytes": 14208147456, "process_count": 2}
|
||||
{"epoch_s": 1790179871.2566402, "available_ram_bytes": 23242670080, "used_swap_bytes": 993947648, "summed_process_tree_rss_bytes": 14208147456, "process_count": 2}
|
||||
{"epoch_s": 1790179871.758013, "available_ram_bytes": 23253180416, "used_swap_bytes": 993947648, "summed_process_tree_rss_bytes": 14208147456, "process_count": 2}
|
||||
{"epoch_s": 1790179872.2598677, "available_ram_bytes": 23251058688, "used_swap_bytes": 993947648, "summed_process_tree_rss_bytes": 14212739072, "process_count": 2}
|
||||
{"epoch_s": 1790179872.7615247, "available_ram_bytes": 23255511040, "used_swap_bytes": 993947648, "summed_process_tree_rss_bytes": 14215622656, "process_count": 2}
|
||||
{"epoch_s": 1790179873.2632506, "available_ram_bytes": 23255318528, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215622656, "process_count": 2}
|
||||
{"epoch_s": 1790179873.76496, "available_ram_bytes": 23262711808, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215622656, "process_count": 2}
|
||||
{"epoch_s": 1790179874.266579, "available_ram_bytes": 23263563776, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215630848, "process_count": 2}
|
||||
{"epoch_s": 1790179874.768119, "available_ram_bytes": 23269302272, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215630848, "process_count": 2}
|
||||
{"epoch_s": 1790179875.269994, "available_ram_bytes": 23269675008, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215630848, "process_count": 2}
|
||||
{"epoch_s": 1790179875.7725782, "available_ram_bytes": 23275347968, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215630848, "process_count": 2}
|
||||
{"epoch_s": 1790179876.2845216, "available_ram_bytes": 23276658688, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14218145792, "process_count": 2}
|
||||
{"epoch_s": 1790179876.7864006, "available_ram_bytes": 23256293376, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14244859904, "process_count": 2}
|
||||
{"epoch_s": 1790179877.2880774, "available_ram_bytes": 23258157056, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14250659840, "process_count": 2}
|
||||
{"epoch_s": 1790179877.7896185, "available_ram_bytes": 23250558976, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14261481472, "process_count": 2}
|
||||
{"epoch_s": 1790179878.2912893, "available_ram_bytes": 23233871872, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14277545984, "process_count": 2}
|
||||
{"epoch_s": 1790179878.7930279, "available_ram_bytes": 23219871744, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14296698880, "process_count": 2}
|
||||
{"epoch_s": 1790179879.2944005, "available_ram_bytes": 23203098624, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14307311616, "process_count": 2}
|
||||
{"epoch_s": 1790179879.7955213, "available_ram_bytes": 23171325952, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14346539008, "process_count": 2}
|
||||
{"epoch_s": 1790179880.29668, "available_ram_bytes": 23106404352, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14406471680, "process_count": 2}
|
||||
{"epoch_s": 1790179880.7983618, "available_ram_bytes": 23040942080, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14476496896, "process_count": 2}
|
||||
{"epoch_s": 1790179881.2997856, "available_ram_bytes": 22949965824, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14563934208, "process_count": 2}
|
||||
{"epoch_s": 1790179881.802127, "available_ram_bytes": 22762328064, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14757724160, "process_count": 2}
|
||||
{"epoch_s": 1790179882.3034465, "available_ram_bytes": 22703251456, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14808592384, "process_count": 2}
|
||||
{"epoch_s": 1790179882.8046474, "available_ram_bytes": 22704197632, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14808592384, "process_count": 2}
|
||||
{"epoch_s": 1790179883.3065717, "available_ram_bytes": 22705201152, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14808592384, "process_count": 2}
|
||||
{"epoch_s": 1790179883.8082256, "available_ram_bytes": 22707302400, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14808592384, "process_count": 2}
|
||||
{"epoch_s": 1790179884.311713, "available_ram_bytes": 22666747904, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14816845824, "process_count": 2}
|
||||
{"epoch_s": 1790179884.812903, "available_ram_bytes": 22667288576, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14815903744, "process_count": 2}
|
||||
{"epoch_s": 1790179885.3147826, "available_ram_bytes": 22668103680, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14815903744, "process_count": 2}
|
||||
{"epoch_s": 1790179885.816869, "available_ram_bytes": 22654681088, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14815903744, "process_count": 2}
|
||||
{"epoch_s": 1790179886.3187156, "available_ram_bytes": 22654365696, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14819880960, "process_count": 2}
|
||||
{"epoch_s": 1790179886.820493, "available_ram_bytes": 27628154880, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 9199665152, "process_count": 2}
|
||||
{"epoch_s": 1790179887.322043, "available_ram_bytes": 30466781184, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 6425063424, "process_count": 2}
|
||||
{"epoch_s": 1790179887.8231769, "available_ram_bytes": 29502230528, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 7389069312, "process_count": 2}
|
||||
{"epoch_s": 1790179888.3248558, "available_ram_bytes": 28749537280, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 8180084736, "process_count": 2}
|
||||
{"epoch_s": 1790179888.8267837, "available_ram_bytes": 27799805952, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 9131778048, "process_count": 2}
|
||||
{"epoch_s": 1790179889.3282325, "available_ram_bytes": 27025154048, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 9877331968, "process_count": 2}
|
||||
{"epoch_s": 1790179889.8297727, "available_ram_bytes": 26183655424, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 11324829696, "process_count": 2}
|
||||
{"epoch_s": 1790179890.3312953, "available_ram_bytes": 25275969536, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 12233904128, "process_count": 2}
|
||||
{"epoch_s": 1790179890.8324351, "available_ram_bytes": 25247268864, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 12265930752, "process_count": 2}
|
||||
{"epoch_s": 1790179891.333612, "available_ram_bytes": 24257142784, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 13251993600, "process_count": 2}
|
||||
{"epoch_s": 1790179891.8349512, "available_ram_bytes": 23828701184, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 13684248576, "process_count": 2}
|
||||
{"epoch_s": 1790179892.336097, "available_ram_bytes": 23374880768, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14134996992, "process_count": 2}
|
||||
{"epoch_s": 1790179892.8376987, "available_ram_bytes": 23324745728, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14049017856, "process_count": 2}
|
||||
{"epoch_s": 1790179893.3397183, "available_ram_bytes": 23323545600, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14064459776, "process_count": 2}
|
||||
{"epoch_s": 1790179893.8410776, "available_ram_bytes": 23323959296, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14064459776, "process_count": 2}
|
||||
{"epoch_s": 1790179894.3422878, "available_ram_bytes": 23320571904, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14067552256, "process_count": 2}
|
||||
{"epoch_s": 1790179894.8434289, "available_ram_bytes": 23328575488, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14067617792, "process_count": 2}
|
||||
{"epoch_s": 1790179895.3445425, "available_ram_bytes": 23204040704, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14203412480, "process_count": 2}
|
||||
{"epoch_s": 1790179895.8462114, "available_ram_bytes": 23204040704, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14203412480, "process_count": 2}
|
||||
{"epoch_s": 1790179896.34773, "available_ram_bytes": 23212298240, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14203412480, "process_count": 2}
|
||||
{"epoch_s": 1790179896.8489065, "available_ram_bytes": 23212556288, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14203412480, "process_count": 2}
|
||||
{"epoch_s": 1790179897.350155, "available_ram_bytes": 23220813824, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14203412480, "process_count": 2}
|
||||
{"epoch_s": 1790179897.8518147, "available_ram_bytes": 23221268480, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14203412480, "process_count": 2}
|
||||
{"epoch_s": 1790179898.3535826, "available_ram_bytes": 23214559232, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14208086016, "process_count": 2}
|
||||
{"epoch_s": 1790179898.8548405, "available_ram_bytes": 23214911488, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14208086016, "process_count": 2}
|
||||
{"epoch_s": 1790179899.3566906, "available_ram_bytes": 23214911488, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14208086016, "process_count": 2}
|
||||
{"epoch_s": 1790179899.8583972, "available_ram_bytes": 23223742464, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14208086016, "process_count": 2}
|
||||
{"epoch_s": 1790179900.3606796, "available_ram_bytes": 23220289536, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215561216, "process_count": 2}
|
||||
{"epoch_s": 1790179900.8622127, "available_ram_bytes": 23219695616, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215561216, "process_count": 2}
|
||||
{"epoch_s": 1790179901.3643394, "available_ram_bytes": 23227953152, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215561216, "process_count": 2}
|
||||
{"epoch_s": 1790179901.8660183, "available_ram_bytes": 23229267968, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215565312, "process_count": 2}
|
||||
{"epoch_s": 1790179902.368171, "available_ram_bytes": 23229267968, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215565312, "process_count": 2}
|
||||
{"epoch_s": 1790179902.8704312, "available_ram_bytes": 23229538304, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14215565312, "process_count": 2}
|
||||
{"epoch_s": 1790179903.3724554, "available_ram_bytes": 23230341120, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14218084352, "process_count": 2}
|
||||
{"epoch_s": 1790179903.8746629, "available_ram_bytes": 23206715392, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14250598400, "process_count": 2}
|
||||
{"epoch_s": 1790179904.3761482, "available_ram_bytes": 23190687744, "used_swap_bytes": 993943552, "summed_process_tree_rss_bytes": 14267187200, "process_count": 2}
|
||||
{"epoch_s": 1790179904.8775342, "available_ram_bytes": 23157944320, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14294069248, "process_count": 2}
|
||||
{"epoch_s": 1790179905.3786852, "available_ram_bytes": 23125819392, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14330413056, "process_count": 2}
|
||||
{"epoch_s": 1790179905.880113, "available_ram_bytes": 23035342848, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14419591168, "process_count": 2}
|
||||
{"epoch_s": 1790179906.3818493, "available_ram_bytes": 22936281088, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14515978240, "process_count": 2}
|
||||
{"epoch_s": 1790179906.8834062, "available_ram_bytes": 22747029504, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14702284800, "process_count": 2}
|
||||
{"epoch_s": 1790179907.385946, "available_ram_bytes": 22637649920, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808698880, "process_count": 2}
|
||||
{"epoch_s": 1790179907.887151, "available_ram_bytes": 22644842496, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808530944, "process_count": 2}
|
||||
{"epoch_s": 1790179908.3890116, "available_ram_bytes": 22644588544, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808530944, "process_count": 2}
|
||||
{"epoch_s": 1790179908.8904567, "available_ram_bytes": 22644502528, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808530944, "process_count": 2}
|
||||
{"epoch_s": 1790179909.3926132, "available_ram_bytes": 22599946240, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14816784384, "process_count": 2}
|
||||
{"epoch_s": 1790179909.8943157, "available_ram_bytes": 22598569984, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815842304, "process_count": 2}
|
||||
{"epoch_s": 1790179910.3954725, "available_ram_bytes": 22599147520, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815842304, "process_count": 2}
|
||||
{"epoch_s": 1790179910.8976178, "available_ram_bytes": 22599147520, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14818131968, "process_count": 2}
|
||||
{"epoch_s": 1790179911.3987856, "available_ram_bytes": 23529906176, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13248405504, "process_count": 2}
|
||||
{"epoch_s": 1790179911.8998268, "available_ram_bytes": 30668857344, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 1134469120, "process_count": 2}
|
||||
{"epoch_s": 1790179912.401471, "available_ram_bytes": 29911949312, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 6907289600, "process_count": 2}
|
||||
{"epoch_s": 1790179912.9032269, "available_ram_bytes": 29294559232, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 7527669760, "process_count": 2}
|
||||
{"epoch_s": 1790179913.4042966, "available_ram_bytes": 28277940224, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 8398823424, "process_count": 2}
|
||||
{"epoch_s": 1790179913.9058142, "available_ram_bytes": 27586519040, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 9217327104, "process_count": 2}
|
||||
{"epoch_s": 1790179914.4068706, "available_ram_bytes": 26893832192, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 10492592128, "process_count": 2}
|
||||
{"epoch_s": 1790179914.9079518, "available_ram_bytes": 25916145664, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 11475496960, "process_count": 2}
|
||||
{"epoch_s": 1790179915.4090345, "available_ram_bytes": 26092519424, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 11301920768, "process_count": 2}
|
||||
{"epoch_s": 1790179915.9107673, "available_ram_bytes": 25184006144, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 12264374272, "process_count": 2}
|
||||
{"epoch_s": 1790179916.4120471, "available_ram_bytes": 24634933248, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 12822650880, "process_count": 2}
|
||||
{"epoch_s": 1790179916.913621, "available_ram_bytes": 24339521536, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13111488512, "process_count": 2}
|
||||
{"epoch_s": 1790179917.4151325, "available_ram_bytes": 23916605440, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13540147200, "process_count": 2}
|
||||
{"epoch_s": 1790179917.9163327, "available_ram_bytes": 23429824512, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14013816832, "process_count": 2}
|
||||
{"epoch_s": 1790179918.418135, "available_ram_bytes": 23281741824, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14048837632, "process_count": 2}
|
||||
{"epoch_s": 1790179918.9196637, "available_ram_bytes": 23282368512, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14055526400, "process_count": 2}
|
||||
{"epoch_s": 1790179919.421172, "available_ram_bytes": 23276019712, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14064324608, "process_count": 2}
|
||||
{"epoch_s": 1790179919.9229057, "available_ram_bytes": 23283036160, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14067417088, "process_count": 2}
|
||||
{"epoch_s": 1790179920.424753, "available_ram_bytes": 23284035584, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14067417088, "process_count": 2}
|
||||
{"epoch_s": 1790179920.9263556, "available_ram_bytes": 23170039808, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203310080, "process_count": 2}
|
||||
{"epoch_s": 1790179921.4275563, "available_ram_bytes": 23170887680, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203310080, "process_count": 2}
|
||||
{"epoch_s": 1790179921.9291363, "available_ram_bytes": 23186944000, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203310080, "process_count": 2}
|
||||
{"epoch_s": 1790179922.430884, "available_ram_bytes": 23196319744, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203310080, "process_count": 2}
|
||||
{"epoch_s": 1790179922.9321866, "available_ram_bytes": 23199612928, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203310080, "process_count": 2}
|
||||
{"epoch_s": 1790179923.4339936, "available_ram_bytes": 23208517632, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203310080, "process_count": 2}
|
||||
{"epoch_s": 1790179923.93569, "available_ram_bytes": 23203323904, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14207983616, "process_count": 2}
|
||||
{"epoch_s": 1790179924.4380658, "available_ram_bytes": 23211143168, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14207983616, "process_count": 2}
|
||||
{"epoch_s": 1790179924.9395866, "available_ram_bytes": 23214252032, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14207983616, "process_count": 2}
|
||||
{"epoch_s": 1790179925.4416406, "available_ram_bytes": 23222632448, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14209257472, "process_count": 2}
|
||||
{"epoch_s": 1790179925.943631, "available_ram_bytes": 23217672192, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215458816, "process_count": 2}
|
||||
{"epoch_s": 1790179926.444872, "available_ram_bytes": 23225262080, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215458816, "process_count": 2}
|
||||
{"epoch_s": 1790179926.946508, "available_ram_bytes": 23227981824, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215467008, "process_count": 2}
|
||||
{"epoch_s": 1790179927.4479668, "available_ram_bytes": 23235284992, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215467008, "process_count": 2}
|
||||
{"epoch_s": 1790179927.9504895, "available_ram_bytes": 23235956736, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215467008, "process_count": 2}
|
||||
{"epoch_s": 1790179928.4520671, "available_ram_bytes": 23238447104, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14217981952, "process_count": 2}
|
||||
{"epoch_s": 1790179928.9537845, "available_ram_bytes": 23164559360, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14287679488, "process_count": 2}
|
||||
{"epoch_s": 1790179929.4550607, "available_ram_bytes": 23065767936, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14381031424, "process_count": 2}
|
||||
{"epoch_s": 1790179929.9562871, "available_ram_bytes": 22960394240, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14485188608, "process_count": 2}
|
||||
{"epoch_s": 1790179930.4576468, "available_ram_bytes": 22828445696, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14613569536, "process_count": 2}
|
||||
{"epoch_s": 1790179930.9598074, "available_ram_bytes": 22655852544, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14795276288, "process_count": 2}
|
||||
{"epoch_s": 1790179931.4610255, "available_ram_bytes": 22642044928, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808428544, "process_count": 2}
|
||||
{"epoch_s": 1790179931.9627457, "available_ram_bytes": 22641913856, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808428544, "process_count": 2}
|
||||
{"epoch_s": 1790179932.4640324, "available_ram_bytes": 22643662848, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808428544, "process_count": 2}
|
||||
{"epoch_s": 1790179932.9660275, "available_ram_bytes": 22606458880, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14816686080, "process_count": 2}
|
||||
{"epoch_s": 1790179933.467179, "available_ram_bytes": 22606520320, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815739904, "process_count": 2}
|
||||
{"epoch_s": 1790179933.9683595, "available_ram_bytes": 22606520320, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815739904, "process_count": 2}
|
||||
{"epoch_s": 1790179934.469613, "available_ram_bytes": 22607646720, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815739904, "process_count": 2}
|
||||
{"epoch_s": 1790179934.9712286, "available_ram_bytes": 22607798272, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14799843328, "process_count": 2}
|
||||
{"epoch_s": 1790179935.4729364, "available_ram_bytes": 29794443264, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 1120501760, "process_count": 2}
|
||||
{"epoch_s": 1790179935.974277, "available_ram_bytes": 29940146176, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 6911000576, "process_count": 2}
|
||||
{"epoch_s": 1790179936.4754574, "available_ram_bytes": 28884811776, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 7967580160, "process_count": 2}
|
||||
{"epoch_s": 1790179936.9765418, "available_ram_bytes": 27854106624, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 8983195648, "process_count": 2}
|
||||
{"epoch_s": 1790179937.47773, "available_ram_bytes": 26753085440, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 10672975872, "process_count": 2}
|
||||
{"epoch_s": 1790179937.9789422, "available_ram_bytes": 25184595968, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 12245266432, "process_count": 2}
|
||||
{"epoch_s": 1790179938.4803038, "available_ram_bytes": 25049767936, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 12376666112, "process_count": 2}
|
||||
{"epoch_s": 1790179938.981708, "available_ram_bytes": 24180596736, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13244522496, "process_count": 2}
|
||||
{"epoch_s": 1790179939.4829538, "available_ram_bytes": 23677968384, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13748465664, "process_count": 2}
|
||||
{"epoch_s": 1790179939.9846215, "available_ram_bytes": 23191195648, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14151593984, "process_count": 2}
|
||||
{"epoch_s": 1790179940.4869766, "available_ram_bytes": 23269494784, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14049046528, "process_count": 2}
|
||||
{"epoch_s": 1790179940.9893384, "available_ram_bytes": 23266512896, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14055641088, "process_count": 2}
|
||||
{"epoch_s": 1790179941.4915214, "available_ram_bytes": 23267520512, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14064439296, "process_count": 2}
|
||||
{"epoch_s": 1790179941.9928286, "available_ram_bytes": 23272984576, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14067531776, "process_count": 2}
|
||||
{"epoch_s": 1790179942.4943907, "available_ram_bytes": 23273902080, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14067531776, "process_count": 2}
|
||||
{"epoch_s": 1790179942.996217, "available_ram_bytes": 23163183104, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14176845824, "process_count": 2}
|
||||
{"epoch_s": 1790179943.4978957, "available_ram_bytes": 23142182912, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203457536, "process_count": 2}
|
||||
{"epoch_s": 1790179943.999462, "available_ram_bytes": 23152001024, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203457536, "process_count": 2}
|
||||
{"epoch_s": 1790179944.5014915, "available_ram_bytes": 23155871744, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203457536, "process_count": 2}
|
||||
{"epoch_s": 1790179945.0026834, "available_ram_bytes": 23155871744, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203457536, "process_count": 2}
|
||||
{"epoch_s": 1790179945.5042672, "available_ram_bytes": 23160623104, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203457536, "process_count": 2}
|
||||
{"epoch_s": 1790179946.0057132, "available_ram_bytes": 23169142784, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203457536, "process_count": 2}
|
||||
{"epoch_s": 1790179946.50697, "available_ram_bytes": 23169675264, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14208131072, "process_count": 2}
|
||||
{"epoch_s": 1790179947.0085921, "available_ram_bytes": 23170871296, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14208131072, "process_count": 2}
|
||||
{"epoch_s": 1790179947.5106068, "available_ram_bytes": 23174070272, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14208131072, "process_count": 2}
|
||||
{"epoch_s": 1790179948.0122714, "available_ram_bytes": 23179345920, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14212722688, "process_count": 2}
|
||||
{"epoch_s": 1790179948.5143309, "available_ram_bytes": 23180648448, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215606272, "process_count": 2}
|
||||
{"epoch_s": 1790179949.0162606, "available_ram_bytes": 23180906496, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215606272, "process_count": 2}
|
||||
{"epoch_s": 1790179949.5177581, "available_ram_bytes": 23182422016, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215610368, "process_count": 2}
|
||||
{"epoch_s": 1790179950.0194323, "available_ram_bytes": 23190679552, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215610368, "process_count": 2}
|
||||
{"epoch_s": 1790179950.5209594, "available_ram_bytes": 23195533312, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215610368, "process_count": 2}
|
||||
{"epoch_s": 1790179951.0230954, "available_ram_bytes": 23195906048, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14218125312, "process_count": 2}
|
||||
{"epoch_s": 1790179951.5242722, "available_ram_bytes": 23143432192, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14277525504, "process_count": 2}
|
||||
{"epoch_s": 1790179952.0255759, "available_ram_bytes": 23086358528, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14337662976, "process_count": 2}
|
||||
{"epoch_s": 1790179952.5266979, "available_ram_bytes": 23006597120, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14426841088, "process_count": 2}
|
||||
{"epoch_s": 1790179953.0277877, "available_ram_bytes": 22924677120, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14508605440, "process_count": 2}
|
||||
{"epoch_s": 1790179953.5294564, "available_ram_bytes": 22744465408, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14702325760, "process_count": 2}
|
||||
{"epoch_s": 1790179954.0314891, "available_ram_bytes": 22634737664, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808739840, "process_count": 2}
|
||||
{"epoch_s": 1790179954.5326881, "available_ram_bytes": 22643240960, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808571904, "process_count": 2}
|
||||
{"epoch_s": 1790179955.0344136, "available_ram_bytes": 22642515968, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808571904, "process_count": 2}
|
||||
{"epoch_s": 1790179955.5357828, "available_ram_bytes": 22652284928, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808571904, "process_count": 2}
|
||||
{"epoch_s": 1790179956.0376525, "available_ram_bytes": 22611398656, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14816825344, "process_count": 2}
|
||||
{"epoch_s": 1790179956.5389132, "available_ram_bytes": 22618075136, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815883264, "process_count": 2}
|
||||
{"epoch_s": 1790179957.040057, "available_ram_bytes": 22618075136, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815883264, "process_count": 2}
|
||||
{"epoch_s": 1790179957.5415456, "available_ram_bytes": 22616387584, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14818172928, "process_count": 2}
|
||||
{"epoch_s": 1790179958.0427742, "available_ram_bytes": 23420264448, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13387522048, "process_count": 2}
|
||||
{"epoch_s": 1790179958.5438435, "available_ram_bytes": 30698733568, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 1120509952, "process_count": 1}
|
||||
{"epoch_s": 1790179959.0450594, "available_ram_bytes": 29698166784, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 7142805504, "process_count": 2}
|
||||
{"epoch_s": 1790179959.5461907, "available_ram_bytes": 28841345024, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 8009080832, "process_count": 2}
|
||||
{"epoch_s": 1790179960.0472882, "available_ram_bytes": 27516268544, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 9334882304, "process_count": 2}
|
||||
{"epoch_s": 1790179960.5485647, "available_ram_bytes": 26329661440, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 11099095040, "process_count": 2}
|
||||
{"epoch_s": 1790179961.0500772, "available_ram_bytes": 25156517888, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 12272304128, "process_count": 2}
|
||||
{"epoch_s": 1790179961.5514734, "available_ram_bytes": 25497653248, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 11936714752, "process_count": 2}
|
||||
{"epoch_s": 1790179962.05295, "available_ram_bytes": 24581529600, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 12853751808, "process_count": 2}
|
||||
{"epoch_s": 1790179962.5548205, "available_ram_bytes": 24057499648, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13382266880, "process_count": 2}
|
||||
{"epoch_s": 1790179963.0561912, "available_ram_bytes": 23553744896, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13875949568, "process_count": 2}
|
||||
{"epoch_s": 1790179963.5581121, "available_ram_bytes": 23256633344, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14049103872, "process_count": 2}
|
||||
{"epoch_s": 1790179964.0599968, "available_ram_bytes": 23256829952, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14049103872, "process_count": 2}
|
||||
{"epoch_s": 1790179964.5620654, "available_ram_bytes": 23259783168, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14064492544, "process_count": 2}
|
||||
{"epoch_s": 1790179965.0635405, "available_ram_bytes": 23256055808, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14067585024, "process_count": 2}
|
||||
{"epoch_s": 1790179965.5654068, "available_ram_bytes": 23259635712, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14067585024, "process_count": 2}
|
||||
{"epoch_s": 1790179966.0672014, "available_ram_bytes": 23137484800, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790179966.5691442, "available_ram_bytes": 23148818432, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790179967.0713513, "available_ram_bytes": 23148818432, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790179967.5729809, "available_ram_bytes": 23161438208, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790179968.0745997, "available_ram_bytes": 23161438208, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790179968.5760887, "available_ram_bytes": 23172317184, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790179969.078215, "available_ram_bytes": 23173869568, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203576320, "process_count": 2}
|
||||
{"epoch_s": 1790179969.5794466, "available_ram_bytes": 23177912320, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14208184320, "process_count": 2}
|
||||
{"epoch_s": 1790179970.0813243, "available_ram_bytes": 23179247616, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14208184320, "process_count": 2}
|
||||
{"epoch_s": 1790179970.582963, "available_ram_bytes": 23187812352, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14208184320, "process_count": 2}
|
||||
{"epoch_s": 1790179971.0846612, "available_ram_bytes": 23185375232, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14212775936, "process_count": 2}
|
||||
{"epoch_s": 1790179971.5864465, "available_ram_bytes": 23192899584, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215659520, "process_count": 2}
|
||||
{"epoch_s": 1790179972.0883868, "available_ram_bytes": 23192899584, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215659520, "process_count": 2}
|
||||
{"epoch_s": 1790179972.590318, "available_ram_bytes": 23193165824, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215667712, "process_count": 2}
|
||||
{"epoch_s": 1790179973.091707, "available_ram_bytes": 23193165824, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215675904, "process_count": 2}
|
||||
{"epoch_s": 1790179973.5936568, "available_ram_bytes": 23201423360, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215675904, "process_count": 2}
|
||||
{"epoch_s": 1790179974.095297, "available_ram_bytes": 23178608640, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14238707712, "process_count": 2}
|
||||
{"epoch_s": 1790179974.5966687, "available_ram_bytes": 23104131072, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14317170688, "process_count": 2}
|
||||
{"epoch_s": 1790179975.0985038, "available_ram_bytes": 22996783104, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14416850944, "process_count": 2}
|
||||
{"epoch_s": 1790179975.5997863, "available_ram_bytes": 22913581056, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14518575104, "process_count": 2}
|
||||
{"epoch_s": 1790179976.1009853, "available_ram_bytes": 22731685888, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14702428160, "process_count": 2}
|
||||
{"epoch_s": 1790179976.6022224, "available_ram_bytes": 22619607040, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808674304, "process_count": 2}
|
||||
{"epoch_s": 1790179977.10385, "available_ram_bytes": 22626947072, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808674304, "process_count": 2}
|
||||
{"epoch_s": 1790179977.6057234, "available_ram_bytes": 22626791424, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808674304, "process_count": 2}
|
||||
{"epoch_s": 1790179978.1070578, "available_ram_bytes": 22626791424, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808674304, "process_count": 2}
|
||||
{"epoch_s": 1790179978.6083467, "available_ram_bytes": 22596415488, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815985664, "process_count": 2}
|
||||
{"epoch_s": 1790179979.109676, "available_ram_bytes": 22596206592, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815985664, "process_count": 2}
|
||||
{"epoch_s": 1790179979.6110694, "available_ram_bytes": 22607548416, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14815985664, "process_count": 2}
|
||||
{"epoch_s": 1790179980.1124272, "available_ram_bytes": 22607548416, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14818275328, "process_count": 2}
|
||||
{"epoch_s": 1790179980.6139767, "available_ram_bytes": 24684523520, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 12107288576, "process_count": 2}
|
||||
{"epoch_s": 1790179981.1153445, "available_ram_bytes": 30654029824, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 1172725760, "process_count": 2}
|
||||
{"epoch_s": 1790179981.6165292, "available_ram_bytes": 29481775104, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 7360471040, "process_count": 2}
|
||||
{"epoch_s": 1790179982.1182015, "available_ram_bytes": 28366864384, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 8477831168, "process_count": 2}
|
||||
{"epoch_s": 1790179982.6198947, "available_ram_bytes": 27289911296, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 9546162176, "process_count": 2}
|
||||
{"epoch_s": 1790179983.1209853, "available_ram_bytes": 26308960256, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 11111636992, "process_count": 2}
|
||||
{"epoch_s": 1790179983.6222572, "available_ram_bytes": 26069757952, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 11193389056, "process_count": 2}
|
||||
{"epoch_s": 1790179984.1233697, "available_ram_bytes": 24764063744, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 12661469184, "process_count": 2}
|
||||
{"epoch_s": 1790179984.6245377, "available_ram_bytes": 24242323456, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13078142976, "process_count": 2}
|
||||
{"epoch_s": 1790179985.1256971, "available_ram_bytes": 23641505792, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 13803155456, "process_count": 2}
|
||||
{"epoch_s": 1790179985.6270704, "available_ram_bytes": 23258349568, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14049148928, "process_count": 2}
|
||||
{"epoch_s": 1790179986.1288078, "available_ram_bytes": 23258177536, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14049148928, "process_count": 2}
|
||||
{"epoch_s": 1790179986.6305003, "available_ram_bytes": 23255883776, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14064541696, "process_count": 2}
|
||||
{"epoch_s": 1790179987.1324377, "available_ram_bytes": 23252643840, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14067634176, "process_count": 2}
|
||||
{"epoch_s": 1790179987.6346376, "available_ram_bytes": 23265054720, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14067634176, "process_count": 2}
|
||||
{"epoch_s": 1790179988.1358156, "available_ram_bytes": 23130869760, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203559936, "process_count": 2}
|
||||
{"epoch_s": 1790179988.6374528, "available_ram_bytes": 23130243072, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203559936, "process_count": 2}
|
||||
{"epoch_s": 1790179989.1386688, "available_ram_bytes": 23130243072, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203559936, "process_count": 2}
|
||||
{"epoch_s": 1790179989.6405244, "available_ram_bytes": 23130099712, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203559936, "process_count": 2}
|
||||
{"epoch_s": 1790179990.1423943, "available_ram_bytes": 23130382336, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203559936, "process_count": 2}
|
||||
{"epoch_s": 1790179990.6439273, "available_ram_bytes": 23138639872, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203559936, "process_count": 2}
|
||||
{"epoch_s": 1790179991.1455832, "available_ram_bytes": 23138639872, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14203625472, "process_count": 2}
|
||||
{"epoch_s": 1790179991.6471303, "available_ram_bytes": 23143153664, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14208233472, "process_count": 2}
|
||||
{"epoch_s": 1790179992.1488435, "available_ram_bytes": 23143153664, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14208233472, "process_count": 2}
|
||||
{"epoch_s": 1790179992.6500976, "available_ram_bytes": 23151079424, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14208233472, "process_count": 2}
|
||||
{"epoch_s": 1790179993.1520216, "available_ram_bytes": 23148531712, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215708672, "process_count": 2}
|
||||
{"epoch_s": 1790179993.653971, "available_ram_bytes": 23148048384, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215708672, "process_count": 2}
|
||||
{"epoch_s": 1790179994.1553724, "available_ram_bytes": 23153041408, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215708672, "process_count": 2}
|
||||
{"epoch_s": 1790179994.6571426, "available_ram_bytes": 23153041408, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215761920, "process_count": 2}
|
||||
{"epoch_s": 1790179995.1585522, "available_ram_bytes": 23153041408, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14215770112, "process_count": 2}
|
||||
{"epoch_s": 1790179995.6603756, "available_ram_bytes": 23166398464, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14218280960, "process_count": 2}
|
||||
{"epoch_s": 1790179996.1622329, "available_ram_bytes": 23108997120, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14274805760, "process_count": 2}
|
||||
{"epoch_s": 1790179996.6634274, "available_ram_bytes": 23018360832, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14364188672, "process_count": 2}
|
||||
{"epoch_s": 1790179997.1646073, "available_ram_bytes": 22911184896, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14466547712, "process_count": 2}
|
||||
{"epoch_s": 1790179997.6659007, "available_ram_bytes": 22765002752, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14610214912, "process_count": 2}
|
||||
{"epoch_s": 1790179998.1676111, "available_ram_bytes": 22604320768, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14787391488, "process_count": 2}
|
||||
{"epoch_s": 1790179998.6688375, "available_ram_bytes": 22570790912, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808735744, "process_count": 2}
|
||||
{"epoch_s": 1790179999.170333, "available_ram_bytes": 22570831872, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808735744, "process_count": 2}
|
||||
{"epoch_s": 1790179999.6718087, "available_ram_bytes": 22584422400, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14808735744, "process_count": 2}
|
||||
{"epoch_s": 1790180000.173854, "available_ram_bytes": 22567907328, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14801543168, "process_count": 2}
|
||||
{"epoch_s": 1790180000.675061, "available_ram_bytes": 22546833408, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14816047104, "process_count": 2}
|
||||
{"epoch_s": 1790180001.1764462, "available_ram_bytes": 22555140096, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14816047104, "process_count": 2}
|
||||
{"epoch_s": 1790180001.677814, "available_ram_bytes": 22559666176, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14816047104, "process_count": 2}
|
||||
{"epoch_s": 1790180002.1795573, "available_ram_bytes": 22546165760, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 14820110336, "process_count": 2}
|
||||
{"epoch_s": 1790180002.6806998, "available_ram_bytes": 27616645120, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 9146576896, "process_count": 2}
|
||||
{"epoch_s": 1790180003.1824646, "available_ram_bytes": 30353174528, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 6465896448, "process_count": 2}
|
||||
{"epoch_s": 1790180003.6837807, "available_ram_bytes": 29047214080, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 7756943360, "process_count": 2}
|
||||
{"epoch_s": 1790180004.1848967, "available_ram_bytes": 27742638080, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 9065787392, "process_count": 2}
|
||||
{"epoch_s": 1790180004.6861517, "available_ram_bytes": 26811883520, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 10585853952, "process_count": 2}
|
||||
{"epoch_s": 1790180005.1873634, "available_ram_bytes": 25250799616, "used_swap_bytes": 993841152, "summed_process_tree_rss_bytes": 12140949504, "process_count": 2}
|
||||
{"epoch_s": 1790180005.688601, "available_ram_bytes": 25064411136, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 12334608384, "process_count": 2}
|
||||
{"epoch_s": 1790180006.1898963, "available_ram_bytes": 23443111936, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13951717376, "process_count": 2}
|
||||
{"epoch_s": 1790180006.6916227, "available_ram_bytes": 23213449216, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14049103872, "process_count": 2}
|
||||
{"epoch_s": 1790180007.194067, "available_ram_bytes": 23217618944, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14055698432, "process_count": 2}
|
||||
{"epoch_s": 1790180007.6962433, "available_ram_bytes": 23219474432, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064496640, "process_count": 2}
|
||||
{"epoch_s": 1790180008.198428, "available_ram_bytes": 23216635904, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067589120, "process_count": 2}
|
||||
{"epoch_s": 1790180008.7005308, "available_ram_bytes": 23225667584, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067589120, "process_count": 2}
|
||||
{"epoch_s": 1790180009.202022, "available_ram_bytes": 23191695360, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14112030720, "process_count": 2}
|
||||
{"epoch_s": 1790180009.7038503, "available_ram_bytes": 23110090752, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203514880, "process_count": 2}
|
||||
{"epoch_s": 1790180010.2061756, "available_ram_bytes": 23110909952, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203514880, "process_count": 2}
|
||||
{"epoch_s": 1790180010.7077038, "available_ram_bytes": 23118331904, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203514880, "process_count": 2}
|
||||
{"epoch_s": 1790180011.209691, "available_ram_bytes": 23124205568, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203514880, "process_count": 2}
|
||||
{"epoch_s": 1790180011.7112947, "available_ram_bytes": 23135166464, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203514880, "process_count": 2}
|
||||
{"epoch_s": 1790180012.2125065, "available_ram_bytes": 23135166464, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203514880, "process_count": 2}
|
||||
{"epoch_s": 1790180012.7142992, "available_ram_bytes": 23136350208, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203580416, "process_count": 2}
|
||||
{"epoch_s": 1790180013.2160594, "available_ram_bytes": 23141163008, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203580416, "process_count": 2}
|
||||
{"epoch_s": 1790180013.7173123, "available_ram_bytes": 23147040768, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208188416, "process_count": 2}
|
||||
{"epoch_s": 1790180014.2191913, "available_ram_bytes": 23147040768, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208188416, "process_count": 2}
|
||||
{"epoch_s": 1790180014.7212603, "available_ram_bytes": 23147970560, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208188416, "process_count": 2}
|
||||
{"epoch_s": 1790180015.223296, "available_ram_bytes": 23148740608, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14212780032, "process_count": 2}
|
||||
{"epoch_s": 1790180015.7250853, "available_ram_bytes": 23156920320, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215663616, "process_count": 2}
|
||||
{"epoch_s": 1790180016.2266965, "available_ram_bytes": 23156604928, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215663616, "process_count": 2}
|
||||
{"epoch_s": 1790180016.7282631, "available_ram_bytes": 23157014528, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215716864, "process_count": 2}
|
||||
{"epoch_s": 1790180017.2298706, "available_ram_bytes": 23160696832, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215725056, "process_count": 2}
|
||||
{"epoch_s": 1790180017.7314003, "available_ram_bytes": 23163359232, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215725056, "process_count": 2}
|
||||
{"epoch_s": 1790180018.234233, "available_ram_bytes": 23164035072, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14218240000, "process_count": 2}
|
||||
{"epoch_s": 1790180018.7354624, "available_ram_bytes": 23102046208, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14283612160, "process_count": 2}
|
||||
{"epoch_s": 1790180019.2369788, "available_ram_bytes": 23027871744, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14355881984, "process_count": 2}
|
||||
{"epoch_s": 1790180019.73859, "available_ram_bytes": 22936756224, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14458216448, "process_count": 2}
|
||||
{"epoch_s": 1790180020.2399106, "available_ram_bytes": 22829150208, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14564028416, "process_count": 2}
|
||||
{"epoch_s": 1790180020.7419918, "available_ram_bytes": 22625218560, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14775877632, "process_count": 2}
|
||||
{"epoch_s": 1790180021.2435613, "available_ram_bytes": 22584717312, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808686592, "process_count": 2}
|
||||
{"epoch_s": 1790180021.7446773, "available_ram_bytes": 22591041536, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808686592, "process_count": 2}
|
||||
{"epoch_s": 1790180022.2465367, "available_ram_bytes": 22598909952, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808686592, "process_count": 2}
|
||||
{"epoch_s": 1790180022.7484438, "available_ram_bytes": 22585090048, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14791991296, "process_count": 2}
|
||||
{"epoch_s": 1790180023.2500544, "available_ram_bytes": 22554296320, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14815997952, "process_count": 2}
|
||||
{"epoch_s": 1790180023.7512045, "available_ram_bytes": 22568910848, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14815997952, "process_count": 2}
|
||||
{"epoch_s": 1790180024.2525845, "available_ram_bytes": 22568910848, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14815997952, "process_count": 2}
|
||||
{"epoch_s": 1790180024.7547817, "available_ram_bytes": 22565183488, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14820024320, "process_count": 2}
|
||||
{"epoch_s": 1790180025.255872, "available_ram_bytes": 26187706368, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 10552406016, "process_count": 2}
|
||||
{"epoch_s": 1790180025.757855, "available_ram_bytes": 30537056256, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 6283083776, "process_count": 2}
|
||||
{"epoch_s": 1790180026.2596657, "available_ram_bytes": 29259800576, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 7569633280, "process_count": 2}
|
||||
{"epoch_s": 1790180026.7611222, "available_ram_bytes": 28359692288, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 8468258816, "process_count": 2}
|
||||
{"epoch_s": 1790180027.2629712, "available_ram_bytes": 27517210624, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 9313210368, "process_count": 2}
|
||||
{"epoch_s": 1790180027.7641137, "available_ram_bytes": 26413236224, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 10996486144, "process_count": 2}
|
||||
{"epoch_s": 1790180028.2654567, "available_ram_bytes": 25157976064, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 12252721152, "process_count": 2}
|
||||
{"epoch_s": 1790180028.7672176, "available_ram_bytes": 24969801728, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 12450398208, "process_count": 2}
|
||||
{"epoch_s": 1790180029.2690165, "available_ram_bytes": 24069861376, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13348106240, "process_count": 2}
|
||||
{"epoch_s": 1790180029.7702968, "available_ram_bytes": 23582801920, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13839085568, "process_count": 2}
|
||||
{"epoch_s": 1790180030.2722337, "available_ram_bytes": 23237746688, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14049075200, "process_count": 2}
|
||||
{"epoch_s": 1790180030.7746165, "available_ram_bytes": 23246331904, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14049075200, "process_count": 2}
|
||||
{"epoch_s": 1790180031.276931, "available_ram_bytes": 23242448896, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064496640, "process_count": 2}
|
||||
{"epoch_s": 1790180031.7788842, "available_ram_bytes": 23250866176, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064496640, "process_count": 2}
|
||||
{"epoch_s": 1790180032.2811744, "available_ram_bytes": 23248257024, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067589120, "process_count": 2}
|
||||
{"epoch_s": 1790180032.7827866, "available_ram_bytes": 23261011968, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067589120, "process_count": 2}
|
||||
{"epoch_s": 1790180033.284531, "available_ram_bytes": 23126315008, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180033.7863536, "available_ram_bytes": 23126446080, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180034.2884157, "available_ram_bytes": 23126818816, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180034.7903585, "available_ram_bytes": 23128530944, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180035.2919114, "available_ram_bytes": 23140155392, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180035.793967, "available_ram_bytes": 23144161280, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180036.2954032, "available_ram_bytes": 23150313472, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203613184, "process_count": 2}
|
||||
{"epoch_s": 1790180036.796843, "available_ram_bytes": 23147220992, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208221184, "process_count": 2}
|
||||
{"epoch_s": 1790180037.298081, "available_ram_bytes": 23154790400, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208221184, "process_count": 2}
|
||||
{"epoch_s": 1790180037.7992208, "available_ram_bytes": 23155265536, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208221184, "process_count": 2}
|
||||
{"epoch_s": 1790180038.3012452, "available_ram_bytes": 23165374464, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14212812800, "process_count": 2}
|
||||
{"epoch_s": 1790180038.8030918, "available_ram_bytes": 23164256256, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215696384, "process_count": 2}
|
||||
{"epoch_s": 1790180039.3049123, "available_ram_bytes": 23167406080, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215696384, "process_count": 2}
|
||||
{"epoch_s": 1790180039.8068466, "available_ram_bytes": 23180496896, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215704576, "process_count": 2}
|
||||
{"epoch_s": 1790180040.3086576, "available_ram_bytes": 23191920640, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215704576, "process_count": 2}
|
||||
{"epoch_s": 1790180040.810928, "available_ram_bytes": 23191920640, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215704576, "process_count": 2}
|
||||
{"epoch_s": 1790180041.3125293, "available_ram_bytes": 23161004032, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14248570880, "process_count": 2}
|
||||
{"epoch_s": 1790180041.8137271, "available_ram_bytes": 23129677824, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14287917056, "process_count": 2}
|
||||
{"epoch_s": 1790180042.3148062, "available_ram_bytes": 23057743872, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14367002624, "process_count": 2}
|
||||
{"epoch_s": 1790180042.8161454, "available_ram_bytes": 22975053824, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14455214080, "process_count": 2}
|
||||
{"epoch_s": 1790180043.318138, "available_ram_bytes": 22867935232, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14558240768, "process_count": 2}
|
||||
{"epoch_s": 1790180043.8199563, "available_ram_bytes": 22710165504, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14721323008, "process_count": 2}
|
||||
{"epoch_s": 1790180044.3213813, "available_ram_bytes": 22633635840, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808678400, "process_count": 2}
|
||||
{"epoch_s": 1790180044.8230984, "available_ram_bytes": 22633361408, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808678400, "process_count": 2}
|
||||
{"epoch_s": 1790180045.3250556, "available_ram_bytes": 22637981696, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808678400, "process_count": 2}
|
||||
{"epoch_s": 1790180045.8270006, "available_ram_bytes": 22629781504, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14810968064, "process_count": 2}
|
||||
{"epoch_s": 1790180046.3280437, "available_ram_bytes": 22800314368, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14605975552, "process_count": 2}
|
||||
{"epoch_s": 1790180046.829152, "available_ram_bytes": 29671096320, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 1120518144, "process_count": 2}
|
||||
{"epoch_s": 1790180047.3303888, "available_ram_bytes": 29951459328, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 6883553280, "process_count": 2}
|
||||
{"epoch_s": 1790180047.8315663, "available_ram_bytes": 28787150848, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 8056152064, "process_count": 2}
|
||||
{"epoch_s": 1790180048.3330727, "available_ram_bytes": 27771760640, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 9106735104, "process_count": 2}
|
||||
{"epoch_s": 1790180048.8343332, "available_ram_bytes": 26708344832, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 10757492736, "process_count": 2}
|
||||
{"epoch_s": 1790180049.3354745, "available_ram_bytes": 25767149568, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 11702153216, "process_count": 2}
|
||||
{"epoch_s": 1790180049.837385, "available_ram_bytes": 25565872128, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 11900923904, "process_count": 2}
|
||||
{"epoch_s": 1790180050.3392477, "available_ram_bytes": 24286093312, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13161897984, "process_count": 2}
|
||||
{"epoch_s": 1790180050.8405807, "available_ram_bytes": 23749353472, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13705564160, "process_count": 2}
|
||||
{"epoch_s": 1790180051.34207, "available_ram_bytes": 23270531072, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14184624128, "process_count": 2}
|
||||
{"epoch_s": 1790180051.844166, "available_ram_bytes": 23273148416, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14049247232, "process_count": 2}
|
||||
{"epoch_s": 1790180052.3458622, "available_ram_bytes": 23268315136, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14055907328, "process_count": 2}
|
||||
{"epoch_s": 1790180052.8472757, "available_ram_bytes": 23265054720, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064705536, "process_count": 2}
|
||||
{"epoch_s": 1790180053.349606, "available_ram_bytes": 23271579648, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067798016, "process_count": 2}
|
||||
{"epoch_s": 1790180053.8510172, "available_ram_bytes": 23271579648, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067798016, "process_count": 2}
|
||||
{"epoch_s": 1790180054.3531678, "available_ram_bytes": 23242399744, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14166736896, "process_count": 2}
|
||||
{"epoch_s": 1790180054.854847, "available_ram_bytes": 23217426432, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203723776, "process_count": 2}
|
||||
{"epoch_s": 1790180055.3567157, "available_ram_bytes": 23217963008, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203723776, "process_count": 2}
|
||||
{"epoch_s": 1790180055.8579981, "available_ram_bytes": 23217963008, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203723776, "process_count": 2}
|
||||
{"epoch_s": 1790180056.3593967, "available_ram_bytes": 23217963008, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203723776, "process_count": 2}
|
||||
{"epoch_s": 1790180056.861432, "available_ram_bytes": 23218933760, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203723776, "process_count": 2}
|
||||
{"epoch_s": 1790180057.3632452, "available_ram_bytes": 23218933760, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203723776, "process_count": 2}
|
||||
{"epoch_s": 1790180057.8650901, "available_ram_bytes": 23216324608, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208331776, "process_count": 2}
|
||||
{"epoch_s": 1790180058.367001, "available_ram_bytes": 23218913280, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208331776, "process_count": 2}
|
||||
{"epoch_s": 1790180058.8690398, "available_ram_bytes": 23220047872, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208331776, "process_count": 2}
|
||||
{"epoch_s": 1790180059.370662, "available_ram_bytes": 23224905728, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14209605632, "process_count": 2}
|
||||
{"epoch_s": 1790180059.872423, "available_ram_bytes": 23225774080, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215806976, "process_count": 2}
|
||||
{"epoch_s": 1790180060.3737862, "available_ram_bytes": 23234277376, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215806976, "process_count": 2}
|
||||
{"epoch_s": 1790180060.8751416, "available_ram_bytes": 23234277376, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215811072, "process_count": 2}
|
||||
{"epoch_s": 1790180061.3773022, "available_ram_bytes": 23237419008, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215815168, "process_count": 2}
|
||||
{"epoch_s": 1790180061.8786318, "available_ram_bytes": 23238606848, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215815168, "process_count": 2}
|
||||
{"epoch_s": 1790180062.3806567, "available_ram_bytes": 23246286848, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14218330112, "process_count": 2}
|
||||
{"epoch_s": 1790180062.882427, "available_ram_bytes": 23190454272, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14274846720, "process_count": 2}
|
||||
{"epoch_s": 1790180063.3841507, "available_ram_bytes": 23132622848, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14327775232, "process_count": 2}
|
||||
{"epoch_s": 1790180063.885586, "available_ram_bytes": 23066726400, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14405529600, "process_count": 2}
|
||||
{"epoch_s": 1790180064.3867018, "available_ram_bytes": 22992527360, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14481903616, "process_count": 2}
|
||||
{"epoch_s": 1790180064.887966, "available_ram_bytes": 22865604608, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14610255872, "process_count": 2}
|
||||
{"epoch_s": 1790180065.3896685, "available_ram_bytes": 22708527104, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14775959552, "process_count": 2}
|
||||
{"epoch_s": 1790180065.8909125, "available_ram_bytes": 22675238912, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808776704, "process_count": 2}
|
||||
{"epoch_s": 1790180066.3925376, "available_ram_bytes": 22674956288, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808776704, "process_count": 2}
|
||||
{"epoch_s": 1790180066.8940053, "available_ram_bytes": 22678859776, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808776704, "process_count": 2}
|
||||
{"epoch_s": 1790180067.3955534, "available_ram_bytes": 22673502208, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14792073216, "process_count": 2}
|
||||
{"epoch_s": 1790180067.8967292, "available_ram_bytes": 22650974208, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14816088064, "process_count": 2}
|
||||
{"epoch_s": 1790180068.398575, "available_ram_bytes": 22651023360, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14816088064, "process_count": 2}
|
||||
{"epoch_s": 1790180068.9003847, "available_ram_bytes": 22654652416, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14816088064, "process_count": 2}
|
||||
{"epoch_s": 1790180069.4019253, "available_ram_bytes": 22654652416, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14820032512, "process_count": 2}
|
||||
{"epoch_s": 1790180069.903146, "available_ram_bytes": 27837562880, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 8988045312, "process_count": 2}
|
||||
{"epoch_s": 1790180070.4048138, "available_ram_bytes": 30345068544, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 6544285696, "process_count": 2}
|
||||
{"epoch_s": 1790180070.9063983, "available_ram_bytes": 29081493504, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 7808143360, "process_count": 2}
|
||||
{"epoch_s": 1790180071.4079542, "available_ram_bytes": 27820781568, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 9070321664, "process_count": 2}
|
||||
{"epoch_s": 1790180071.9097698, "available_ram_bytes": 26977652736, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 9877364736, "process_count": 2}
|
||||
{"epoch_s": 1790180072.4112747, "available_ram_bytes": 25681707008, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 11784867840, "process_count": 2}
|
||||
{"epoch_s": 1790180072.9123921, "available_ram_bytes": 25533751296, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 11935031296, "process_count": 2}
|
||||
{"epoch_s": 1790180073.4135802, "available_ram_bytes": 24699461632, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 12772081664, "process_count": 2}
|
||||
{"epoch_s": 1790180073.914841, "available_ram_bytes": 24179494912, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13286969344, "process_count": 2}
|
||||
{"epoch_s": 1790180074.4159987, "available_ram_bytes": 23626153984, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13836169216, "process_count": 2}
|
||||
{"epoch_s": 1790180074.9172964, "available_ram_bytes": 23279992832, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14049034240, "process_count": 2}
|
||||
{"epoch_s": 1790180075.4184766, "available_ram_bytes": 23285952512, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14055755776, "process_count": 2}
|
||||
{"epoch_s": 1790180075.919971, "available_ram_bytes": 23279415296, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064553984, "process_count": 2}
|
||||
{"epoch_s": 1790180076.4215882, "available_ram_bytes": 23277043712, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067646464, "process_count": 2}
|
||||
{"epoch_s": 1790180076.9236088, "available_ram_bytes": 23283752960, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067646464, "process_count": 2}
|
||||
{"epoch_s": 1790180077.4255779, "available_ram_bytes": 23150538752, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790180077.927155, "available_ram_bytes": 23156707328, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790180078.4287627, "available_ram_bytes": 23157010432, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790180078.9305642, "available_ram_bytes": 23161286656, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790180079.4326067, "available_ram_bytes": 23161286656, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790180079.9347186, "available_ram_bytes": 23173738496, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203510784, "process_count": 2}
|
||||
{"epoch_s": 1790180080.4365733, "available_ram_bytes": 23171780608, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208184320, "process_count": 2}
|
||||
{"epoch_s": 1790180080.9382734, "available_ram_bytes": 23175335936, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208184320, "process_count": 2}
|
||||
{"epoch_s": 1790180081.4398205, "available_ram_bytes": 23175749632, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208184320, "process_count": 2}
|
||||
{"epoch_s": 1790180081.9416888, "available_ram_bytes": 23178584064, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208184320, "process_count": 2}
|
||||
{"epoch_s": 1790180082.4430034, "available_ram_bytes": 23173984256, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215659520, "process_count": 2}
|
||||
{"epoch_s": 1790180082.9450893, "available_ram_bytes": 23184015360, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215659520, "process_count": 2}
|
||||
{"epoch_s": 1790180083.4469008, "available_ram_bytes": 23185645568, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215659520, "process_count": 2}
|
||||
{"epoch_s": 1790180083.9483182, "available_ram_bytes": 23185645568, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215663616, "process_count": 2}
|
||||
{"epoch_s": 1790180084.449663, "available_ram_bytes": 23195836416, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215663616, "process_count": 2}
|
||||
{"epoch_s": 1790180084.9517589, "available_ram_bytes": 23198081024, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14218182656, "process_count": 2}
|
||||
{"epoch_s": 1790180085.453907, "available_ram_bytes": 23197753344, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14290763776, "process_count": 2}
|
||||
{"epoch_s": 1790180085.9551184, "available_ram_bytes": 23123951616, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14393327616, "process_count": 2}
|
||||
{"epoch_s": 1790180086.456377, "available_ram_bytes": 23025147904, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14495481856, "process_count": 2}
|
||||
{"epoch_s": 1790180086.9579372, "available_ram_bytes": 22837006336, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14679830528, "process_count": 2}
|
||||
{"epoch_s": 1790180087.4598887, "available_ram_bytes": 22706708480, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808797184, "process_count": 2}
|
||||
{"epoch_s": 1790180087.9618795, "available_ram_bytes": 22700249088, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808629248, "process_count": 2}
|
||||
{"epoch_s": 1790180088.4630897, "available_ram_bytes": 22700630016, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808629248, "process_count": 2}
|
||||
{"epoch_s": 1790180088.964292, "available_ram_bytes": 22701400064, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808629248, "process_count": 2}
|
||||
{"epoch_s": 1790180089.4661238, "available_ram_bytes": 22665289728, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14816882688, "process_count": 2}
|
||||
{"epoch_s": 1790180089.967958, "available_ram_bytes": 22665248768, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14815940608, "process_count": 2}
|
||||
{"epoch_s": 1790180090.4695494, "available_ram_bytes": 22666088448, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14815940608, "process_count": 2}
|
||||
{"epoch_s": 1790180090.97075, "available_ram_bytes": 22666629120, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14815940608, "process_count": 2}
|
||||
{"epoch_s": 1790180091.4718428, "available_ram_bytes": 22888005632, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14562283520, "process_count": 2}
|
||||
{"epoch_s": 1790180091.9733298, "available_ram_bytes": 30290145280, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 1120522240, "process_count": 2}
|
||||
{"epoch_s": 1790180092.474445, "available_ram_bytes": 29857157120, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 6987898880, "process_count": 2}
|
||||
{"epoch_s": 1790180092.976038, "available_ram_bytes": 28545331200, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 8296738816, "process_count": 2}
|
||||
{"epoch_s": 1790180093.47723, "available_ram_bytes": 27249070080, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 9568960512, "process_count": 2}
|
||||
{"epoch_s": 1790180093.9783888, "available_ram_bytes": 26234630144, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 11187376128, "process_count": 2}
|
||||
{"epoch_s": 1790180094.4797084, "available_ram_bytes": 26039885824, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 11384451072, "process_count": 2}
|
||||
{"epoch_s": 1790180094.9809656, "available_ram_bytes": 24801697792, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 12629778432, "process_count": 2}
|
||||
{"epoch_s": 1790180095.4822993, "available_ram_bytes": 24017436672, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13409570816, "process_count": 2}
|
||||
{"epoch_s": 1790180095.9839036, "available_ram_bytes": 23505354752, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13934301184, "process_count": 2}
|
||||
{"epoch_s": 1790180096.4860759, "available_ram_bytes": 23259066368, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14049140736, "process_count": 2}
|
||||
{"epoch_s": 1790180096.9883158, "available_ram_bytes": 23259066368, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14049140736, "process_count": 2}
|
||||
{"epoch_s": 1790180097.4898002, "available_ram_bytes": 23264202752, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14055792640, "process_count": 2}
|
||||
{"epoch_s": 1790180097.992284, "available_ram_bytes": 23256748032, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064590848, "process_count": 2}
|
||||
{"epoch_s": 1790180098.494676, "available_ram_bytes": 23258378240, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064590848, "process_count": 2}
|
||||
{"epoch_s": 1790180098.9964411, "available_ram_bytes": 23255769088, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067683328, "process_count": 2}
|
||||
{"epoch_s": 1790180099.4980946, "available_ram_bytes": 23256543232, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067683328, "process_count": 2}
|
||||
{"epoch_s": 1790180100.0000045, "available_ram_bytes": 23138029568, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203609088, "process_count": 2}
|
||||
{"epoch_s": 1790180100.501756, "available_ram_bytes": 23138668544, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203609088, "process_count": 2}
|
||||
{"epoch_s": 1790180101.0038073, "available_ram_bytes": 23138668544, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203609088, "process_count": 2}
|
||||
{"epoch_s": 1790180101.505895, "available_ram_bytes": 23148285952, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203609088, "process_count": 2}
|
||||
{"epoch_s": 1790180102.0079017, "available_ram_bytes": 23148285952, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203609088, "process_count": 2}
|
||||
{"epoch_s": 1790180102.5096228, "available_ram_bytes": 23149850624, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203609088, "process_count": 2}
|
||||
{"epoch_s": 1790180103.0111113, "available_ram_bytes": 23149850624, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203674624, "process_count": 2}
|
||||
{"epoch_s": 1790180103.5129225, "available_ram_bytes": 23161032704, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208282624, "process_count": 2}
|
||||
{"epoch_s": 1790180104.0142295, "available_ram_bytes": 23161196544, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208282624, "process_count": 2}
|
||||
{"epoch_s": 1790180104.515979, "available_ram_bytes": 23161503744, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208282624, "process_count": 2}
|
||||
{"epoch_s": 1790180105.017592, "available_ram_bytes": 23159267328, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14212874240, "process_count": 2}
|
||||
{"epoch_s": 1790180105.519307, "available_ram_bytes": 23157260288, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215757824, "process_count": 2}
|
||||
{"epoch_s": 1790180106.0211256, "available_ram_bytes": 23157260288, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215757824, "process_count": 2}
|
||||
{"epoch_s": 1790180106.5223768, "available_ram_bytes": 23158415360, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215766016, "process_count": 2}
|
||||
{"epoch_s": 1790180107.0241888, "available_ram_bytes": 23158415360, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215766016, "process_count": 2}
|
||||
{"epoch_s": 1790180107.5262907, "available_ram_bytes": 23173816320, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215766016, "process_count": 2}
|
||||
{"epoch_s": 1790180108.0285652, "available_ram_bytes": 23177588736, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14218280960, "process_count": 2}
|
||||
{"epoch_s": 1790180108.5305219, "available_ram_bytes": 23120158720, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14274797568, "process_count": 2}
|
||||
{"epoch_s": 1790180109.0322523, "available_ram_bytes": 23079071744, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14314340352, "process_count": 2}
|
||||
{"epoch_s": 1790180109.534356, "available_ram_bytes": 22996525056, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14406922240, "process_count": 2}
|
||||
{"epoch_s": 1790180110.036219, "available_ram_bytes": 22897446912, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14502993920, "process_count": 2}
|
||||
{"epoch_s": 1790180110.537992, "available_ram_bytes": 22699552768, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14702481408, "process_count": 2}
|
||||
{"epoch_s": 1790180111.0395548, "available_ram_bytes": 22588764160, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808895488, "process_count": 2}
|
||||
{"epoch_s": 1790180111.5408125, "available_ram_bytes": 22600404992, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808727552, "process_count": 2}
|
||||
{"epoch_s": 1790180112.0425568, "available_ram_bytes": 22600273920, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808727552, "process_count": 2}
|
||||
{"epoch_s": 1790180112.5444922, "available_ram_bytes": 22600404992, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808727552, "process_count": 2}
|
||||
{"epoch_s": 1790180113.0461993, "available_ram_bytes": 22564622336, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14816980992, "process_count": 2}
|
||||
{"epoch_s": 1790180113.5477188, "available_ram_bytes": 22563295232, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14816038912, "process_count": 2}
|
||||
{"epoch_s": 1790180114.0491395, "available_ram_bytes": 22563295232, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14816038912, "process_count": 2}
|
||||
{"epoch_s": 1790180114.550405, "available_ram_bytes": 22563295232, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14816038912, "process_count": 2}
|
||||
{"epoch_s": 1790180115.0525167, "available_ram_bytes": 22563295232, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14820102144, "process_count": 2}
|
||||
{"epoch_s": 1790180115.5540361, "available_ram_bytes": 27864313856, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 8880992256, "process_count": 2}
|
||||
{"epoch_s": 1790180116.0556593, "available_ram_bytes": 30273368064, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 6523912192, "process_count": 2}
|
||||
{"epoch_s": 1790180116.5658941, "available_ram_bytes": 28985417728, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 7812251648, "process_count": 2}
|
||||
{"epoch_s": 1790180117.067093, "available_ram_bytes": 27979042816, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 8822386688, "process_count": 2}
|
||||
{"epoch_s": 1790180117.5681438, "available_ram_bytes": 26921791488, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 9844543488, "process_count": 2}
|
||||
{"epoch_s": 1790180118.069974, "available_ram_bytes": 26171473920, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 11202068480, "process_count": 2}
|
||||
{"epoch_s": 1790180118.5713816, "available_ram_bytes": 26080444416, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 11284840448, "process_count": 2}
|
||||
{"epoch_s": 1790180119.0734305, "available_ram_bytes": 24800526336, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 12573151232, "process_count": 2}
|
||||
{"epoch_s": 1790180119.5748253, "available_ram_bytes": 24122380288, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13248434176, "process_count": 2}
|
||||
{"epoch_s": 1790180120.0764496, "available_ram_bytes": 23627718656, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13744422912, "process_count": 2}
|
||||
{"epoch_s": 1790180120.5777917, "available_ram_bytes": 23157239808, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14218919936, "process_count": 2}
|
||||
{"epoch_s": 1790180121.0792432, "available_ram_bytes": 23202254848, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14049116160, "process_count": 2}
|
||||
{"epoch_s": 1790180121.5808513, "available_ram_bytes": 23213629440, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14049116160, "process_count": 2}
|
||||
{"epoch_s": 1790180122.0832043, "available_ram_bytes": 23207665664, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064504832, "process_count": 2}
|
||||
{"epoch_s": 1790180122.5852277, "available_ram_bytes": 23207608320, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064504832, "process_count": 2}
|
||||
{"epoch_s": 1790180123.0866923, "available_ram_bytes": 23206490112, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067597312, "process_count": 2}
|
||||
{"epoch_s": 1790180123.5882876, "available_ram_bytes": 23224147968, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067597312, "process_count": 2}
|
||||
{"epoch_s": 1790180124.09024, "available_ram_bytes": 23193534464, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14094471168, "process_count": 2}
|
||||
{"epoch_s": 1790180124.5918798, "available_ram_bytes": 23135215616, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203555840, "process_count": 2}
|
||||
{"epoch_s": 1790180125.0936174, "available_ram_bytes": 23135215616, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203555840, "process_count": 2}
|
||||
{"epoch_s": 1790180125.595323, "available_ram_bytes": 23143571456, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203555840, "process_count": 2}
|
||||
{"epoch_s": 1790180126.097259, "available_ram_bytes": 23149780992, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203555840, "process_count": 2}
|
||||
{"epoch_s": 1790180126.5985465, "available_ram_bytes": 23150542848, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203555840, "process_count": 2}
|
||||
{"epoch_s": 1790180127.100305, "available_ram_bytes": 23150542848, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203555840, "process_count": 2}
|
||||
{"epoch_s": 1790180127.6019535, "available_ram_bytes": 23161880576, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208229376, "process_count": 2}
|
||||
{"epoch_s": 1790180128.1036627, "available_ram_bytes": 23161880576, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208229376, "process_count": 2}
|
||||
{"epoch_s": 1790180128.6052778, "available_ram_bytes": 23168450560, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208229376, "process_count": 2}
|
||||
{"epoch_s": 1790180129.106795, "available_ram_bytes": 23166959616, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14212820992, "process_count": 2}
|
||||
{"epoch_s": 1790180129.6086318, "available_ram_bytes": 23174275072, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215704576, "process_count": 2}
|
||||
{"epoch_s": 1790180130.1103463, "available_ram_bytes": 23174275072, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215704576, "process_count": 2}
|
||||
{"epoch_s": 1790180130.611488, "available_ram_bytes": 23182786560, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215712768, "process_count": 2}
|
||||
{"epoch_s": 1790180131.1136029, "available_ram_bytes": 23187152896, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215712768, "process_count": 2}
|
||||
{"epoch_s": 1790180131.6151264, "available_ram_bytes": 23196160000, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215712768, "process_count": 2}
|
||||
{"epoch_s": 1790180132.1168327, "available_ram_bytes": 23195365376, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14218227712, "process_count": 2}
|
||||
{"epoch_s": 1790180132.6187072, "available_ram_bytes": 23154823168, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14257393664, "process_count": 2}
|
||||
{"epoch_s": 1790180133.119828, "available_ram_bytes": 23121883136, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14293692416, "process_count": 2}
|
||||
{"epoch_s": 1790180133.6211233, "available_ram_bytes": 23047729152, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14367010816, "process_count": 2}
|
||||
{"epoch_s": 1790180134.1222575, "available_ram_bytes": 22965370880, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14453305344, "process_count": 2}
|
||||
{"epoch_s": 1790180134.6234617, "available_ram_bytes": 22866022400, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14552481792, "process_count": 2}
|
||||
{"epoch_s": 1790180135.125171, "available_ram_bytes": 22717673472, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14702428160, "process_count": 2}
|
||||
{"epoch_s": 1790180135.6270065, "available_ram_bytes": 22621495296, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808674304, "process_count": 2}
|
||||
{"epoch_s": 1790180136.1287675, "available_ram_bytes": 22621495296, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808674304, "process_count": 2}
|
||||
{"epoch_s": 1790180136.6300004, "available_ram_bytes": 22622408704, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808674304, "process_count": 2}
|
||||
{"epoch_s": 1790180137.131496, "available_ram_bytes": 22622408704, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808674304, "process_count": 2}
|
||||
{"epoch_s": 1790180137.6332994, "available_ram_bytes": 22576193536, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14815985664, "process_count": 2}
|
||||
{"epoch_s": 1790180138.1343749, "available_ram_bytes": 22578802688, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14815985664, "process_count": 2}
|
||||
{"epoch_s": 1790180138.6361399, "available_ram_bytes": 22579412992, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14815985664, "process_count": 2}
|
||||
{"epoch_s": 1790180139.137722, "available_ram_bytes": 22577922048, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14818275328, "process_count": 2}
|
||||
{"epoch_s": 1790180139.638899, "available_ram_bytes": 24266231808, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 12510797824, "process_count": 2}
|
||||
{"epoch_s": 1790180140.1400008, "available_ram_bytes": 30636867584, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 1152167936, "process_count": 2}
|
||||
{"epoch_s": 1790180140.6410885, "available_ram_bytes": 29683666944, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 7116427264, "process_count": 2}
|
||||
{"epoch_s": 1790180141.1422915, "available_ram_bytes": 28637032448, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 8166146048, "process_count": 2}
|
||||
{"epoch_s": 1790180141.643411, "available_ram_bytes": 27398197248, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 9407901696, "process_count": 2}
|
||||
{"epoch_s": 1790180142.1444883, "available_ram_bytes": 26410905600, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 10981896192, "process_count": 2}
|
||||
{"epoch_s": 1790180142.64564, "available_ram_bytes": 25535807488, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 11846844416, "process_count": 2}
|
||||
{"epoch_s": 1790180143.1467931, "available_ram_bytes": 25234460672, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 12153491456, "process_count": 2}
|
||||
{"epoch_s": 1790180143.6479642, "available_ram_bytes": 25125949440, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 12270006272, "process_count": 2}
|
||||
{"epoch_s": 1790180144.1496143, "available_ram_bytes": 24046264320, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 13351030784, "process_count": 2}
|
||||
{"epoch_s": 1790180144.6507487, "available_ram_bytes": 23395622912, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14013259776, "process_count": 2}
|
||||
{"epoch_s": 1790180145.15267, "available_ram_bytes": 23241039872, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14048882688, "process_count": 2}
|
||||
{"epoch_s": 1790180145.6543403, "available_ram_bytes": 23241404416, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14055477248, "process_count": 2}
|
||||
{"epoch_s": 1790180146.156591, "available_ram_bytes": 23234965504, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14064275456, "process_count": 2}
|
||||
{"epoch_s": 1790180146.6582088, "available_ram_bytes": 23241682944, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067367936, "process_count": 2}
|
||||
{"epoch_s": 1790180147.1606534, "available_ram_bytes": 23249580032, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067367936, "process_count": 2}
|
||||
{"epoch_s": 1790180147.6629229, "available_ram_bytes": 23249293312, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14067367936, "process_count": 2}
|
||||
{"epoch_s": 1790180148.1654754, "available_ram_bytes": 23116079104, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203326464, "process_count": 2}
|
||||
{"epoch_s": 1790180148.6677437, "available_ram_bytes": 23124135936, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203326464, "process_count": 2}
|
||||
{"epoch_s": 1790180149.169954, "available_ram_bytes": 23131070464, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203326464, "process_count": 2}
|
||||
{"epoch_s": 1790180149.6721582, "available_ram_bytes": 23131070464, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203326464, "process_count": 2}
|
||||
{"epoch_s": 1790180150.1740234, "available_ram_bytes": 23140184064, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203326464, "process_count": 2}
|
||||
{"epoch_s": 1790180150.6759796, "available_ram_bytes": 23150477312, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203326464, "process_count": 2}
|
||||
{"epoch_s": 1790180151.1775672, "available_ram_bytes": 23150993408, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203326464, "process_count": 2}
|
||||
{"epoch_s": 1790180151.6791773, "available_ram_bytes": 23169650688, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14203392000, "process_count": 2}
|
||||
{"epoch_s": 1790180152.1803722, "available_ram_bytes": 23164624896, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208000000, "process_count": 2}
|
||||
{"epoch_s": 1790180152.68165, "available_ram_bytes": 23167606784, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208000000, "process_count": 2}
|
||||
{"epoch_s": 1790180153.1829247, "available_ram_bytes": 23167873024, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14208000000, "process_count": 2}
|
||||
{"epoch_s": 1790180153.6845937, "available_ram_bytes": 23177834496, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14212591616, "process_count": 2}
|
||||
{"epoch_s": 1790180154.1862566, "available_ram_bytes": 23174938624, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215475200, "process_count": 2}
|
||||
{"epoch_s": 1790180154.6879034, "available_ram_bytes": 23177568256, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215475200, "process_count": 2}
|
||||
{"epoch_s": 1790180155.1897864, "available_ram_bytes": 23177281536, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215475200, "process_count": 2}
|
||||
{"epoch_s": 1790180155.6918178, "available_ram_bytes": 23193673728, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215479296, "process_count": 2}
|
||||
{"epoch_s": 1790180156.1935894, "available_ram_bytes": 23193780224, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14215479296, "process_count": 2}
|
||||
{"epoch_s": 1790180156.6953588, "available_ram_bytes": 23204642816, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14216048640, "process_count": 2}
|
||||
{"epoch_s": 1790180157.197019, "available_ram_bytes": 23166492672, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14258606080, "process_count": 2}
|
||||
{"epoch_s": 1790180157.6987557, "available_ram_bytes": 23095590912, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14330327040, "process_count": 2}
|
||||
{"epoch_s": 1790180158.1999187, "available_ram_bytes": 22997098496, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14416621568, "process_count": 2}
|
||||
{"epoch_s": 1790180158.7010546, "available_ram_bytes": 22925561856, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14502711296, "process_count": 2}
|
||||
{"epoch_s": 1790180159.2022262, "available_ram_bytes": 22738501632, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14690295808, "process_count": 2}
|
||||
{"epoch_s": 1790180159.7040324, "available_ram_bytes": 22636675072, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808612864, "process_count": 2}
|
||||
{"epoch_s": 1790180160.2057953, "available_ram_bytes": 22635835392, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808444928, "process_count": 2}
|
||||
{"epoch_s": 1790180160.7078283, "available_ram_bytes": 22643920896, "used_swap_bytes": 993800192, "summed_process_tree_rss_bytes": 14808444928, "process_count": 2}
|
||||
{"epoch_s": 1790180161.2098587, "available_ram_bytes": 22644359168, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14808444928, "process_count": 2}
|
||||
{"epoch_s": 1790180161.711978, "available_ram_bytes": 22605262848, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14816698368, "process_count": 2}
|
||||
{"epoch_s": 1790180162.2137554, "available_ram_bytes": 22604165120, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14815756288, "process_count": 2}
|
||||
{"epoch_s": 1790180162.7149982, "available_ram_bytes": 22612729856, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14815756288, "process_count": 2}
|
||||
{"epoch_s": 1790180163.2163022, "available_ram_bytes": 22612860928, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14818045952, "process_count": 2}
|
||||
{"epoch_s": 1790180163.7179615, "available_ram_bytes": 23417827328, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 13393735680, "process_count": 2}
|
||||
{"epoch_s": 1790180164.2191293, "available_ram_bytes": 30702952448, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 1120526336, "process_count": 2}
|
||||
{"epoch_s": 1790180164.720271, "available_ram_bytes": 30000238592, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 6724067328, "process_count": 2}
|
||||
{"epoch_s": 1790180165.2215667, "available_ram_bytes": 29057486848, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 7788085248, "process_count": 2}
|
||||
{"epoch_s": 1790180165.7226799, "available_ram_bytes": 28083924992, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 8764235776, "process_count": 2}
|
||||
{"epoch_s": 1790180166.2241468, "available_ram_bytes": 26941489152, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 9872142336, "process_count": 2}
|
||||
{"epoch_s": 1790180166.7253475, "available_ram_bytes": 26444382208, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 10992971776, "process_count": 2}
|
||||
{"epoch_s": 1790180167.2264473, "available_ram_bytes": 25562210304, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 11866451968, "process_count": 2}
|
||||
{"epoch_s": 1790180167.7275913, "available_ram_bytes": 25191059456, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 12242944000, "process_count": 2}
|
||||
{"epoch_s": 1790180168.2288418, "available_ram_bytes": 25179340800, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 12255801344, "process_count": 2}
|
||||
{"epoch_s": 1790180168.730426, "available_ram_bytes": 24161157120, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 13278720000, "process_count": 2}
|
||||
{"epoch_s": 1790180169.2315853, "available_ram_bytes": 23633608704, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 13807501312, "process_count": 2}
|
||||
{"epoch_s": 1790180169.7334878, "available_ram_bytes": 23253360640, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14049050624, "process_count": 2}
|
||||
{"epoch_s": 1790180170.2353427, "available_ram_bytes": 23254859776, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14055673856, "process_count": 2}
|
||||
{"epoch_s": 1790180170.7373133, "available_ram_bytes": 23259938816, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14064472064, "process_count": 2}
|
||||
{"epoch_s": 1790180171.238921, "available_ram_bytes": 23258181632, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14067564544, "process_count": 2}
|
||||
{"epoch_s": 1790180171.740754, "available_ram_bytes": 23267573760, "used_swap_bytes": 993796096, "summed_process_tree_rss_bytes": 14067564544, "process_count": 2}
|
||||
{"epoch_s": 1790180172.24258, "available_ram_bytes": 23158276096, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180172.7442913, "available_ram_bytes": 23158407168, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180173.246062, "available_ram_bytes": 23159918592, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180173.7479053, "available_ram_bytes": 23168684032, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180174.2497227, "available_ram_bytes": 23169159168, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180174.7516866, "available_ram_bytes": 23169159168, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14203547648, "process_count": 2}
|
||||
{"epoch_s": 1790180175.2540984, "available_ram_bytes": 23164805120, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14208221184, "process_count": 2}
|
||||
{"epoch_s": 1790180175.7561116, "available_ram_bytes": 23179116544, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14208221184, "process_count": 2}
|
||||
{"epoch_s": 1790180176.257492, "available_ram_bytes": 23178944512, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14208221184, "process_count": 2}
|
||||
{"epoch_s": 1790180176.759248, "available_ram_bytes": 23178944512, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14208221184, "process_count": 2}
|
||||
{"epoch_s": 1790180177.2610254, "available_ram_bytes": 23173566464, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14215696384, "process_count": 2}
|
||||
{"epoch_s": 1790180177.7628276, "available_ram_bytes": 23181680640, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14215696384, "process_count": 2}
|
||||
{"epoch_s": 1790180178.264957, "available_ram_bytes": 23181938688, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14215704576, "process_count": 2}
|
||||
{"epoch_s": 1790180178.7671225, "available_ram_bytes": 23186952192, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14215704576, "process_count": 2}
|
||||
{"epoch_s": 1790180179.2687712, "available_ram_bytes": 23187230720, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14215704576, "process_count": 2}
|
||||
{"epoch_s": 1790180179.7704957, "available_ram_bytes": 23194923008, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14218223616, "process_count": 2}
|
||||
{"epoch_s": 1790180180.2721372, "available_ram_bytes": 23108292608, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14296776704, "process_count": 2}
|
||||
{"epoch_s": 1790180180.7739651, "available_ram_bytes": 23009452032, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14396252160, "process_count": 2}
|
||||
{"epoch_s": 1790180181.275083, "available_ram_bytes": 22902575104, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14498611200, "process_count": 2}
|
||||
{"epoch_s": 1790180181.7770166, "available_ram_bytes": 22699974656, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14702424064, "process_count": 2}
|
||||
{"epoch_s": 1790180182.278595, "available_ram_bytes": 22598914048, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14808842240, "process_count": 2}
|
||||
{"epoch_s": 1790180182.780568, "available_ram_bytes": 22596182016, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14808670208, "process_count": 2}
|
||||
{"epoch_s": 1790180183.2824786, "available_ram_bytes": 22596702208, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14808670208, "process_count": 2}
|
||||
{"epoch_s": 1790180183.7844079, "available_ram_bytes": 22606143488, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14808670208, "process_count": 2}
|
||||
{"epoch_s": 1790180184.2871275, "available_ram_bytes": 22565715968, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14816927744, "process_count": 2}
|
||||
{"epoch_s": 1790180184.7883496, "available_ram_bytes": 22565634048, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14815981568, "process_count": 2}
|
||||
{"epoch_s": 1790180185.290269, "available_ram_bytes": 22567600128, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14815981568, "process_count": 2}
|
||||
{"epoch_s": 1790180185.792061, "available_ram_bytes": 22567485440, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 14818271232, "process_count": 2}
|
||||
{"epoch_s": 1790180186.2935228, "available_ram_bytes": 23523688448, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 13236531200, "process_count": 2}
|
||||
{"epoch_s": 1790180186.794616, "available_ram_bytes": 30660202496, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 1120530432, "process_count": 1}
|
||||
{"epoch_s": 1790180187.296297, "available_ram_bytes": 30657941504, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 1121316864, "process_count": 1}
|
||||
{"epoch_s": 1790180187.797423, "available_ram_bytes": 30667931648, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 1121660928, "process_count": 1}
|
||||
{"epoch_s": 1790180188.2987688, "available_ram_bytes": 30667788288, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 1120927744, "process_count": 1}
|
||||
{"epoch_s": 1790180188.7998242, "available_ram_bytes": 30674092032, "used_swap_bytes": 993767424, "summed_process_tree_rss_bytes": 1154506752, "process_count": 1}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
INFO 09-24 00:17:15 [patch.py:259] NVFP4 W4A4 weight_scale NaN-clamp: installed.
|
||||
INFO 09-24 00:17:16 [patch.py:510] inductor factorable-divisibility patch: installed.
|
||||
INFO 09-24 00:17:16 [patch.py:589] [cumem-cuda] CuMemAllocator._python_free_callback patched: asleep guard extended to all platforms.
|
||||
INFO 09-24 00:17:16 [stage_init_utils.py:768] [stage_init] Set VLLM_WORKER_MULTIPROC_METHOD=spawn
|
||||
WARNING 09-24 00:17:16 [stage_init_utils.py:1887] [stage_init] Failed to load transfer config: [Errno 21] Is a directory: '/home/zhout/project/edge_infer/vllm-omni-edge'
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] [StageRuntime] Stage initialization failed; shutting down 0 initialized client(s)
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] Traceback (most recent call last):
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] File "/home/zhout/project/edge_infer/vllm-omni-edge/vllm_omni/engine/stage_runtime.py", line 252, in initialize
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] initialized_clients = self._initialize_stage_replicas(stage_plans, self._stage_init_timeout)
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] File "/home/zhout/project/edge_infer/vllm-omni-edge/vllm_omni/engine/stage_runtime.py", line 589, in _initialize_stage_replicas
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] raise primary_exc
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] File "/home/zhout/project/edge_infer/vllm-omni-edge/vllm_omni/engine/stage_runtime.py", line 550, in _init_group
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] client = self._initialize_replica(
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] File "/home/zhout/project/edge_infer/vllm-omni-edge/vllm_omni/engine/stage_runtime.py", line 817, in _initialize_replica
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] return create_graph_client(
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] ^^^^^^^^^^^^^^^^^^^^
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] File "/home/zhout/project/edge_infer/vllm-omni-edge/vllm_omni/engine/backends/__init__.py", line 27, in create_graph_client
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] return MiniCPMOCppStageClient(metadata, backend, ledger, reservation)
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] File "/home/zhout/project/edge_infer/vllm-omni-edge/vllm_omni/engine/backends/minicpmo_cpp.py", line 208, in __init__
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] raise ResourceUnavailable("MiniCPM-o weights, state/workspace, I/O and headroom exceed reservation")
|
||||
ERROR 09-24 00:17:21 [stage_runtime.py:265] vllm_omni.engine.resource_ledger.ResourceUnavailable: MiniCPM-o weights, state/workspace, I/O and headroom exceed reservation
|
||||
{
|
||||
"scope": "MiniCPM-o GGUF complete audio+image\u2192text+speech through Omni StageRuntime/StagePool",
|
||||
"placement": "cpu",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"reference_sha256": "cf4bb5cd9acbfbf67596d4a53310652b61ef4b7ede1d54eb03ef4882ca40223a",
|
||||
"input_sha256": {
|
||||
"audio_wav": "14ee147cbf2ce9afd9e32c8c8228d7cfe11985cd7e63456b2ad33871492aefcc",
|
||||
"image_jpeg": "22c7ccea466a3f551c512045e6316c7597408d4e0a20205502f55784d977aa8d"
|
||||
},
|
||||
"memory_budget": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"demands": {
|
||||
"host_ram": 8589934592
|
||||
}
|
||||
},
|
||||
"profile_count": 1,
|
||||
"warmup_count": 0,
|
||||
"admission_refusal": "ResourceUnavailable: MiniCPM-o weights, state/workspace, I/O and headroom exceed reservation",
|
||||
"status": "passed",
|
||||
"ledger_after_shutdown": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"scope": "MiniCPM-o GGUF complete audio+image\u2192text+speech through Omni StageRuntime/StagePool",
|
||||
"placement": "cpu",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"reference_sha256": "cf4bb5cd9acbfbf67596d4a53310652b61ef4b7ede1d54eb03ef4882ca40223a",
|
||||
"input_sha256": {
|
||||
"audio_wav": "14ee147cbf2ce9afd9e32c8c8228d7cfe11985cd7e63456b2ad33871492aefcc",
|
||||
"image_jpeg": "22c7ccea466a3f551c512045e6316c7597408d4e0a20205502f55784d977aa8d"
|
||||
},
|
||||
"memory_budget": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"demands": {
|
||||
"host_ram": 8589934592
|
||||
}
|
||||
},
|
||||
"profile_count": 1,
|
||||
"warmup_count": 0,
|
||||
"admission_refusal": "ResourceUnavailable: MiniCPM-o weights, state/workspace, I/O and headroom exceed reservation",
|
||||
"status": "passed",
|
||||
"ledger_after_shutdown": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
}
|
||||
BIN
Binary file not shown.
+726
@@ -0,0 +1,726 @@
|
||||
{
|
||||
"scope": "MiniCPM-o GGUF complete audio+image\u2192text+speech through Omni StageRuntime/StagePool",
|
||||
"placement": "cpu",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"reference_sha256": "cf4bb5cd9acbfbf67596d4a53310652b61ef4b7ede1d54eb03ef4882ca40223a",
|
||||
"input_sha256": {
|
||||
"audio_wav": "14ee147cbf2ce9afd9e32c8c8228d7cfe11985cd7e63456b2ad33871492aefcc",
|
||||
"image_jpeg": "22c7ccea466a3f551c512045e6316c7597408d4e0a20205502f55784d977aa8d"
|
||||
},
|
||||
"memory_budget": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"demands": {
|
||||
"host_ram": 25769803776
|
||||
}
|
||||
},
|
||||
"profile_count": 20,
|
||||
"warmup_count": 1,
|
||||
"startup_s": 4.810570983972866,
|
||||
"execution_plan_at_start": {
|
||||
"backend": "external.minicpmo.gguf.v1",
|
||||
"stage_id": 0,
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"requested_placement": "cpu",
|
||||
"ggml_vk_visible_devices": null,
|
||||
"shared_ram_reservation": {
|
||||
"host_ram": 25769803776
|
||||
},
|
||||
"weights_bytes": 8872297088,
|
||||
"memory_overhead_bytes": 12884901888,
|
||||
"context_tokens": 2048,
|
||||
"max_new_tokens": 96,
|
||||
"request_capacity": 1,
|
||||
"stateful_session": "C++-owned within one request; discarded after completion",
|
||||
"placement_evidence": "pending first request"
|
||||
},
|
||||
"warmups": [
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 25.354166724020615,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 71040,
|
||||
"duration_s": 2.96,
|
||||
"pcm_sha256": "ed1e390fd938a02abcbf0f86f8fcb0a23583954b74bb140f1f75cdc6cd8e5a78"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-warmup-0",
|
||||
"stage_id": 0,
|
||||
"epoch": 1,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 25.346508098009508,
|
||||
"peak_sampled_rss_bytes": 13699346432,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-1-d8b163749f0e4683aca7899dbfff65fd.log"
|
||||
}
|
||||
}
|
||||
],
|
||||
"complete_request": {
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 19.150184509984683,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 48000,
|
||||
"duration_s": 2.0,
|
||||
"pcm_sha256": "878bda7a3c7e9dbe6730095a3cb36172dc3dfe4d730f10fde9496ea439c855fb"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-0",
|
||||
"stage_id": 0,
|
||||
"epoch": 2,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 19.14088644599542,
|
||||
"peak_sampled_rss_bytes": 13698719744,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-2-fb76d726749f44759c9ac56077a5da31.log"
|
||||
}
|
||||
},
|
||||
"measured": [
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 19.150184509984683,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 48000,
|
||||
"duration_s": 2.0,
|
||||
"pcm_sha256": "878bda7a3c7e9dbe6730095a3cb36172dc3dfe4d730f10fde9496ea439c855fb"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-0",
|
||||
"stage_id": 0,
|
||||
"epoch": 2,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 19.14088644599542,
|
||||
"peak_sampled_rss_bytes": 13698719744,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-2-fb76d726749f44759c9ac56077a5da31.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.663129427994136,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 70080,
|
||||
"duration_s": 2.92,
|
||||
"pcm_sha256": "b7508f3b8a45e5ecb95deefb910a70a1039f6c2f486487706da2a6b33d13e433"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-1",
|
||||
"stage_id": 0,
|
||||
"epoch": 3,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.659611514944118,
|
||||
"peak_sampled_rss_bytes": 13699510272,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-3-8a569c9c4f124041898d9c98527f4f2b.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.225499626016244,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 59520,
|
||||
"duration_s": 2.48,
|
||||
"pcm_sha256": "9cea7224f50dd55b52d32ed5da308397f1d64debcae9800f29ec379e52085324"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-2",
|
||||
"stage_id": 0,
|
||||
"epoch": 4,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.220281650021207,
|
||||
"peak_sampled_rss_bytes": 13699334144,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-4-042e886efca144f5ba884e7d9622487d.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.08687804301735,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 62400,
|
||||
"duration_s": 2.6,
|
||||
"pcm_sha256": "b5ddd41730796542fbd0dcf0398dcd56ba0752af771a39ba0ee032e7346b2c23"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-3",
|
||||
"stage_id": 0,
|
||||
"epoch": 5,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.076925281027798,
|
||||
"peak_sampled_rss_bytes": 13699379200,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-5-9de83da7d4ad46e591a94499b5caebf0.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.883253135019913,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 60480,
|
||||
"duration_s": 2.52,
|
||||
"pcm_sha256": "396bbdf022974f9713ffbb3dbe37bec3a32ed12c4ea388d741409ec001212b15"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-4",
|
||||
"stage_id": 0,
|
||||
"epoch": 6,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.87929545500083,
|
||||
"peak_sampled_rss_bytes": 13699448832,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-6-a9097953844646a3b18e816b77032a93.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 20.457199305004906,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 38400,
|
||||
"duration_s": 1.6,
|
||||
"pcm_sha256": "4e98bb6bc827d2033d9c4f76a6fee49621037c3ac91a227ec92d57fb3f01b297"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-5",
|
||||
"stage_id": 0,
|
||||
"epoch": 7,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 20.449729025014676,
|
||||
"peak_sampled_rss_bytes": 13692182528,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-7-b1800272e7fd4f2c88022c79e1fb0b73.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 30.871680101030506,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 59520,
|
||||
"duration_s": 2.48,
|
||||
"pcm_sha256": "68c5a90e835ff7e208c1627d6e2e9e7300dc7c6326ae5f79bde41d1de6cca0b3"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-6",
|
||||
"stage_id": 0,
|
||||
"epoch": 8,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 30.867184494039975,
|
||||
"peak_sampled_rss_bytes": 13699379200,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-8-c6b3c2f5b34e44d09fafd36c533110b2.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 24.82860793202417,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 59520,
|
||||
"duration_s": 2.48,
|
||||
"pcm_sha256": "e49dc3ca9debee47e91c8bbff8ff3a60a8f092bc857b384cd36dc98bf062467b"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-7",
|
||||
"stage_id": 0,
|
||||
"epoch": 9,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 24.81576943397522,
|
||||
"peak_sampled_rss_bytes": 13699313664,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-9-aa984533676940ce89c396b8a1a3508b.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.672656088951044,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 63360,
|
||||
"duration_s": 2.64,
|
||||
"pcm_sha256": "904f4202472ab5e797d416025518db395f264d41cddf1d3b3e1b0e0d2f89a9ee"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-8",
|
||||
"stage_id": 0,
|
||||
"epoch": 10,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.662863618985284,
|
||||
"peak_sampled_rss_bytes": 13699252224,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-10-4da7faa2e610416abbc3a37c41d4ca4b.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 22.979588018963113,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 61440,
|
||||
"duration_s": 2.56,
|
||||
"pcm_sha256": "3bf5df389bcf42ee8a4ce174ca576b4cbb7263247b3ddd74ef447cdd158db8db"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-9",
|
||||
"stage_id": 0,
|
||||
"epoch": 11,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 22.974179223994724,
|
||||
"peak_sampled_rss_bytes": 13699371008,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-11-34b3ae80ea1d4482833642b6ed7d339e.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 22.489389165013563,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 55680,
|
||||
"duration_s": 2.32,
|
||||
"pcm_sha256": "3b9e2ac145bc167d957081758c10e306063e39b76aec3e3440dc6e5405252913"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-10",
|
||||
"stage_id": 0,
|
||||
"epoch": 12,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 22.483644073014148,
|
||||
"peak_sampled_rss_bytes": 13699420160,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-12-10f83c01ac4a49fea9c7ab151dac6e28.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.88300958601758,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 70080,
|
||||
"duration_s": 2.92,
|
||||
"pcm_sha256": "fbc0b4a0f4b11c1e2a26209c383d20a931d34b824872f544d61f9249d1f759f3"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-11",
|
||||
"stage_id": 0,
|
||||
"epoch": 13,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.873040759004653,
|
||||
"peak_sampled_rss_bytes": 13699600384,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-13-7f9990b414ba4fac9520eeef0ebe486a.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 22.669943516957574,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 65280,
|
||||
"duration_s": 2.72,
|
||||
"pcm_sha256": "3c18f343479cba78c4a38a186269566dae817647ccc022868c7c7fb024debd3c"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-12",
|
||||
"stage_id": 0,
|
||||
"epoch": 14,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 22.666209709015675,
|
||||
"peak_sampled_rss_bytes": 13699514368,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-14-e4dba66509024020b59895885f98e501.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.33673663699301,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 50880,
|
||||
"duration_s": 2.12,
|
||||
"pcm_sha256": "4f50f09fd2a0379b1d618c6858ff26b28e7fce0ee0ad185d236fd2cd82d4c5a4"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-13",
|
||||
"stage_id": 0,
|
||||
"epoch": 15,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.324215419008397,
|
||||
"peak_sampled_rss_bytes": 13703643136,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-15-ddd865763d4e4a95bd5bf384518d11e6.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.206920797005296,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 55680,
|
||||
"duration_s": 2.32,
|
||||
"pcm_sha256": "9594e16a35aac96cbaef01b2a12908b38d79841d2c7b7e9884ac2bcd83cfb1c7"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-14",
|
||||
"stage_id": 0,
|
||||
"epoch": 16,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.19829757302068,
|
||||
"peak_sampled_rss_bytes": 13699510272,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-16-0b6dd1b25a13476989bb721ea60365bb.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.9044453749666,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 59520,
|
||||
"duration_s": 2.48,
|
||||
"pcm_sha256": "e675ce84487666a46c324515676ae12608a7376cd0158bc88d618fa8569bb3ca"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-15",
|
||||
"stage_id": 0,
|
||||
"epoch": 17,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.89142888702918,
|
||||
"peak_sampled_rss_bytes": 13699391488,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-17-cf105256b99942efae7acfc99c3f23a4.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.752620821003802,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 70080,
|
||||
"duration_s": 2.92,
|
||||
"pcm_sha256": "5b350937d8d502ae985fada8b1e2914b7b885d93c8962d180dcfeb855e9eebb6"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-16",
|
||||
"stage_id": 0,
|
||||
"epoch": 18,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.74432648898801,
|
||||
"peak_sampled_rss_bytes": 13699579904,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-18-1b039e5398ea45f48e7699610bde2956.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 24.298291172948666,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 65280,
|
||||
"duration_s": 2.72,
|
||||
"pcm_sha256": "90b6085fab059e7f9a9eb50d1935e517d7b6ea1473e4d4ffb0f429997b0ad66e"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-17",
|
||||
"stage_id": 0,
|
||||
"epoch": 19,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 24.284687713021412,
|
||||
"peak_sampled_rss_bytes": 13699481600,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-19-95341a3235cd4069b2dc6c742ca21e31.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 24.150624626956414,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 60480,
|
||||
"duration_s": 2.52,
|
||||
"pcm_sha256": "aed89a40e2dab6d05f07e5f327f3ea6e1998bc79ddb1eaa3567390ecbce494d5"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-18",
|
||||
"stage_id": 0,
|
||||
"epoch": 20,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 24.143880530027673,
|
||||
"peak_sampled_rss_bytes": 13699219456,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-20-1c8c34a5d99745f3b94f5a9c4d9dc3c7.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 22.574850575008895,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 62400,
|
||||
"duration_s": 2.6,
|
||||
"pcm_sha256": "d82977b3294e4cae43ffe355c029f25779aac81eb6e7a6fc2544c32008ea4ecc"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-19",
|
||||
"stage_id": 0,
|
||||
"epoch": 21,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 22.562000848003663,
|
||||
"peak_sampled_rss_bytes": 13699457024,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-21-851c57e533d64d23974e29a5c6b8fc6a.log"
|
||||
}
|
||||
}
|
||||
],
|
||||
"nearest_rank_p50_wall_s": 22.669943516957574,
|
||||
"nearest_rank_p95_wall_s": 24.82860793202417,
|
||||
"output_wav": "benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/minicpmo_omni_wsl_cpu/profile20_first.wav",
|
||||
"execution_plan_after_request": {
|
||||
"backend": "external.minicpmo.gguf.v1",
|
||||
"stage_id": 0,
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"requested_placement": "cpu",
|
||||
"ggml_vk_visible_devices": null,
|
||||
"shared_ram_reservation": {
|
||||
"host_ram": 25769803776
|
||||
},
|
||||
"weights_bytes": 8872297088,
|
||||
"memory_overhead_bytes": 12884901888,
|
||||
"context_tokens": 2048,
|
||||
"max_new_tokens": 96,
|
||||
"request_capacity": 1,
|
||||
"stateful_session": "C++-owned within one request; discarded after completion",
|
||||
"placement_evidence": {
|
||||
"observed": "cpu",
|
||||
"worker_pid": 3633536,
|
||||
"peak_sampled_rss_bytes": 13699457024,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-21-851c57e533d64d23974e29a5c6b8fc6a.log"
|
||||
}
|
||||
},
|
||||
"abort_check": {
|
||||
"stale_output": false,
|
||||
"ledger": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
},
|
||||
"status": "passed",
|
||||
"ledger_after_shutdown": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
}
|
||||
+719
@@ -0,0 +1,719 @@
|
||||
INFO 09-23 23:07:08 [patch.py:259] NVFP4 W4A4 weight_scale NaN-clamp: installed.
|
||||
INFO 09-23 23:07:08 [patch.py:510] inductor factorable-divisibility patch: installed.
|
||||
INFO 09-23 23:07:08 [patch.py:589] [cumem-cuda] CuMemAllocator._python_free_callback patched: asleep guard extended to all platforms.
|
||||
INFO 09-23 23:07:09 [stage_init_utils.py:768] [stage_init] Set VLLM_WORKER_MULTIPROC_METHOD=spawn
|
||||
WARNING 09-23 23:07:09 [stage_init_utils.py:1887] [stage_init] Failed to load transfer config: [Errno 21] Is a directory: '/home/zhout/project/edge_infer/vllm-omni-edge'
|
||||
{
|
||||
"scope": "MiniCPM-o GGUF complete audio+image\u2192text+speech through Omni StageRuntime/StagePool",
|
||||
"placement": "cpu",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"reference_sha256": "cf4bb5cd9acbfbf67596d4a53310652b61ef4b7ede1d54eb03ef4882ca40223a",
|
||||
"input_sha256": {
|
||||
"audio_wav": "14ee147cbf2ce9afd9e32c8c8228d7cfe11985cd7e63456b2ad33871492aefcc",
|
||||
"image_jpeg": "22c7ccea466a3f551c512045e6316c7597408d4e0a20205502f55784d977aa8d"
|
||||
},
|
||||
"memory_budget": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"demands": {
|
||||
"host_ram": 25769803776
|
||||
}
|
||||
},
|
||||
"profile_count": 20,
|
||||
"warmup_count": 1,
|
||||
"startup_s": 4.810570983972866,
|
||||
"execution_plan_at_start": {
|
||||
"backend": "external.minicpmo.gguf.v1",
|
||||
"stage_id": 0,
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"requested_placement": "cpu",
|
||||
"ggml_vk_visible_devices": null,
|
||||
"shared_ram_reservation": {
|
||||
"host_ram": 25769803776
|
||||
},
|
||||
"weights_bytes": 8872297088,
|
||||
"memory_overhead_bytes": 12884901888,
|
||||
"context_tokens": 2048,
|
||||
"max_new_tokens": 96,
|
||||
"request_capacity": 1,
|
||||
"stateful_session": "C++-owned within one request; discarded after completion",
|
||||
"placement_evidence": "pending first request"
|
||||
},
|
||||
"warmups": [
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 25.354166724020615,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 71040,
|
||||
"duration_s": 2.96,
|
||||
"pcm_sha256": "ed1e390fd938a02abcbf0f86f8fcb0a23583954b74bb140f1f75cdc6cd8e5a78"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-warmup-0",
|
||||
"stage_id": 0,
|
||||
"epoch": 1,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 25.346508098009508,
|
||||
"peak_sampled_rss_bytes": 13699346432,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-1-d8b163749f0e4683aca7899dbfff65fd.log"
|
||||
}
|
||||
}
|
||||
],
|
||||
"complete_request": {
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 19.150184509984683,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 48000,
|
||||
"duration_s": 2.0,
|
||||
"pcm_sha256": "878bda7a3c7e9dbe6730095a3cb36172dc3dfe4d730f10fde9496ea439c855fb"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-0",
|
||||
"stage_id": 0,
|
||||
"epoch": 2,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 19.14088644599542,
|
||||
"peak_sampled_rss_bytes": 13698719744,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-2-fb76d726749f44759c9ac56077a5da31.log"
|
||||
}
|
||||
},
|
||||
"measured": [
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 19.150184509984683,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 48000,
|
||||
"duration_s": 2.0,
|
||||
"pcm_sha256": "878bda7a3c7e9dbe6730095a3cb36172dc3dfe4d730f10fde9496ea439c855fb"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-0",
|
||||
"stage_id": 0,
|
||||
"epoch": 2,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 19.14088644599542,
|
||||
"peak_sampled_rss_bytes": 13698719744,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-2-fb76d726749f44759c9ac56077a5da31.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.663129427994136,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 70080,
|
||||
"duration_s": 2.92,
|
||||
"pcm_sha256": "b7508f3b8a45e5ecb95deefb910a70a1039f6c2f486487706da2a6b33d13e433"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-1",
|
||||
"stage_id": 0,
|
||||
"epoch": 3,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.659611514944118,
|
||||
"peak_sampled_rss_bytes": 13699510272,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-3-8a569c9c4f124041898d9c98527f4f2b.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.225499626016244,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 59520,
|
||||
"duration_s": 2.48,
|
||||
"pcm_sha256": "9cea7224f50dd55b52d32ed5da308397f1d64debcae9800f29ec379e52085324"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-2",
|
||||
"stage_id": 0,
|
||||
"epoch": 4,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.220281650021207,
|
||||
"peak_sampled_rss_bytes": 13699334144,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-4-042e886efca144f5ba884e7d9622487d.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.08687804301735,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 62400,
|
||||
"duration_s": 2.6,
|
||||
"pcm_sha256": "b5ddd41730796542fbd0dcf0398dcd56ba0752af771a39ba0ee032e7346b2c23"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-3",
|
||||
"stage_id": 0,
|
||||
"epoch": 5,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.076925281027798,
|
||||
"peak_sampled_rss_bytes": 13699379200,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-5-9de83da7d4ad46e591a94499b5caebf0.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.883253135019913,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 60480,
|
||||
"duration_s": 2.52,
|
||||
"pcm_sha256": "396bbdf022974f9713ffbb3dbe37bec3a32ed12c4ea388d741409ec001212b15"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-4",
|
||||
"stage_id": 0,
|
||||
"epoch": 6,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.87929545500083,
|
||||
"peak_sampled_rss_bytes": 13699448832,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-6-a9097953844646a3b18e816b77032a93.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 20.457199305004906,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 38400,
|
||||
"duration_s": 1.6,
|
||||
"pcm_sha256": "4e98bb6bc827d2033d9c4f76a6fee49621037c3ac91a227ec92d57fb3f01b297"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-5",
|
||||
"stage_id": 0,
|
||||
"epoch": 7,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 20.449729025014676,
|
||||
"peak_sampled_rss_bytes": 13692182528,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-7-b1800272e7fd4f2c88022c79e1fb0b73.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 30.871680101030506,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 59520,
|
||||
"duration_s": 2.48,
|
||||
"pcm_sha256": "68c5a90e835ff7e208c1627d6e2e9e7300dc7c6326ae5f79bde41d1de6cca0b3"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-6",
|
||||
"stage_id": 0,
|
||||
"epoch": 8,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 30.867184494039975,
|
||||
"peak_sampled_rss_bytes": 13699379200,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-8-c6b3c2f5b34e44d09fafd36c533110b2.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 24.82860793202417,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 59520,
|
||||
"duration_s": 2.48,
|
||||
"pcm_sha256": "e49dc3ca9debee47e91c8bbff8ff3a60a8f092bc857b384cd36dc98bf062467b"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-7",
|
||||
"stage_id": 0,
|
||||
"epoch": 9,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 24.81576943397522,
|
||||
"peak_sampled_rss_bytes": 13699313664,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-9-aa984533676940ce89c396b8a1a3508b.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.672656088951044,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 63360,
|
||||
"duration_s": 2.64,
|
||||
"pcm_sha256": "904f4202472ab5e797d416025518db395f264d41cddf1d3b3e1b0e0d2f89a9ee"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-8",
|
||||
"stage_id": 0,
|
||||
"epoch": 10,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.662863618985284,
|
||||
"peak_sampled_rss_bytes": 13699252224,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-10-4da7faa2e610416abbc3a37c41d4ca4b.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 22.979588018963113,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 61440,
|
||||
"duration_s": 2.56,
|
||||
"pcm_sha256": "3bf5df389bcf42ee8a4ce174ca576b4cbb7263247b3ddd74ef447cdd158db8db"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-9",
|
||||
"stage_id": 0,
|
||||
"epoch": 11,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 22.974179223994724,
|
||||
"peak_sampled_rss_bytes": 13699371008,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-11-34b3ae80ea1d4482833642b6ed7d339e.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 22.489389165013563,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 55680,
|
||||
"duration_s": 2.32,
|
||||
"pcm_sha256": "3b9e2ac145bc167d957081758c10e306063e39b76aec3e3440dc6e5405252913"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-10",
|
||||
"stage_id": 0,
|
||||
"epoch": 12,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 22.483644073014148,
|
||||
"peak_sampled_rss_bytes": 13699420160,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-12-10f83c01ac4a49fea9c7ab151dac6e28.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.88300958601758,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 70080,
|
||||
"duration_s": 2.92,
|
||||
"pcm_sha256": "fbc0b4a0f4b11c1e2a26209c383d20a931d34b824872f544d61f9249d1f759f3"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-11",
|
||||
"stage_id": 0,
|
||||
"epoch": 13,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.873040759004653,
|
||||
"peak_sampled_rss_bytes": 13699600384,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-13-7f9990b414ba4fac9520eeef0ebe486a.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 22.669943516957574,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 65280,
|
||||
"duration_s": 2.72,
|
||||
"pcm_sha256": "3c18f343479cba78c4a38a186269566dae817647ccc022868c7c7fb024debd3c"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-12",
|
||||
"stage_id": 0,
|
||||
"epoch": 14,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 22.666209709015675,
|
||||
"peak_sampled_rss_bytes": 13699514368,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-14-e4dba66509024020b59895885f98e501.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.33673663699301,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 50880,
|
||||
"duration_s": 2.12,
|
||||
"pcm_sha256": "4f50f09fd2a0379b1d618c6858ff26b28e7fce0ee0ad185d236fd2cd82d4c5a4"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-13",
|
||||
"stage_id": 0,
|
||||
"epoch": 15,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.324215419008397,
|
||||
"peak_sampled_rss_bytes": 13703643136,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-15-ddd865763d4e4a95bd5bf384518d11e6.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.206920797005296,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 55680,
|
||||
"duration_s": 2.32,
|
||||
"pcm_sha256": "9594e16a35aac96cbaef01b2a12908b38d79841d2c7b7e9884ac2bcd83cfb1c7"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-14",
|
||||
"stage_id": 0,
|
||||
"epoch": 16,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.19829757302068,
|
||||
"peak_sampled_rss_bytes": 13699510272,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-16-0b6dd1b25a13476989bb721ea60365bb.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 21.9044453749666,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 59520,
|
||||
"duration_s": 2.48,
|
||||
"pcm_sha256": "e675ce84487666a46c324515676ae12608a7376cd0158bc88d618fa8569bb3ca"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-15",
|
||||
"stage_id": 0,
|
||||
"epoch": 17,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 21.89142888702918,
|
||||
"peak_sampled_rss_bytes": 13699391488,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-17-cf105256b99942efae7acfc99c3f23a4.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 23.752620821003802,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 70080,
|
||||
"duration_s": 2.92,
|
||||
"pcm_sha256": "5b350937d8d502ae985fada8b1e2914b7b885d93c8962d180dcfeb855e9eebb6"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-16",
|
||||
"stage_id": 0,
|
||||
"epoch": 18,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 23.74432648898801,
|
||||
"peak_sampled_rss_bytes": 13699579904,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-18-1b039e5398ea45f48e7699610bde2956.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 24.298291172948666,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 65280,
|
||||
"duration_s": 2.72,
|
||||
"pcm_sha256": "90b6085fab059e7f9a9eb50d1935e517d7b6ea1473e4d4ffb0f429997b0ad66e"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-17",
|
||||
"stage_id": 0,
|
||||
"epoch": 19,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 24.284687713021412,
|
||||
"peak_sampled_rss_bytes": 13699481600,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-19-95341a3235cd4069b2dc6c742ca21e31.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 24.150624626956414,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 60480,
|
||||
"duration_s": 2.52,
|
||||
"pcm_sha256": "aed89a40e2dab6d05f07e5f327f3ea6e1998bc79ddb1eaa3567390ecbce494d5"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-18",
|
||||
"stage_id": 0,
|
||||
"epoch": 20,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 24.143880530027673,
|
||||
"peak_sampled_rss_bytes": 13699219456,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-20-1c8c34a5d99745f3b94f5a9c4d9dc3c7.log"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 22.574850575008895,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 62400,
|
||||
"duration_s": 2.6,
|
||||
"pcm_sha256": "d82977b3294e4cae43ffe355c029f25779aac81eb6e7a6fc2544c32008ea4ecc"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-measured-19",
|
||||
"stage_id": 0,
|
||||
"epoch": 21,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 22.562000848003663,
|
||||
"peak_sampled_rss_bytes": 13699457024,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-21-851c57e533d64d23974e29a5c6b8fc6a.log"
|
||||
}
|
||||
}
|
||||
],
|
||||
"nearest_rank_p50_wall_s": 22.669943516957574,
|
||||
"nearest_rank_p95_wall_s": 24.82860793202417,
|
||||
"output_wav": "benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/minicpmo_omni_wsl_cpu/profile20_first.wav",
|
||||
"execution_plan_after_request": {
|
||||
"backend": "external.minicpmo.gguf.v1",
|
||||
"stage_id": 0,
|
||||
"worker_generation": "b4b38bae9b0b4fbda83a8cf096b4d071",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"requested_placement": "cpu",
|
||||
"ggml_vk_visible_devices": null,
|
||||
"shared_ram_reservation": {
|
||||
"host_ram": 25769803776
|
||||
},
|
||||
"weights_bytes": 8872297088,
|
||||
"memory_overhead_bytes": 12884901888,
|
||||
"context_tokens": 2048,
|
||||
"max_new_tokens": 96,
|
||||
"request_capacity": 1,
|
||||
"stateful_session": "C++-owned within one request; discarded after completion",
|
||||
"placement_evidence": {
|
||||
"observed": "cpu",
|
||||
"worker_pid": 3633536,
|
||||
"peak_sampled_rss_bytes": 13699457024,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_profile_logs/minicpmo-21-851c57e533d64d23974e29a5c6b8fc6a.log"
|
||||
}
|
||||
},
|
||||
"abort_check": {
|
||||
"stale_output": false,
|
||||
"ledger": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
},
|
||||
"status": "passed",
|
||||
"ledger_after_shutdown": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
}
|
||||
BIN
Binary file not shown.
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"scope": "local Whisper tiny.en ASR proxy for generated speech; no perceptual quality claim",
|
||||
"asr_model": "openai/whisper-tiny.en",
|
||||
"asr_revision": "87c7102498dcde7456f24cfd30239ca606ed9063",
|
||||
"asr_weights_sha256": "db59695928ded6043adaef491a53ef4e12da9611184d77c53baa691a60b958ad",
|
||||
"transformers": "4.57.3",
|
||||
"torch": "2.4.1+cpu",
|
||||
"wav_sha256": "25e83ba6488a08bc90c6021230381375d4177cd88c8367a7937b488cc3197029",
|
||||
"input_sample_rate": 24000,
|
||||
"input_duration_s": 2.0,
|
||||
"reference_text": "The square in the image is red.",
|
||||
"transcript": "The square in the image is red.",
|
||||
"word_error_rate": 0.0,
|
||||
"asr_load_s": 1.1057805999880657,
|
||||
"asr_inference_s": 0.9375752999912947
|
||||
}
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
23:07:13.818 === omni_init start
|
||||
23:07:13.818 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
23:07:13.818 === omni_init: loading new LLM model
|
||||
23:07:16.824 === omni_init: loading TTS model
|
||||
23:07:16.824 TTS model: loading with n_gpu_layers=0
|
||||
23:07:17.059 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
23:07:17.059 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
23:07:18.279 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
23:07:18.296 TTS: head_code loaded, verifying first few values:
|
||||
23:07:18.296 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
23:07:18.296 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
23:07:18.296 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
23:07:18.369 TTS: weights loaded successfully
|
||||
23:07:18.369 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
23:07:18.379 Projector: loaded successfully
|
||||
23:07:18.379 === omni_init: loading APM model
|
||||
23:07:18.620 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
23:07:19.356 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
23:07:19.356 Token2Wav: all model files found, initializing session...
|
||||
23:07:19.356 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
23:07:19.356 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
23:07:20.766 Token2Wav: initialized successfully
|
||||
23:07:20.766 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
23:07:20.766 Token2Wav: 使用 C++ 实现
|
||||
23:07:20.766 === omni_init success: ctx_llama = 0x620623536060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-1-ac0lsik6/fixture_
|
||||
Count: 2
|
||||
23:07:20.766 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
23:07:20.766 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-1-ac0lsik6/fixture_0000.wav
|
||||
23:07:21.654 system prompt ref_audio embedding: n_pos=20
|
||||
23:07:23.458 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
23:07:23.458 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
23:07:23.458 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
23:07:23.458 n_past = 72
|
||||
23:07:23.458
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.69155 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3326.59 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3346.51 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3346.51 ms by vision ( 3346.51 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-1-ac0lsik6/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
23:07:28.639 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-1-ac0lsik6/fixture_0001.wav
|
||||
23:07:28.946 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
23:07:30.131
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.6726 s
|
||||
23:07:30.131 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
23:07:30.131 stream_decode: create tts thread (simplex mode)
|
||||
23:07:30.131 stream_decode: create t2w thread
|
||||
23:07:30.131 wait prefill done
|
||||
23:07:30.131 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
23:07:30.131 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>23:07:30.134 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
23:07:30.134 TTS thread started
|
||||
23:07:30.531 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
23:07:30.531 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
23:07:31.450 LLM: detected end token, set llm_generation_done=true
|
||||
23:07:31.450 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:07:31.450 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
23:07:31.450 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
23:07:31.450 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:07:31.450 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
23:07:31.450 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2463.790ms vocoder=304.083ms total=2767.886ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1674.097ms vocoder=321.994ms total=1996.109ms audio=24000
|
||||
[timing] call=2 tokens=24 final=1 token2mel=1671.922ms vocoder=303.297ms total=1975.229ms audio=26880
|
||||
Audio generation completed.
|
||||
23:07:31.450 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
23:07:31.450 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
23:07:31.451 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
23:07:31.460 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
23:07:31.460 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
23:07:31.460 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
23:07:31.460 TTS Simplex: first chunk - cleared KV cache
|
||||
23:07:31.460 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
23:07:31.478 TTS Simplex: prefill completed, n_past_tts=9
|
||||
23:07:31.479 TTS Simplex: sampler created
|
||||
23:07:31.479 TTS simplex: is_audio_bos=true (first audio token)
|
||||
23:07:31.507 TTS Simplex Phase1: token 1/500: rel_id=3008
|
||||
23:07:31.519 TTS Simplex Phase1: token 2/500: rel_id=4299
|
||||
23:07:31.530 TTS Simplex Phase1: token 3/500: rel_id=4218
|
||||
23:07:31.541 TTS Simplex Phase1: token 4/500: rel_id=4218
|
||||
23:07:31.551 TTS Simplex Phase1: token 5/500: rel_id=4218
|
||||
23:07:31.775 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
23:07:31.784 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
23:07:31.784 TTS Simplex Phase1: token 25/500: rel_id=1691
|
||||
23:07:31.784 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
23:07:31.784 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
23:07:31.891 TTS Simplex Phase1: EOS token at step 36
|
||||
23:07:31.892 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
23:07:31.892 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=44
|
||||
23:07:31.898 TTS Simplex Phase2: text_eos_embed injected, n_past=45
|
||||
23:07:31.904 TTS Simplex Phase2: audio_bos injected, n_past=46, starting final generation
|
||||
23:07:32.049 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
23:07:32.284 TTS Simplex Phase2: EOS at step 37 (final end)
|
||||
23:07:32.284 TTS Simplex: chunk 结束,tts_token_buffer 剩余 21 tokens (保留等下一个 chunk)
|
||||
23:07:32.284 TTS Simplex: is_final_text_chunk=true, flush 剩余 21 tokens 从 tts_token_buffer
|
||||
23:07:32.284 TTS Simplex: generated 71 audio tokens for chunk 0
|
||||
23:07:32.284 TTS Simplex: chunk 0 first tokens: [3008 4299 4218 4218 4218 ], last tokens: [43 6 4218 4218 1716 ]
|
||||
23:07:32.284 TTS Simplex: updated tts_n_past_accumulated=83, total_generated_tokens=71
|
||||
23:07:32.284 TTS: finished processing all chunks
|
||||
23:07:32.284 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
23:07:32.284 TTS: sent is_final=true to T2W queue (turn end)
|
||||
23:07:34.552 🎉 首响时间 (First Audio Response): 4421ms
|
||||
23:07:34.552 T2W线程: wav_0.wav | 0.84s audio | 2768.1ms inference | RTF=3.30 | t=4421ms
|
||||
23:07:36.549 T2W线程: wav_1.wav | 1.00s audio | 1996.2ms inference | RTF=2.00 | t=6417ms
|
||||
23:07:38.524 T2W线程: wav_2.wav | 1.12s audio | 1975.3ms inference | RTF=1.76 | t=8393ms
|
||||
23:07:38.524 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
23:07:38.524 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
23:07:38.588 omni_stop_threads: stop signals sent
|
||||
23:07:38.588 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 16712.61 ms
|
||||
llama_perf_context_print: prompt eval time = 9764.18 ms / 182 tokens ( 53.65 ms per token, 18.64 tokens per second)
|
||||
llama_perf_context_print: eval time = 916.66 ms / 9 runs ( 101.85 ms per token, 9.82 tokens per second)
|
||||
llama_perf_context_print: total time = 24769.65 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:11:51.893 === omni_init start
|
||||
00:11:51.893 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:11:51.893 === omni_init: loading new LLM model
|
||||
00:11:54.248 === omni_init: loading TTS model
|
||||
00:11:54.248 TTS model: loading with n_gpu_layers=0
|
||||
00:11:54.491 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:11:54.491 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:11:55.277 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:11:55.286 TTS: head_code loaded, verifying first few values:
|
||||
00:11:55.286 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:11:55.286 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:11:55.286 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:11:55.357 TTS: weights loaded successfully
|
||||
00:11:55.357 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:11:55.368 Projector: loaded successfully
|
||||
00:11:55.368 === omni_init: loading APM model
|
||||
00:11:55.764 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:11:56.817 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:11:56.817 Token2Wav: all model files found, initializing session...
|
||||
00:11:56.817 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:11:56.817 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:11:58.113 Token2Wav: initialized successfully
|
||||
00:11:58.113 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:11:58.113 Token2Wav: 使用 C++ 实现
|
||||
00:11:58.113 === omni_init success: ctx_llama = 0x641d9bbaa060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-10-0l8cfhk9/fixture_
|
||||
Count: 2
|
||||
00:11:58.113 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:11:58.113 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-10-0l8cfhk9/fixture_0000.wav
|
||||
00:11:59.054 system prompt ref_audio embedding: n_pos=20
|
||||
00:12:00.533 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:12:00.533 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:12:00.533 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:12:00.533 n_past = 72
|
||||
00:12:00.533
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.42059 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3063.90 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3082.62 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3082.62 ms by vision ( 3082.62 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-10-0l8cfhk9/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:12:05.431 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-10-0l8cfhk9/fixture_0001.wav
|
||||
00:12:05.772 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:12:06.904
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.37036 s
|
||||
00:12:06.904 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:12:06.904 stream_decode: create tts thread (simplex mode)
|
||||
00:12:06.904 stream_decode: create t2w thread
|
||||
00:12:06.904 wait prefill done
|
||||
00:12:06.904 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:12:06.904 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:12:06.909 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:12:06.910 TTS thread started
|
||||
00:12:07.312 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:12:07.313 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:12:08.221 LLM: detected end token, set llm_generation_done=true
|
||||
00:12:08.221 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:12:08.222 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:12:08.222 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:12:08.222 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:12:08.222 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:12:08.222 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2225.880ms vocoder=289.870ms total=2515.761ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1651.561ms vocoder=312.783ms total=1964.362ms audio=24000
|
||||
[timing] call=2 tokens=16 final=1 token2mel=1632.689ms vocoder=209.991ms total=1842.691ms audio=19200
|
||||
Audio generation completed.
|
||||
00:12:08.222 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:12:08.222 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:12:08.223 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:12:08.245 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:12:08.245 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:12:08.245 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:12:08.245 TTS Simplex: first chunk - cleared KV cache
|
||||
00:12:08.245 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:12:08.264 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:12:08.264 TTS Simplex: sampler created
|
||||
00:12:08.264 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:12:08.295 TTS Simplex Phase1: token 1/500: rel_id=785
|
||||
00:12:08.308 TTS Simplex Phase1: token 2/500: rel_id=4218
|
||||
00:12:08.320 TTS Simplex Phase1: token 3/500: rel_id=4137
|
||||
00:12:08.332 TTS Simplex Phase1: token 4/500: rel_id=4137
|
||||
00:12:08.344 TTS Simplex Phase1: token 5/500: rel_id=4137
|
||||
00:12:08.557 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:12:08.571 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:12:08.571 TTS Simplex Phase1: token 25/500: rel_id=1844
|
||||
00:12:08.571 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:12:08.571 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:12:08.810 TTS Simplex Phase1: EOS token at step 48
|
||||
00:12:08.810 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:12:08.810 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=56
|
||||
00:12:08.817 TTS Simplex Phase2: text_eos_embed injected, n_past=57
|
||||
00:12:08.824 TTS Simplex Phase2: audio_bos injected, n_past=58, starting final generation
|
||||
00:12:08.853 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:12:09.002 TTS Simplex Phase2: EOS at step 17 (final end)
|
||||
00:12:09.002 TTS Simplex: chunk 结束,tts_token_buffer 剩余 13 tokens (保留等下一个 chunk)
|
||||
00:12:09.002 TTS Simplex: is_final_text_chunk=true, flush 剩余 13 tokens 从 tts_token_buffer
|
||||
00:12:09.002 TTS Simplex: generated 63 audio tokens for chunk 0
|
||||
00:12:09.002 TTS Simplex: chunk 0 first tokens: [785 4218 4137 4137 4137 ], last tokens: [4218 4137 4137 4137 6082 ]
|
||||
00:12:09.002 TTS Simplex: updated tts_n_past_accumulated=75, total_generated_tokens=63
|
||||
00:12:09.002 TTS: finished processing all chunks
|
||||
00:12:09.002 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:12:09.002 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:12:11.087 🎉 首响时间 (First Audio Response): 4183ms
|
||||
00:12:11.087 T2W线程: wav_0.wav | 0.84s audio | 2515.8ms inference | RTF=3.00 | t=4183ms
|
||||
00:12:13.052 T2W线程: wav_1.wav | 1.00s audio | 1964.4ms inference | RTF=1.96 | t=6147ms
|
||||
00:12:14.895 T2W线程: wav_2.wav | 0.80s audio | 1842.7ms inference | RTF=2.30 | t=7990ms
|
||||
00:12:14.895 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:12:14.895 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:12:14.969 omni_stop_threads: stop signals sent
|
||||
00:12:14.969 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 15418.43 ms
|
||||
llama_perf_context_print: prompt eval time = 9199.25 ms / 182 tokens ( 50.55 ms per token, 19.78 tokens per second)
|
||||
llama_perf_context_print: eval time = 906.43 ms / 9 runs ( 100.71 ms per token, 9.93 tokens per second)
|
||||
llama_perf_context_print: total time = 23075.35 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:12:15.565 === omni_init start
|
||||
00:12:15.565 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:12:15.565 === omni_init: loading new LLM model
|
||||
00:12:17.276 === omni_init: loading TTS model
|
||||
00:12:17.276 TTS model: loading with n_gpu_layers=0
|
||||
00:12:17.445 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:12:17.445 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:12:17.991 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:12:18.000 TTS: head_code loaded, verifying first few values:
|
||||
00:12:18.000 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:12:18.000 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:12:18.000 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:12:18.073 TTS: weights loaded successfully
|
||||
00:12:18.073 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:12:18.084 Projector: loaded successfully
|
||||
00:12:18.084 === omni_init: loading APM model
|
||||
00:12:18.334 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:12:18.820 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:12:18.820 Token2Wav: all model files found, initializing session...
|
||||
00:12:18.820 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:12:18.820 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:12:19.991 Token2Wav: initialized successfully
|
||||
00:12:19.991 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:12:19.991 Token2Wav: 使用 C++ 实现
|
||||
00:12:19.991 === omni_init success: ctx_llama = 0x605da1ce8060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-11-ig9ealus/fixture_
|
||||
Count: 2
|
||||
00:12:19.991 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:12:19.991 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-11-ig9ealus/fixture_0000.wav
|
||||
00:12:21.117 system prompt ref_audio embedding: n_pos=20
|
||||
00:12:22.823 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:12:22.823 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:12:22.823 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:12:22.823 n_past = 72
|
||||
00:12:22.823
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.83203 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3189.23 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3211.34 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3211.34 ms by vision ( 3211.34 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-11-ig9ealus/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:12:27.878 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-11-ig9ealus/fixture_0001.wav
|
||||
00:12:28.256 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:12:29.404
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.5807 s
|
||||
00:12:29.404 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:12:29.404 stream_decode: create tts thread (simplex mode)
|
||||
00:12:29.404 stream_decode: create t2w thread
|
||||
00:12:29.404 wait prefill done
|
||||
00:12:29.404 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:12:29.404 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:12:29.407 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:12:29.407 TTS thread started
|
||||
00:12:29.816 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:12:29.816 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:12:30.729 LLM: detected end token, set llm_generation_done=true
|
||||
00:12:30.729 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:12:30.729 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:12:30.729 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:12:30.729 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:12:30.729 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:12:30.729 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2716.365ms vocoder=302.632ms total=3019.006ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1685.347ms vocoder=325.910ms total=2011.273ms audio=24000
|
||||
[timing] call=2 tokens=14 final=1 token2mel=1653.113ms vocoder=218.273ms total=1871.395ms audio=17280
|
||||
Audio generation completed.
|
||||
00:12:30.729 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:12:30.729 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:12:30.730 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:12:30.742 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:12:30.742 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:12:30.742 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:12:30.742 TTS Simplex: first chunk - cleared KV cache
|
||||
00:12:30.742 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:12:30.761 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:12:30.761 TTS Simplex: sampler created
|
||||
00:12:30.761 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:12:30.789 TTS Simplex Phase1: token 1/500: rel_id=1472
|
||||
00:12:30.799 TTS Simplex Phase1: token 2/500: rel_id=4299
|
||||
00:12:30.810 TTS Simplex Phase1: token 3/500: rel_id=4299
|
||||
00:12:30.822 TTS Simplex Phase1: token 4/500: rel_id=4218
|
||||
00:12:30.833 TTS Simplex Phase1: token 5/500: rel_id=4218
|
||||
00:12:31.063 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:12:31.071 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:12:31.071 TTS Simplex Phase1: token 25/500: rel_id=5934
|
||||
00:12:31.071 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:12:31.071 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:12:31.216 TTS Simplex Phase1: EOS token at step 40
|
||||
00:12:31.216 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:12:31.216 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=48
|
||||
00:12:31.223 TTS Simplex Phase2: text_eos_embed injected, n_past=49
|
||||
00:12:31.231 TTS Simplex Phase2: audio_bos injected, n_past=50, starting final generation
|
||||
00:12:31.342 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:12:31.468 TTS Simplex Phase2: EOS at step 23 (final end)
|
||||
00:12:31.468 TTS Simplex: chunk 结束,tts_token_buffer 剩余 11 tokens (保留等下一个 chunk)
|
||||
00:12:31.468 TTS Simplex: is_final_text_chunk=true, flush 剩余 11 tokens 从 tts_token_buffer
|
||||
00:12:31.468 TTS Simplex: generated 61 audio tokens for chunk 0
|
||||
00:12:31.468 TTS Simplex: chunk 0 first tokens: [1472 4299 4299 4218 4218 ], last tokens: [4299 4218 4218 4218 6079 ]
|
||||
00:12:31.468 TTS Simplex: updated tts_n_past_accumulated=73, total_generated_tokens=61
|
||||
00:12:31.468 TTS: finished processing all chunks
|
||||
00:12:31.468 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:12:31.468 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:12:34.090 🎉 首响时间 (First Audio Response): 4686ms
|
||||
00:12:34.090 T2W线程: wav_0.wav | 0.84s audio | 3019.1ms inference | RTF=3.59 | t=4686ms
|
||||
00:12:36.102 T2W线程: wav_1.wav | 1.00s audio | 2011.3ms inference | RTF=2.01 | t=6697ms
|
||||
00:12:37.973 T2W线程: wav_2.wav | 0.72s audio | 1871.4ms inference | RTF=2.60 | t=8569ms
|
||||
00:12:37.973 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:12:37.973 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:12:37.974 omni_stop_threads: stop signals sent
|
||||
00:12:37.974 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14250.71 ms
|
||||
llama_perf_context_print: prompt eval time = 9824.83 ms / 182 tokens ( 53.98 ms per token, 18.52 tokens per second)
|
||||
llama_perf_context_print: eval time = 909.55 ms / 9 runs ( 101.06 ms per token, 9.90 tokens per second)
|
||||
llama_perf_context_print: total time = 22408.83 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:12:38.546 === omni_init start
|
||||
00:12:38.546 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:12:38.546 === omni_init: loading new LLM model
|
||||
00:12:40.217 === omni_init: loading TTS model
|
||||
00:12:40.217 TTS model: loading with n_gpu_layers=0
|
||||
00:12:40.384 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:12:40.384 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:12:41.056 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:12:41.069 TTS: head_code loaded, verifying first few values:
|
||||
00:12:41.069 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:12:41.069 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:12:41.069 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:12:41.146 TTS: weights loaded successfully
|
||||
00:12:41.146 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:12:41.158 Projector: loaded successfully
|
||||
00:12:41.158 === omni_init: loading APM model
|
||||
00:12:41.561 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:12:42.254 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:12:42.254 Token2Wav: all model files found, initializing session...
|
||||
00:12:42.254 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:12:42.254 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:12:43.435 Token2Wav: initialized successfully
|
||||
00:12:43.435 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:12:43.435 Token2Wav: 使用 C++ 实现
|
||||
00:12:43.435 === omni_init success: ctx_llama = 0x6121c8f90060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-12-q8httepa/fixture_
|
||||
Count: 2
|
||||
00:12:43.435 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:12:43.435 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-12-q8httepa/fixture_0000.wav
|
||||
00:12:44.420 system prompt ref_audio embedding: n_pos=20
|
||||
00:12:45.869 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:12:45.869 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:12:45.869 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:12:45.869 n_past = 72
|
||||
00:12:45.869
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.43383 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3150.09 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3169.10 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3169.10 ms by vision ( 3169.10 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-12-q8httepa/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:12:50.875 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-12-q8httepa/fixture_0001.wav
|
||||
00:12:51.197 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:12:52.355
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.48619 s
|
||||
00:12:52.355 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:12:52.356 stream_decode: create tts thread (simplex mode)
|
||||
00:12:52.356 stream_decode: create t2w thread
|
||||
00:12:52.356 wait prefill done
|
||||
00:12:52.356 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:12:52.356 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:12:52.360 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:12:52.360 TTS thread started
|
||||
00:12:52.775 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:12:52.775 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:12:53.713 LLM: detected end token, set llm_generation_done=true
|
||||
00:12:53.713 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:12:53.713 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:12:53.713 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:12:53.713 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:12:53.713 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:12:53.713 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2222.160ms vocoder=294.567ms total=2516.736ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1670.615ms vocoder=315.087ms total=1985.720ms audio=24000
|
||||
[timing] call=2 tokens=8 final=1 token2mel=1652.414ms vocoder=141.048ms total=1793.471ms audio=11520
|
||||
Audio generation completed.
|
||||
00:12:53.713 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:12:53.713 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:12:53.714 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:12:53.726 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:12:53.726 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:12:53.726 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:12:53.726 TTS Simplex: first chunk - cleared KV cache
|
||||
00:12:53.726 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:12:53.744 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:12:53.744 TTS Simplex: sampler created
|
||||
00:12:53.744 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:12:53.805 TTS Simplex Phase1: token 1/500: rel_id=757
|
||||
00:12:53.815 TTS Simplex Phase1: token 2/500: rel_id=4137
|
||||
00:12:53.826 TTS Simplex Phase1: token 3/500: rel_id=4218
|
||||
00:12:53.838 TTS Simplex Phase1: token 4/500: rel_id=4137
|
||||
00:12:53.849 TTS Simplex Phase1: token 5/500: rel_id=4137
|
||||
00:12:54.036 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:12:54.074 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:12:54.074 TTS Simplex Phase1: token 25/500: rel_id=4606
|
||||
00:12:54.074 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:12:54.074 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:12:54.252 TTS Simplex Phase1: EOS token at step 43
|
||||
00:12:54.252 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:12:54.252 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=51
|
||||
00:12:54.260 TTS Simplex Phase2: text_eos_embed injected, n_past=52
|
||||
00:12:54.269 TTS Simplex Phase2: audio_bos injected, n_past=53, starting final generation
|
||||
00:12:54.356 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:12:54.419 TTS Simplex Phase2: EOS at step 14 (final end)
|
||||
00:12:54.419 TTS Simplex: chunk 结束,tts_token_buffer 剩余 5 tokens (保留等下一个 chunk)
|
||||
00:12:54.419 TTS Simplex: is_final_text_chunk=true, flush 剩余 5 tokens 从 tts_token_buffer
|
||||
00:12:54.419 TTS Simplex: generated 55 audio tokens for chunk 0
|
||||
00:12:54.419 TTS Simplex: chunk 0 first tokens: [757 4137 4218 4137 4137 ], last tokens: [735 2031 4218 4218 6082 ]
|
||||
00:12:54.419 TTS Simplex: updated tts_n_past_accumulated=67, total_generated_tokens=55
|
||||
00:12:54.419 TTS: finished processing all chunks
|
||||
00:12:54.419 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:12:54.419 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:12:56.591 🎉 首响时间 (First Audio Response): 4235ms
|
||||
00:12:56.591 T2W线程: wav_0.wav | 0.84s audio | 2516.8ms inference | RTF=3.00 | t=4235ms
|
||||
00:12:58.577 T2W线程: wav_1.wav | 1.00s audio | 1985.8ms inference | RTF=1.99 | t=6221ms
|
||||
00:13:00.371 T2W线程: wav_2.wav | 0.48s audio | 1793.5ms inference | RTF=3.74 | t=8015ms
|
||||
00:13:00.371 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:13:00.371 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:13:00.448 omni_stop_threads: stop signals sent
|
||||
00:13:00.448 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14227.85 ms
|
||||
llama_perf_context_print: prompt eval time = 9339.12 ms / 182 tokens ( 51.31 ms per token, 19.49 tokens per second)
|
||||
llama_perf_context_print: eval time = 935.65 ms / 9 runs ( 103.96 ms per token, 9.62 tokens per second)
|
||||
llama_perf_context_print: total time = 21901.78 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:13:01.035 === omni_init start
|
||||
00:13:01.035 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:13:01.035 === omni_init: loading new LLM model
|
||||
00:13:02.712 === omni_init: loading TTS model
|
||||
00:13:02.712 TTS model: loading with n_gpu_layers=0
|
||||
00:13:02.887 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:13:02.887 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:13:03.543 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:13:03.552 TTS: head_code loaded, verifying first few values:
|
||||
00:13:03.552 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:13:03.552 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:13:03.552 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:13:03.627 TTS: weights loaded successfully
|
||||
00:13:03.627 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:13:03.638 Projector: loaded successfully
|
||||
00:13:03.638 === omni_init: loading APM model
|
||||
00:13:03.886 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:13:04.620 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:13:04.620 Token2Wav: all model files found, initializing session...
|
||||
00:13:04.620 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:13:04.620 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:13:05.515 Token2Wav: initialized successfully
|
||||
00:13:05.515 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:13:05.515 Token2Wav: 使用 C++ 实现
|
||||
00:13:05.515 === omni_init success: ctx_llama = 0x56ab71187060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-13-1qav49xf/fixture_
|
||||
Count: 2
|
||||
00:13:05.515 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:13:05.515 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-13-1qav49xf/fixture_0000.wav
|
||||
00:13:06.344 system prompt ref_audio embedding: n_pos=20
|
||||
00:13:07.886 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:13:07.886 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:13:07.886 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:13:07.886 n_past = 72
|
||||
00:13:07.886
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.37051 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3068.39 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3087.46 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3087.46 ms by vision ( 3087.46 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-13-1qav49xf/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:13:12.774 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-13-1qav49xf/fixture_0001.wav
|
||||
00:13:13.082 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:13:14.251
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.36542 s
|
||||
00:13:14.251 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:13:14.251 stream_decode: create tts thread (simplex mode)
|
||||
00:13:14.251 stream_decode: create t2w thread
|
||||
00:13:14.251 wait prefill done
|
||||
00:13:14.251 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:13:14.252 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:13:14.256 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:13:14.256 TTS thread started
|
||||
00:13:14.678 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:13:14.678 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:13:15.605 LLM: detected end token, set llm_generation_done=true
|
||||
00:13:15.605 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:13:15.605 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:13:15.605 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:13:15.605 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:13:15.605 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:13:15.605 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2148.004ms vocoder=283.707ms total=2431.721ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1657.637ms vocoder=316.081ms total=1973.737ms audio=24000
|
||||
[timing] call=2 tokens=23 final=1 token2mel=1658.905ms vocoder=290.288ms total=1949.205ms audio=25920
|
||||
Audio generation completed.
|
||||
00:13:15.605 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:13:15.605 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:13:15.606 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:13:15.615 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:13:15.615 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:13:15.615 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:13:15.615 TTS Simplex: first chunk - cleared KV cache
|
||||
00:13:15.615 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:13:15.632 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:13:15.632 TTS Simplex: sampler created
|
||||
00:13:15.632 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:13:15.660 TTS Simplex Phase1: token 1/500: rel_id=1496
|
||||
00:13:15.671 TTS Simplex Phase1: token 2/500: rel_id=3888
|
||||
00:13:15.684 TTS Simplex Phase1: token 3/500: rel_id=3648
|
||||
00:13:15.695 TTS Simplex Phase1: token 4/500: rel_id=3648
|
||||
00:13:15.705 TTS Simplex Phase1: token 5/500: rel_id=4218
|
||||
00:13:15.933 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:13:15.933 TTS Simplex Phase1: token 25/500: rel_id=4579
|
||||
00:13:15.933 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:13:15.933 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:13:15.933 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:13:16.153 TTS Simplex Phase1: EOS token at step 46
|
||||
00:13:16.153 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:13:16.153 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=54
|
||||
00:13:16.160 TTS Simplex Phase2: text_eos_embed injected, n_past=55
|
||||
00:13:16.167 TTS Simplex Phase2: audio_bos injected, n_past=56, starting final generation
|
||||
00:13:16.221 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:13:16.433 TTS Simplex Phase2: EOS at step 26 (final end)
|
||||
00:13:16.433 TTS Simplex: chunk 结束,tts_token_buffer 剩余 20 tokens (保留等下一个 chunk)
|
||||
00:13:16.433 TTS Simplex: is_final_text_chunk=true, flush 剩余 20 tokens 从 tts_token_buffer
|
||||
00:13:16.433 TTS Simplex: generated 70 audio tokens for chunk 0
|
||||
00:13:16.433 TTS Simplex: chunk 0 first tokens: [1496 3888 3648 3648 4218 ], last tokens: [4218 4218 4218 4218 4137 ]
|
||||
00:13:16.433 TTS Simplex: updated tts_n_past_accumulated=82, total_generated_tokens=70
|
||||
00:13:16.433 TTS: finished processing all chunks
|
||||
00:13:16.433 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:13:16.433 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:13:18.365 🎉 首响时间 (First Audio Response): 4113ms
|
||||
00:13:18.365 T2W线程: wav_0.wav | 0.84s audio | 2431.8ms inference | RTF=2.89 | t=4113ms
|
||||
00:13:20.339 T2W线程: wav_1.wav | 1.00s audio | 1973.8ms inference | RTF=1.97 | t=6087ms
|
||||
00:13:22.288 T2W线程: wav_2.wav | 1.08s audio | 1949.3ms inference | RTF=1.80 | t=8036ms
|
||||
00:13:22.288 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:13:22.288 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:13:22.344 omni_stop_threads: stop signals sent
|
||||
00:13:22.344 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 13642.34 ms
|
||||
llama_perf_context_print: prompt eval time = 9162.95 ms / 182 tokens ( 50.35 ms per token, 19.86 tokens per second)
|
||||
llama_perf_context_print: eval time = 924.22 ms / 9 runs ( 102.69 ms per token, 9.74 tokens per second)
|
||||
llama_perf_context_print: total time = 21308.77 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:13:22.918 === omni_init start
|
||||
00:13:22.918 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:13:22.918 === omni_init: loading new LLM model
|
||||
00:13:24.533 === omni_init: loading TTS model
|
||||
00:13:24.533 TTS model: loading with n_gpu_layers=0
|
||||
00:13:24.695 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:13:24.695 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:13:25.233 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:13:25.242 TTS: head_code loaded, verifying first few values:
|
||||
00:13:25.242 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:13:25.242 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:13:25.242 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:13:25.312 TTS: weights loaded successfully
|
||||
00:13:25.312 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:13:25.322 Projector: loaded successfully
|
||||
00:13:25.322 === omni_init: loading APM model
|
||||
00:13:25.573 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:13:25.917 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:13:25.917 Token2Wav: all model files found, initializing session...
|
||||
00:13:25.917 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:13:25.917 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:13:26.433 Token2Wav: initialized successfully
|
||||
00:13:26.433 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:13:26.433 Token2Wav: 使用 C++ 实现
|
||||
00:13:26.433 === omni_init success: ctx_llama = 0x57135c220060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-14-oqvnicam/fixture_
|
||||
Count: 2
|
||||
00:13:26.433 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:13:26.433 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-14-oqvnicam/fixture_0000.wav
|
||||
00:13:27.263 system prompt ref_audio embedding: n_pos=20
|
||||
00:13:29.125 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:13:29.125 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:13:29.125 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:13:29.125 n_past = 72
|
||||
00:13:29.125
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.69242 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3507.26 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3528.14 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3528.14 ms by vision ( 3528.14 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-14-oqvnicam/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:13:34.827 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-14-oqvnicam/fixture_0001.wav
|
||||
00:13:35.290 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:13:36.506
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 7.38085 s
|
||||
00:13:36.506 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:13:36.507 stream_decode: create tts thread (simplex mode)
|
||||
00:13:36.507 stream_decode: create t2w thread
|
||||
00:13:36.507 wait prefill done
|
||||
00:13:36.507 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:13:36.507 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:13:36.511 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:13:36.511 TTS thread started
|
||||
00:13:36.952 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:13:36.952 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:13:37.897 LLM: detected end token, set llm_generation_done=true
|
||||
00:13:37.897 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:13:37.897 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:13:37.897 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:13:37.897 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:13:37.897 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:13:37.897 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2461.362ms vocoder=297.055ms total=2758.427ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1658.467ms vocoder=318.833ms total=1977.317ms audio=24000
|
||||
[timing] call=2 tokens=18 final=1 token2mel=1644.292ms vocoder=240.052ms total=1884.354ms audio=21120
|
||||
Audio generation completed.
|
||||
00:13:37.897 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:13:37.897 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:13:37.897 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:13:37.907 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:13:37.907 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:13:37.907 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:13:37.907 TTS Simplex: first chunk - cleared KV cache
|
||||
00:13:37.907 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:13:37.927 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:13:37.927 TTS Simplex: sampler created
|
||||
00:13:37.927 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:13:37.955 TTS Simplex Phase1: token 1/500: rel_id=1487
|
||||
00:13:37.968 TTS Simplex Phase1: token 2/500: rel_id=1950
|
||||
00:13:37.980 TTS Simplex Phase1: token 3/500: rel_id=4218
|
||||
00:13:37.991 TTS Simplex Phase1: token 4/500: rel_id=4137
|
||||
00:13:38.004 TTS Simplex Phase1: token 5/500: rel_id=4218
|
||||
00:13:38.236 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:13:38.247 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:13:38.247 TTS Simplex Phase1: token 25/500: rel_id=6553
|
||||
00:13:38.247 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:13:38.247 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:13:38.442 TTS Simplex Phase1: EOS token at step 44
|
||||
00:13:38.442 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:13:38.442 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=52
|
||||
00:13:38.449 TTS Simplex Phase2: text_eos_embed injected, n_past=53
|
||||
00:13:38.457 TTS Simplex Phase2: audio_bos injected, n_past=54, starting final generation
|
||||
00:13:38.527 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:13:38.691 TTS Simplex Phase2: EOS at step 23 (final end)
|
||||
00:13:38.691 TTS Simplex: chunk 结束,tts_token_buffer 剩余 15 tokens (保留等下一个 chunk)
|
||||
00:13:38.691 TTS Simplex: is_final_text_chunk=true, flush 剩余 15 tokens 从 tts_token_buffer
|
||||
00:13:38.691 TTS Simplex: generated 65 audio tokens for chunk 0
|
||||
00:13:38.691 TTS Simplex: chunk 0 first tokens: [1487 1950 4218 4137 4218 ], last tokens: [4218 4218 4218 4218 6078 ]
|
||||
00:13:38.691 TTS Simplex: updated tts_n_past_accumulated=77, total_generated_tokens=65
|
||||
00:13:38.691 TTS: finished processing all chunks
|
||||
00:13:38.691 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:13:38.691 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:13:41.006 🎉 首响时间 (First Audio Response): 4499ms
|
||||
00:13:41.006 T2W线程: wav_0.wav | 0.84s audio | 2758.5ms inference | RTF=3.28 | t=4499ms
|
||||
00:13:42.983 T2W线程: wav_1.wav | 1.00s audio | 1977.4ms inference | RTF=1.98 | t=6476ms
|
||||
00:13:44.868 T2W线程: wav_2.wav | 0.88s audio | 1884.4ms inference | RTF=2.14 | t=8361ms
|
||||
00:13:44.868 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:13:44.868 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:13:44.947 omni_stop_threads: stop signals sent
|
||||
00:13:44.948 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14033.25 ms
|
||||
llama_perf_context_print: prompt eval time = 10518.90 ms / 182 tokens ( 57.80 ms per token, 17.30 tokens per second)
|
||||
llama_perf_context_print: eval time = 941.94 ms / 9 runs ( 104.66 ms per token, 9.55 tokens per second)
|
||||
llama_perf_context_print: total time = 22029.31 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+466
@@ -0,0 +1,466 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:13:45.589 === omni_init start
|
||||
00:13:45.589 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:13:45.589 === omni_init: loading new LLM model
|
||||
00:13:47.445 === omni_init: loading TTS model
|
||||
00:13:47.446 TTS model: loading with n_gpu_layers=0
|
||||
00:13:47.621 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:13:47.621 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:13:48.276 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:13:48.284 TTS: head_code loaded, verifying first few values:
|
||||
00:13:48.284 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:13:48.284 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:13:48.284 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:13:48.356 TTS: weights loaded successfully
|
||||
00:13:48.356 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:13:48.367 Projector: loaded successfully
|
||||
00:13:48.367 === omni_init: loading APM model
|
||||
00:13:48.616 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:13:48.982 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:13:48.982 Token2Wav: all model files found, initializing session...
|
||||
00:13:48.982 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:13:48.982 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:13:50.206 Token2Wav: initialized successfully
|
||||
00:13:50.206 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:13:50.206 Token2Wav: 使用 C++ 实现
|
||||
00:13:50.206 === omni_init success: ctx_llama = 0x5ee3d0cbd060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-15-3w7n9yzv/fixture_
|
||||
Count: 2
|
||||
00:13:50.206 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:13:50.206 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-15-3w7n9yzv/fixture_0000.wav
|
||||
00:13:51.187 system prompt ref_audio embedding: n_pos=20
|
||||
00:13:53.018 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:13:53.018 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:13:53.018 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:13:53.018 n_past = 72
|
||||
00:13:53.018
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.81138 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3085.75 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3106.27 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3106.27 ms by vision ( 3106.27 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-15-3w7n9yzv/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:13:58.029 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-15-3w7n9yzv/fixture_0001.wav
|
||||
00:13:58.383 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:13:59.542
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.52384 s
|
||||
00:13:59.542 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:13:59.542 stream_decode: create tts thread (simplex mode)
|
||||
00:13:59.542 stream_decode: create t2w thread
|
||||
00:13:59.542 wait prefill done
|
||||
00:13:59.542 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:13:59.542 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:13:59.546 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:13:59.546 TTS thread started
|
||||
00:13:59.954 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:13:59.954 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:14:00.870 LLM: detected end token, set llm_generation_done=true
|
||||
00:14:00.871 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:14:00.871 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:14:00.871 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:14:00.871 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:14:00.871 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:14:00.871 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2665.036ms vocoder=322.488ms total=2987.532ms audio=20160
|
||||
[timing] call=1 tokens=28 final=1 token2mel=1665.871ms vocoder=351.205ms total=2017.128ms audio=30720
|
||||
Audio generation completed.
|
||||
00:14:00.871 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:14:00.871 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:14:00.872 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:14:00.886 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:14:00.886 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:14:00.886 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:14:00.886 TTS Simplex: first chunk - cleared KV cache
|
||||
00:14:00.886 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:14:00.904 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:14:00.904 TTS Simplex: sampler created
|
||||
00:14:00.904 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:14:00.931 TTS Simplex Phase1: token 1/500: rel_id=1513
|
||||
00:14:00.941 TTS Simplex Phase1: token 2/500: rel_id=2112
|
||||
00:14:00.952 TTS Simplex Phase1: token 3/500: rel_id=63
|
||||
00:14:00.964 TTS Simplex Phase1: token 4/500: rel_id=4528
|
||||
00:14:00.977 TTS Simplex Phase1: token 5/500: rel_id=4440
|
||||
00:14:01.204 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:14:01.220 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:14:01.220 TTS Simplex Phase1: token 25/500: rel_id=2367
|
||||
00:14:01.220 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:14:01.220 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:14:01.381 TTS Simplex Phase1: EOS token at step 41
|
||||
00:14:01.381 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:14:01.381 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=49
|
||||
00:14:01.387 TTS Simplex Phase2: text_eos_embed injected, n_past=50
|
||||
00:14:01.394 TTS Simplex Phase2: audio_bos injected, n_past=51, starting final generation
|
||||
00:14:01.496 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:14:01.506 TTS Simplex Phase2: EOS at step 11 (final end)
|
||||
00:14:01.506 TTS Simplex: chunk 结束,tts_token_buffer 剩余 0 tokens (保留等下一个 chunk)
|
||||
00:14:01.506 TTS Simplex: generated 50 audio tokens for chunk 0
|
||||
00:14:01.506 TTS Simplex: chunk 0 first tokens: [1513 2112 63 4528 4440 ], last tokens: [66 66 769 3732 4218 ]
|
||||
00:14:01.506 TTS Simplex: updated tts_n_past_accumulated=62, total_generated_tokens=50
|
||||
00:14:01.507 TTS: finished processing all chunks
|
||||
00:14:01.507 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:14:01.507 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:14:04.208 🎉 首响时间 (First Audio Response): 4666ms
|
||||
00:14:04.208 T2W线程: wav_0.wav | 0.84s audio | 2987.6ms inference | RTF=3.56 | t=4666ms
|
||||
00:14:06.226 T2W线程: wav_1.wav | 1.28s audio | 2017.2ms inference | RTF=1.58 | t=6683ms
|
||||
00:14:06.226 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=1)
|
||||
00:14:06.226 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:14:06.313 omni_stop_threads: stop signals sent
|
||||
00:14:06.313 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14363.88 ms
|
||||
llama_perf_context_print: prompt eval time = 9747.15 ms / 182 tokens ( 53.56 ms per token, 18.67 tokens per second)
|
||||
llama_perf_context_print: eval time = 914.10 ms / 9 runs ( 101.57 ms per token, 9.85 tokens per second)
|
||||
llama_perf_context_print: total time = 20723.58 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:14:06.926 === omni_init start
|
||||
00:14:06.926 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:14:06.926 === omni_init: loading new LLM model
|
||||
00:14:08.595 === omni_init: loading TTS model
|
||||
00:14:08.595 TTS model: loading with n_gpu_layers=0
|
||||
00:14:08.776 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:14:08.776 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:14:09.524 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:14:09.533 TTS: head_code loaded, verifying first few values:
|
||||
00:14:09.533 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:14:09.533 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:14:09.533 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:14:09.603 TTS: weights loaded successfully
|
||||
00:14:09.603 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:14:09.614 Projector: loaded successfully
|
||||
00:14:09.614 === omni_init: loading APM model
|
||||
00:14:09.857 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:14:10.306 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:14:10.306 Token2Wav: all model files found, initializing session...
|
||||
00:14:10.306 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:14:10.306 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:14:11.408 Token2Wav: initialized successfully
|
||||
00:14:11.408 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:14:11.408 Token2Wav: 使用 C++ 实现
|
||||
00:14:11.408 === omni_init success: ctx_llama = 0x58c23e484060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-16-1771emjm/fixture_
|
||||
Count: 2
|
||||
00:14:11.408 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:14:11.408 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-16-1771emjm/fixture_0000.wav
|
||||
00:14:12.384 system prompt ref_audio embedding: n_pos=20
|
||||
00:14:14.173 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:14:14.173 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:14:14.173 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:14:14.173 n_past = 72
|
||||
00:14:14.173
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.76454 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3267.44 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3289.85 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3289.85 ms by vision ( 3289.85 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-16-1771emjm/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:14:19.359 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-16-1771emjm/fixture_0001.wav
|
||||
00:14:19.725 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:14:20.865
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.69192 s
|
||||
00:14:20.865 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:14:20.865 stream_decode: create tts thread (simplex mode)
|
||||
00:14:20.865 stream_decode: create t2w thread
|
||||
00:14:20.865 wait prefill done
|
||||
00:14:20.865 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:14:20.865 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:14:20.869 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:14:20.871 TTS thread started
|
||||
00:14:21.264 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:14:21.264 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:14:22.186 LLM: detected end token, set llm_generation_done=true
|
||||
00:14:22.186 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:14:22.186 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:14:22.186 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:14:22.186 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:14:22.186 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:14:22.186 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2792.562ms vocoder=313.458ms total=3106.031ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1662.436ms vocoder=332.565ms total=1995.086ms audio=24000
|
||||
[timing] call=2 tokens=8 final=1 token2mel=1663.135ms vocoder=132.932ms total=1796.075ms audio=11520
|
||||
Audio generation completed.
|
||||
00:14:22.186 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:14:22.186 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:14:22.187 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:14:22.201 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:14:22.201 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:14:22.201 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:14:22.201 TTS Simplex: first chunk - cleared KV cache
|
||||
00:14:22.201 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:14:22.219 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:14:22.219 TTS Simplex: sampler created
|
||||
00:14:22.219 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:14:22.270 TTS Simplex Phase1: token 1/500: rel_id=3683
|
||||
00:14:22.284 TTS Simplex Phase1: token 2/500: rel_id=4137
|
||||
00:14:22.294 TTS Simplex Phase1: token 3/500: rel_id=4137
|
||||
00:14:22.304 TTS Simplex Phase1: token 4/500: rel_id=4137
|
||||
00:14:22.314 TTS Simplex Phase1: token 5/500: rel_id=4137
|
||||
00:14:22.507 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:14:22.539 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:14:22.539 TTS Simplex Phase1: token 25/500: rel_id=3481
|
||||
00:14:22.539 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:14:22.539 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:14:22.621 TTS Simplex Phase1: EOS token at step 34
|
||||
00:14:22.621 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:14:22.621 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=42
|
||||
00:14:22.628 TTS Simplex Phase2: text_eos_embed injected, n_past=43
|
||||
00:14:22.635 TTS Simplex Phase2: audio_bos injected, n_past=44, starting final generation
|
||||
00:14:22.817 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:14:22.877 TTS Simplex Phase2: EOS at step 23 (final end)
|
||||
00:14:22.877 TTS Simplex: chunk 结束,tts_token_buffer 剩余 5 tokens (保留等下一个 chunk)
|
||||
00:14:22.877 TTS Simplex: is_final_text_chunk=true, flush 剩余 5 tokens 从 tts_token_buffer
|
||||
00:14:22.877 TTS Simplex: generated 55 audio tokens for chunk 0
|
||||
00:14:22.877 TTS Simplex: chunk 0 first tokens: [3683 4137 4137 4137 4137 ], last tokens: [4218 4137 4137 4137 3894 ]
|
||||
00:14:22.877 TTS Simplex: updated tts_n_past_accumulated=67, total_generated_tokens=55
|
||||
00:14:22.877 TTS: finished processing all chunks
|
||||
00:14:22.877 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:14:22.877 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:14:25.646 🎉 首响时间 (First Audio Response): 4781ms
|
||||
00:14:25.646 T2W线程: wav_0.wav | 0.84s audio | 3106.1ms inference | RTF=3.70 | t=4781ms
|
||||
00:14:27.641 T2W线程: wav_1.wav | 1.00s audio | 1995.1ms inference | RTF=2.00 | t=6776ms
|
||||
00:14:29.437 T2W线程: wav_2.wav | 0.48s audio | 1796.1ms inference | RTF=3.74 | t=8572ms
|
||||
00:14:29.438 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:14:29.438 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:14:29.521 omni_stop_threads: stop signals sent
|
||||
00:14:29.521 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14337.33 ms
|
||||
llama_perf_context_print: prompt eval time = 9855.36 ms / 182 tokens ( 54.15 ms per token, 18.47 tokens per second)
|
||||
llama_perf_context_print: eval time = 919.30 ms / 9 runs ( 102.14 ms per token, 9.79 tokens per second)
|
||||
llama_perf_context_print: total time = 22595.21 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:14:30.132 === omni_init start
|
||||
00:14:30.132 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:14:30.132 === omni_init: loading new LLM model
|
||||
00:14:31.791 === omni_init: loading TTS model
|
||||
00:14:31.791 TTS model: loading with n_gpu_layers=0
|
||||
00:14:31.960 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:14:31.960 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:14:32.582 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:14:32.591 TTS: head_code loaded, verifying first few values:
|
||||
00:14:32.591 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:14:32.591 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:14:32.591 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:14:32.665 TTS: weights loaded successfully
|
||||
00:14:32.665 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:14:32.675 Projector: loaded successfully
|
||||
00:14:32.675 === omni_init: loading APM model
|
||||
00:14:32.922 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:14:33.817 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:14:33.817 Token2Wav: all model files found, initializing session...
|
||||
00:14:33.817 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:14:33.817 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:14:34.800 Token2Wav: initialized successfully
|
||||
00:14:34.800 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:14:34.800 Token2Wav: 使用 C++ 实现
|
||||
00:14:34.800 === omni_init success: ctx_llama = 0x62f6e0768060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-17-li4xyb6k/fixture_
|
||||
Count: 2
|
||||
00:14:34.800 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:14:34.800 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-17-li4xyb6k/fixture_0000.wav
|
||||
00:14:35.557 system prompt ref_audio embedding: n_pos=20
|
||||
00:14:37.006 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:14:37.006 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:14:37.006 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:14:37.006 n_past = 72
|
||||
00:14:37.006
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.20565 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3077.22 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3097.04 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3097.04 ms by vision ( 3097.04 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-17-li4xyb6k/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:14:41.955 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-17-li4xyb6k/fixture_0001.wav
|
||||
00:14:42.278 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:14:43.462
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.4563 s
|
||||
00:14:43.462 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:14:43.463 stream_decode: create tts thread (simplex mode)
|
||||
00:14:43.463 stream_decode: create t2w thread
|
||||
00:14:43.463 wait prefill done
|
||||
00:14:43.463 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:14:43.463 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:14:43.467 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:14:43.467 TTS thread started
|
||||
00:14:43.888 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:14:43.888 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:14:44.812 LLM: detected end token, set llm_generation_done=true
|
||||
00:14:44.812 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:14:44.812 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:14:44.812 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:14:44.813 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:14:44.813 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:14:44.813 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2092.981ms vocoder=284.861ms total=2377.855ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1679.034ms vocoder=324.703ms total=2003.754ms audio=24000
|
||||
[timing] call=2 tokens=12 final=1 token2mel=1661.795ms vocoder=177.705ms total=1839.508ms audio=15360
|
||||
Audio generation completed.
|
||||
00:14:44.813 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:14:44.813 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:14:44.813 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:14:44.825 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:14:44.825 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:14:44.825 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:14:44.825 TTS Simplex: first chunk - cleared KV cache
|
||||
00:14:44.825 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:14:44.842 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:14:44.842 TTS Simplex: sampler created
|
||||
00:14:44.842 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:14:44.867 TTS Simplex Phase1: token 1/500: rel_id=3683
|
||||
00:14:44.877 TTS Simplex Phase1: token 2/500: rel_id=1950
|
||||
00:14:44.888 TTS Simplex Phase1: token 3/500: rel_id=3894
|
||||
00:14:44.901 TTS Simplex Phase1: token 4/500: rel_id=4137
|
||||
00:14:44.915 TTS Simplex Phase1: token 5/500: rel_id=4137
|
||||
00:14:45.143 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:14:45.147 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:14:45.147 TTS Simplex Phase1: token 25/500: rel_id=74
|
||||
00:14:45.147 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:14:45.147 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:14:45.264 TTS Simplex Phase1: EOS token at step 37
|
||||
00:14:45.264 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:14:45.264 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=45
|
||||
00:14:45.271 TTS Simplex Phase2: text_eos_embed injected, n_past=46
|
||||
00:14:45.277 TTS Simplex Phase2: audio_bos injected, n_past=47, starting final generation
|
||||
00:14:45.426 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:14:45.522 TTS Simplex Phase2: EOS at step 24 (final end)
|
||||
00:14:45.522 TTS Simplex: chunk 结束,tts_token_buffer 剩余 9 tokens (保留等下一个 chunk)
|
||||
00:14:45.522 TTS Simplex: is_final_text_chunk=true, flush 剩余 9 tokens 从 tts_token_buffer
|
||||
00:14:45.522 TTS Simplex: generated 59 audio tokens for chunk 0
|
||||
00:14:45.522 TTS Simplex: chunk 0 first tokens: [3683 1950 3894 4137 4137 ], last tokens: [4137 4218 4218 4218 3894 ]
|
||||
00:14:45.522 TTS Simplex: updated tts_n_past_accumulated=71, total_generated_tokens=59
|
||||
00:14:45.522 TTS: finished processing all chunks
|
||||
00:14:45.522 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:14:45.522 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:14:47.525 🎉 首响时间 (First Audio Response): 4062ms
|
||||
00:14:47.525 T2W线程: wav_0.wav | 0.84s audio | 2377.9ms inference | RTF=2.83 | t=4062ms
|
||||
00:14:49.529 T2W线程: wav_1.wav | 1.00s audio | 2003.8ms inference | RTF=2.00 | t=6066ms
|
||||
00:14:51.369 T2W线程: wav_2.wav | 0.64s audio | 1839.5ms inference | RTF=2.87 | t=7906ms
|
||||
00:14:51.369 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:14:51.369 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:14:51.456 omni_stop_threads: stop signals sent
|
||||
00:14:51.456 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 13755.67 ms
|
||||
llama_perf_context_print: prompt eval time = 9087.74 ms / 182 tokens ( 49.93 ms per token, 20.03 tokens per second)
|
||||
llama_perf_context_print: eval time = 921.58 ms / 9 runs ( 102.40 ms per token, 9.77 tokens per second)
|
||||
llama_perf_context_print: total time = 21323.69 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:14:52.036 === omni_init start
|
||||
00:14:52.037 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:14:52.037 === omni_init: loading new LLM model
|
||||
00:14:53.547 === omni_init: loading TTS model
|
||||
00:14:53.547 TTS model: loading with n_gpu_layers=0
|
||||
00:14:53.789 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:14:53.789 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:14:54.319 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:14:54.328 TTS: head_code loaded, verifying first few values:
|
||||
00:14:54.328 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:14:54.328 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:14:54.328 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:14:54.400 TTS: weights loaded successfully
|
||||
00:14:54.401 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:14:54.411 Projector: loaded successfully
|
||||
00:14:54.411 === omni_init: loading APM model
|
||||
00:14:54.692 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:14:55.218 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:14:55.218 Token2Wav: all model files found, initializing session...
|
||||
00:14:55.218 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:14:55.218 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:14:56.341 Token2Wav: initialized successfully
|
||||
00:14:56.341 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:14:56.341 Token2Wav: 使用 C++ 实现
|
||||
00:14:56.341 === omni_init success: ctx_llama = 0x58ab1fe04060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-18-uaqr3b4v/fixture_
|
||||
Count: 2
|
||||
00:14:56.341 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:14:56.341 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-18-uaqr3b4v/fixture_0000.wav
|
||||
00:14:57.655 system prompt ref_audio embedding: n_pos=20
|
||||
00:14:59.577 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:14:59.577 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:14:59.577 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:14:59.577 n_past = 72
|
||||
00:14:59.577
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 3.23684 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3344.78 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3365.30 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3365.30 ms by vision ( 3365.30 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-18-uaqr3b4v/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:15:04.789 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-18-uaqr3b4v/fixture_0001.wav
|
||||
00:15:05.195 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:15:06.369
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.79164 s
|
||||
00:15:06.369 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:15:06.370 stream_decode: create tts thread (simplex mode)
|
||||
00:15:06.370 stream_decode: create t2w thread
|
||||
00:15:06.370 wait prefill done
|
||||
00:15:06.370 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:15:06.370 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:15:06.373 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:15:06.373 TTS thread started
|
||||
00:15:06.791 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:15:06.791 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:15:07.731 LLM: detected end token, set llm_generation_done=true
|
||||
00:15:07.731 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:15:07.731 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:15:07.731 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:15:07.732 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:15:07.732 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:15:07.732 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2702.918ms vocoder=320.974ms total=3023.905ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1680.396ms vocoder=329.392ms total=2009.807ms audio=24000
|
||||
[timing] call=2 tokens=23 final=1 token2mel=1659.657ms vocoder=284.885ms total=1944.556ms audio=25920
|
||||
Audio generation completed.
|
||||
00:15:07.732 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:15:07.732 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:15:07.732 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:15:07.748 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:15:07.748 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:15:07.748 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:15:07.748 TTS Simplex: first chunk - cleared KV cache
|
||||
00:15:07.748 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:15:07.766 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:15:07.766 TTS Simplex: sampler created
|
||||
00:15:07.766 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:15:07.823 TTS Simplex Phase1: token 1/500: rel_id=770
|
||||
00:15:07.836 TTS Simplex Phase1: token 2/500: rel_id=4137
|
||||
00:15:07.851 TTS Simplex Phase1: token 3/500: rel_id=4218
|
||||
00:15:07.865 TTS Simplex Phase1: token 4/500: rel_id=4218
|
||||
00:15:07.881 TTS Simplex Phase1: token 5/500: rel_id=4137
|
||||
00:15:08.066 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:15:08.112 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:15:08.112 TTS Simplex Phase1: token 25/500: rel_id=944
|
||||
00:15:08.112 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:15:08.112 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:15:08.350 TTS Simplex Phase1: EOS token at step 49
|
||||
00:15:08.350 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:15:08.350 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=57
|
||||
00:15:08.358 TTS Simplex Phase2: text_eos_embed injected, n_past=58
|
||||
00:15:08.366 TTS Simplex Phase2: audio_bos injected, n_past=59, starting final generation
|
||||
00:15:08.385 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:15:08.599 TTS Simplex Phase2: EOS at step 23 (final end)
|
||||
00:15:08.599 TTS Simplex: chunk 结束,tts_token_buffer 剩余 20 tokens (保留等下一个 chunk)
|
||||
00:15:08.599 TTS Simplex: is_final_text_chunk=true, flush 剩余 20 tokens 从 tts_token_buffer
|
||||
00:15:08.599 TTS Simplex: generated 70 audio tokens for chunk 0
|
||||
00:15:08.599 TTS Simplex: chunk 0 first tokens: [770 4137 4218 4218 4137 ], last tokens: [1725 1806 4218 4218 3894 ]
|
||||
00:15:08.599 TTS Simplex: updated tts_n_past_accumulated=82, total_generated_tokens=70
|
||||
00:15:08.599 TTS: finished processing all chunks
|
||||
00:15:08.599 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:15:08.599 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:15:11.136 🎉 首响时间 (First Audio Response): 4766ms
|
||||
00:15:11.136 T2W线程: wav_0.wav | 0.84s audio | 3024.0ms inference | RTF=3.60 | t=4766ms
|
||||
00:15:13.147 T2W线程: wav_1.wav | 1.00s audio | 2010.0ms inference | RTF=2.01 | t=6777ms
|
||||
00:15:15.091 T2W线程: wav_2.wav | 1.08s audio | 1944.6ms inference | RTF=1.80 | t=8722ms
|
||||
00:15:15.091 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:15:15.091 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:15:15.181 omni_stop_threads: stop signals sent
|
||||
00:15:15.181 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14753.82 ms
|
||||
llama_perf_context_print: prompt eval time = 10450.01 ms / 182 tokens ( 57.42 ms per token, 17.42 tokens per second)
|
||||
llama_perf_context_print: eval time = 937.61 ms / 9 runs ( 104.18 ms per token, 9.60 tokens per second)
|
||||
llama_perf_context_print: total time = 23143.91 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:15:15.791 === omni_init start
|
||||
00:15:15.791 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:15:15.791 === omni_init: loading new LLM model
|
||||
00:15:17.536 === omni_init: loading TTS model
|
||||
00:15:17.536 TTS model: loading with n_gpu_layers=0
|
||||
00:15:17.701 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:15:17.701 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:15:18.437 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:15:18.446 TTS: head_code loaded, verifying first few values:
|
||||
00:15:18.446 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:15:18.446 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:15:18.446 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:15:18.520 TTS: weights loaded successfully
|
||||
00:15:18.520 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:15:18.531 Projector: loaded successfully
|
||||
00:15:18.531 === omni_init: loading APM model
|
||||
00:15:18.837 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:15:19.465 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:15:19.465 Token2Wav: all model files found, initializing session...
|
||||
00:15:19.465 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:15:19.465 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:15:20.611 Token2Wav: initialized successfully
|
||||
00:15:20.611 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:15:20.611 Token2Wav: 使用 C++ 实现
|
||||
00:15:20.611 === omni_init success: ctx_llama = 0x6252c49b3060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-19-_08mezj1/fixture_
|
||||
Count: 2
|
||||
00:15:20.611 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:15:20.611 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-19-_08mezj1/fixture_0000.wav
|
||||
00:15:22.033 system prompt ref_audio embedding: n_pos=20
|
||||
00:15:24.021 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:15:24.021 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:15:24.021 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:15:24.022 n_past = 72
|
||||
00:15:24.022
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 3.41022 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3155.49 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3176.38 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3176.38 ms by vision ( 3176.38 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-19-_08mezj1/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:15:29.074 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-19-_08mezj1/fixture_0001.wav
|
||||
00:15:29.442 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:15:30.600
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.57822 s
|
||||
00:15:30.600 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:15:30.600 stream_decode: create tts thread (simplex mode)
|
||||
00:15:30.600 stream_decode: create t2w thread
|
||||
00:15:30.600 wait prefill done
|
||||
00:15:30.600 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:15:30.600 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:15:30.605 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:15:30.605 TTS thread started
|
||||
00:15:31.030 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:15:31.030 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:15:31.969 LLM: detected end token, set llm_generation_done=true
|
||||
00:15:31.969 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:15:31.969 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:15:31.969 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:15:31.970 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:15:31.970 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:15:31.970 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2901.097ms vocoder=309.321ms total=3210.428ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1673.555ms vocoder=312.792ms total=1986.363ms audio=24000
|
||||
[timing] call=2 tokens=18 final=1 token2mel=1665.235ms vocoder=242.846ms total=1908.091ms audio=21120
|
||||
Audio generation completed.
|
||||
00:15:31.970 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:15:31.970 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:15:31.970 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:15:31.983 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:15:31.983 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:15:31.983 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:15:31.983 TTS Simplex: first chunk - cleared KV cache
|
||||
00:15:31.983 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:15:32.001 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:15:32.001 TTS Simplex: sampler created
|
||||
00:15:32.001 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:15:32.028 TTS Simplex Phase1: token 1/500: rel_id=1487
|
||||
00:15:32.039 TTS Simplex Phase1: token 2/500: rel_id=4138
|
||||
00:15:32.051 TTS Simplex Phase1: token 3/500: rel_id=4218
|
||||
00:15:32.063 TTS Simplex Phase1: token 4/500: rel_id=4218
|
||||
00:15:32.075 TTS Simplex Phase1: token 5/500: rel_id=4137
|
||||
00:15:32.289 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:15:32.307 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:15:32.307 TTS Simplex Phase1: token 25/500: rel_id=4395
|
||||
00:15:32.307 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:15:32.307 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:15:32.521 TTS Simplex Phase1: EOS token at step 46
|
||||
00:15:32.521 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:15:32.522 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=54
|
||||
00:15:32.528 TTS Simplex Phase2: text_eos_embed injected, n_past=55
|
||||
00:15:32.535 TTS Simplex Phase2: audio_bos injected, n_past=56, starting final generation
|
||||
00:15:32.589 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:15:32.752 TTS Simplex Phase2: EOS at step 21 (final end)
|
||||
00:15:32.752 TTS Simplex: chunk 结束,tts_token_buffer 剩余 15 tokens (保留等下一个 chunk)
|
||||
00:15:32.752 TTS Simplex: is_final_text_chunk=true, flush 剩余 15 tokens 从 tts_token_buffer
|
||||
00:15:32.752 TTS Simplex: generated 65 audio tokens for chunk 0
|
||||
00:15:32.752 TTS Simplex: chunk 0 first tokens: [1487 4138 4218 4218 4137 ], last tokens: [4137 4218 4218 4218 6082 ]
|
||||
00:15:32.752 TTS Simplex: updated tts_n_past_accumulated=77, total_generated_tokens=65
|
||||
00:15:32.753 TTS: finished processing all chunks
|
||||
00:15:32.753 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:15:32.753 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:15:35.518 🎉 首响时间 (First Audio Response): 4918ms
|
||||
00:15:35.518 T2W线程: wav_0.wav | 0.84s audio | 3210.5ms inference | RTF=3.82 | t=4918ms
|
||||
00:15:37.505 T2W线程: wav_1.wav | 1.00s audio | 1986.4ms inference | RTF=1.99 | t=6904ms
|
||||
00:15:39.413 T2W线程: wav_2.wav | 0.88s audio | 1908.1ms inference | RTF=2.17 | t=8813ms
|
||||
00:15:39.413 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:15:39.413 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:15:39.504 omni_stop_threads: stop signals sent
|
||||
00:15:39.504 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 15238.37 ms
|
||||
llama_perf_context_print: prompt eval time = 10418.16 ms / 182 tokens ( 57.24 ms per token, 17.47 tokens per second)
|
||||
llama_perf_context_print: eval time = 936.82 ms / 9 runs ( 104.09 ms per token, 9.61 tokens per second)
|
||||
llama_perf_context_print: total time = 23712.94 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+466
@@ -0,0 +1,466 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
23:07:39.169 === omni_init start
|
||||
23:07:39.170 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
23:07:39.170 === omni_init: loading new LLM model
|
||||
23:07:40.757 === omni_init: loading TTS model
|
||||
23:07:40.757 TTS model: loading with n_gpu_layers=0
|
||||
23:07:40.921 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
23:07:40.921 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
23:07:41.447 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
23:07:41.456 TTS: head_code loaded, verifying first few values:
|
||||
23:07:41.456 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
23:07:41.456 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
23:07:41.456 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
23:07:41.528 TTS: weights loaded successfully
|
||||
23:07:41.528 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
23:07:41.542 Projector: loaded successfully
|
||||
23:07:41.542 === omni_init: loading APM model
|
||||
23:07:41.793 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
23:07:42.144 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
23:07:42.144 Token2Wav: all model files found, initializing session...
|
||||
23:07:42.144 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
23:07:42.144 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
23:07:42.880 Token2Wav: initialized successfully
|
||||
23:07:42.880 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
23:07:42.880 Token2Wav: 使用 C++ 实现
|
||||
23:07:42.880 === omni_init success: ctx_llama = 0x5a25386e2060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-2-y5l9jeod/fixture_
|
||||
Count: 2
|
||||
23:07:42.880 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
23:07:42.880 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-2-y5l9jeod/fixture_0000.wav
|
||||
23:07:43.633 system prompt ref_audio embedding: n_pos=20
|
||||
23:07:45.191 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
23:07:45.192 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
23:07:45.192 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
23:07:45.192 n_past = 72
|
||||
23:07:45.192
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.31107 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3079.04 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3098.06 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3098.06 ms by vision ( 3098.06 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-2-y5l9jeod/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
23:07:50.113 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-2-y5l9jeod/fixture_0001.wav
|
||||
23:07:50.455 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
23:07:51.658
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.46677 s
|
||||
23:07:51.658 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
23:07:51.659 stream_decode: create tts thread (simplex mode)
|
||||
23:07:51.659 stream_decode: create t2w thread
|
||||
23:07:51.659 wait prefill done
|
||||
23:07:51.659 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
23:07:51.659 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>23:07:51.662 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
23:07:51.662 TTS thread started
|
||||
23:07:52.089 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
23:07:52.089 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
23:07:53.009 LLM: detected end token, set llm_generation_done=true
|
||||
23:07:53.009 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:07:53.009 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
23:07:53.009 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
23:07:53.009 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:07:53.009 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
23:07:53.009 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2075.545ms vocoder=275.495ms total=2351.054ms audio=20160
|
||||
[timing] call=1 tokens=25 final=1 token2mel=1635.063ms vocoder=321.162ms total=1956.240ms audio=27840
|
||||
Audio generation completed.
|
||||
23:07:53.009 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
23:07:53.009 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
23:07:53.010 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
23:07:53.020 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
23:07:53.020 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
23:07:53.020 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
23:07:53.020 TTS Simplex: first chunk - cleared KV cache
|
||||
23:07:53.020 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
23:07:53.035 TTS Simplex: prefill completed, n_past_tts=9
|
||||
23:07:53.035 TTS Simplex: sampler created
|
||||
23:07:53.035 TTS simplex: is_audio_bos=true (first audio token)
|
||||
23:07:53.063 TTS Simplex Phase1: token 1/500: rel_id=770
|
||||
23:07:53.074 TTS Simplex Phase1: token 2/500: rel_id=1950
|
||||
23:07:53.085 TTS Simplex Phase1: token 3/500: rel_id=4137
|
||||
23:07:53.098 TTS Simplex Phase1: token 4/500: rel_id=4218
|
||||
23:07:53.113 TTS Simplex Phase1: token 5/500: rel_id=2031
|
||||
23:07:53.328 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
23:07:53.349 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
23:07:53.350 TTS Simplex Phase1: token 25/500: rel_id=6501
|
||||
23:07:53.350 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
23:07:53.350 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
23:07:53.432 TTS Simplex Phase1: EOS token at step 34
|
||||
23:07:53.432 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
23:07:53.432 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=42
|
||||
23:07:53.439 TTS Simplex Phase2: text_eos_embed injected, n_past=43
|
||||
23:07:53.446 TTS Simplex Phase2: audio_bos injected, n_past=44, starting final generation
|
||||
23:07:53.602 TTS Simplex Phase2: EOS at step 15 (final end)
|
||||
23:07:53.602 TTS Simplex: chunk 结束,tts_token_buffer 剩余 22 tokens (保留等下一个 chunk)
|
||||
23:07:53.602 TTS Simplex: is_final_text_chunk=true, flush 剩余 22 tokens 从 tts_token_buffer
|
||||
23:07:53.602 TTS Simplex: generated 47 audio tokens for chunk 0
|
||||
23:07:53.602 TTS Simplex: chunk 0 first tokens: [770 1950 4137 4218 2031 ], last tokens: [759 735 2031 4218 3894 ]
|
||||
23:07:53.602 TTS Simplex: updated tts_n_past_accumulated=59, total_generated_tokens=47
|
||||
23:07:53.603 TTS: finished processing all chunks
|
||||
23:07:53.603 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
23:07:53.603 TTS: sent is_final=true to T2W queue (turn end)
|
||||
23:07:55.701 🎉 首响时间 (First Audio Response): 4042ms
|
||||
23:07:55.701 T2W线程: wav_0.wav | 0.84s audio | 2351.1ms inference | RTF=2.80 | t=4042ms
|
||||
23:07:57.657 T2W线程: wav_1.wav | 1.16s audio | 1956.3ms inference | RTF=1.69 | t=5998ms
|
||||
23:07:57.657 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=1)
|
||||
23:07:57.657 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
23:07:57.736 omni_stop_threads: stop signals sent
|
||||
23:07:57.736 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 12918.53 ms
|
||||
llama_perf_context_print: prompt eval time = 9207.98 ms / 182 tokens ( 50.59 ms per token, 19.77 tokens per second)
|
||||
llama_perf_context_print: eval time = 917.96 ms / 9 runs ( 102.00 ms per token, 9.80 tokens per second)
|
||||
llama_perf_context_print: total time = 18566.38 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:15:40.087 === omni_init start
|
||||
00:15:40.087 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:15:40.087 === omni_init: loading new LLM model
|
||||
00:15:41.786 === omni_init: loading TTS model
|
||||
00:15:41.786 TTS model: loading with n_gpu_layers=0
|
||||
00:15:41.971 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:15:41.971 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:15:43.212 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:15:43.221 TTS: head_code loaded, verifying first few values:
|
||||
00:15:43.221 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:15:43.221 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:15:43.221 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:15:43.295 TTS: weights loaded successfully
|
||||
00:15:43.295 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:15:43.306 Projector: loaded successfully
|
||||
00:15:43.306 === omni_init: loading APM model
|
||||
00:15:43.554 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:15:43.943 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:15:43.943 Token2Wav: all model files found, initializing session...
|
||||
00:15:43.943 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:15:43.943 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:15:44.871 Token2Wav: initialized successfully
|
||||
00:15:44.871 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:15:44.871 Token2Wav: 使用 C++ 实现
|
||||
00:15:44.871 === omni_init success: ctx_llama = 0x5f21d5187060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-20-komq74f6/fixture_
|
||||
Count: 2
|
||||
00:15:44.872 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:15:44.872 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-20-komq74f6/fixture_0000.wav
|
||||
00:15:45.778 system prompt ref_audio embedding: n_pos=20
|
||||
00:15:47.751 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:15:47.751 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:15:47.751 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:15:47.751 n_past = 72
|
||||
00:15:47.751
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.87975 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3539.64 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3563.16 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3563.16 ms by vision ( 3563.16 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-20-komq74f6/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:15:53.557 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-20-komq74f6/fixture_0001.wav
|
||||
00:15:54.182 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:15:55.329
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 7.57799 s
|
||||
00:15:55.330 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:15:55.330 stream_decode: create tts thread (simplex mode)
|
||||
00:15:55.330 stream_decode: create t2w thread
|
||||
00:15:55.330 wait prefill done
|
||||
00:15:55.330 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:15:55.330 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:15:55.334 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:15:55.334 TTS thread started
|
||||
00:15:55.748 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:15:55.749 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:15:56.687 LLM: detected end token, set llm_generation_done=true
|
||||
00:15:56.687 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:15:56.687 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:15:56.687 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:15:56.688 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:15:56.688 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:15:56.688 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2450.853ms vocoder=290.417ms total=2741.282ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1645.873ms vocoder=326.067ms total=1971.958ms audio=24000
|
||||
[timing] call=2 tokens=13 final=1 token2mel=1646.666ms vocoder=183.781ms total=1830.460ms audio=16320
|
||||
Audio generation completed.
|
||||
00:15:56.688 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:15:56.688 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:15:56.689 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:15:56.705 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:15:56.705 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:15:56.705 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:15:56.705 TTS Simplex: first chunk - cleared KV cache
|
||||
00:15:56.705 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:15:56.724 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:15:56.724 TTS Simplex: sampler created
|
||||
00:15:56.724 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:15:56.751 TTS Simplex Phase1: token 1/500: rel_id=3677
|
||||
00:15:56.762 TTS Simplex Phase1: token 2/500: rel_id=4218
|
||||
00:15:56.773 TTS Simplex Phase1: token 3/500: rel_id=6405
|
||||
00:15:56.785 TTS Simplex Phase1: token 4/500: rel_id=3975
|
||||
00:15:56.797 TTS Simplex Phase1: token 5/500: rel_id=4299
|
||||
00:15:57.016 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:15:57.025 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:15:57.025 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:15:57.025 TTS Simplex Phase1: token 25/500: rel_id=1043
|
||||
00:15:57.025 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:15:57.144 TTS Simplex Phase1: EOS token at step 37
|
||||
00:15:57.144 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:15:57.144 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=45
|
||||
00:15:57.152 TTS Simplex Phase2: text_eos_embed injected, n_past=46
|
||||
00:15:57.159 TTS Simplex Phase2: audio_bos injected, n_past=47, starting final generation
|
||||
00:15:57.313 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:15:57.427 TTS Simplex Phase2: EOS at step 25 (final end)
|
||||
00:15:57.427 TTS Simplex: chunk 结束,tts_token_buffer 剩余 10 tokens (保留等下一个 chunk)
|
||||
00:15:57.427 TTS Simplex: is_final_text_chunk=true, flush 剩余 10 tokens 从 tts_token_buffer
|
||||
00:15:57.427 TTS Simplex: generated 60 audio tokens for chunk 0
|
||||
00:15:57.427 TTS Simplex: chunk 0 first tokens: [3677 4218 6405 3975 4299 ], last tokens: [4299 6486 6486 6405 4218 ]
|
||||
00:15:57.427 TTS Simplex: updated tts_n_past_accumulated=72, total_generated_tokens=60
|
||||
00:15:57.428 TTS: finished processing all chunks
|
||||
00:15:57.428 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:15:57.428 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:15:59.766 🎉 首响时间 (First Audio Response): 4436ms
|
||||
00:15:59.766 T2W线程: wav_0.wav | 0.84s audio | 2741.3ms inference | RTF=3.26 | t=4436ms
|
||||
00:16:01.739 T2W线程: wav_1.wav | 1.00s audio | 1972.0ms inference | RTF=1.97 | t=6409ms
|
||||
00:16:03.569 T2W线程: wav_2.wav | 0.68s audio | 1830.5ms inference | RTF=2.69 | t=8239ms
|
||||
00:16:03.569 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:16:03.569 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:16:03.628 omni_stop_threads: stop signals sent
|
||||
00:16:03.628 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 15661.50 ms
|
||||
llama_perf_context_print: prompt eval time = 10877.53 ms / 182 tokens ( 59.77 ms per token, 16.73 tokens per second)
|
||||
llama_perf_context_print: eval time = 934.95 ms / 9 runs ( 103.88 ms per token, 9.63 tokens per second)
|
||||
llama_perf_context_print: total time = 23541.25 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:16:04.238 === omni_init start
|
||||
00:16:04.238 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:16:04.238 === omni_init: loading new LLM model
|
||||
00:16:06.125 === omni_init: loading TTS model
|
||||
00:16:06.125 TTS model: loading with n_gpu_layers=0
|
||||
00:16:06.316 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:16:06.316 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:16:07.777 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:16:07.805 TTS: head_code loaded, verifying first few values:
|
||||
00:16:07.805 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:16:07.805 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:16:07.805 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:16:07.882 TTS: weights loaded successfully
|
||||
00:16:07.882 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:16:07.893 Projector: loaded successfully
|
||||
00:16:07.893 === omni_init: loading APM model
|
||||
00:16:08.137 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:16:08.550 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:16:08.550 Token2Wav: all model files found, initializing session...
|
||||
00:16:08.550 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:16:08.550 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:16:09.643 Token2Wav: initialized successfully
|
||||
00:16:09.644 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:16:09.644 Token2Wav: 使用 C++ 实现
|
||||
00:16:09.644 === omni_init success: ctx_llama = 0x5c84c899f060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-21-hxdvj2gb/fixture_
|
||||
Count: 2
|
||||
00:16:09.644 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:16:09.644 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-21-hxdvj2gb/fixture_0000.wav
|
||||
00:16:10.364 system prompt ref_audio embedding: n_pos=20
|
||||
00:16:11.828 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:16:11.828 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:16:11.828 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:16:11.828 n_past = 72
|
||||
00:16:11.828
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.18406 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3106.00 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3125.28 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3125.28 ms by vision ( 3125.28 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-21-hxdvj2gb/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:16:16.756 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-21-hxdvj2gb/fixture_0001.wav
|
||||
00:16:17.070 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:16:18.220
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.39251 s
|
||||
00:16:18.220 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:16:18.220 stream_decode: create tts thread (simplex mode)
|
||||
00:16:18.220 stream_decode: create t2w thread
|
||||
00:16:18.220 wait prefill done
|
||||
00:16:18.220 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:16:18.221 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:16:18.224 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:16:18.224 TTS thread started
|
||||
00:16:18.628 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:16:18.628 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:16:19.548 LLM: detected end token, set llm_generation_done=true
|
||||
00:16:19.548 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:16:19.548 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:16:19.548 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:16:19.548 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:16:19.548 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:16:19.548 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2126.911ms vocoder=287.710ms total=2414.631ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1668.609ms vocoder=315.393ms total=1984.016ms audio=24000
|
||||
[timing] call=2 tokens=15 final=1 token2mel=1662.411ms vocoder=231.086ms total=1893.506ms audio=18240
|
||||
Audio generation completed.
|
||||
00:16:19.548 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:16:19.548 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:16:19.548 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:16:19.558 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:16:19.558 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:16:19.558 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:16:19.558 TTS Simplex: first chunk - cleared KV cache
|
||||
00:16:19.558 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:16:19.576 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:16:19.576 TTS Simplex: sampler created
|
||||
00:16:19.576 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:16:19.606 TTS Simplex Phase1: token 1/500: rel_id=1487
|
||||
00:16:19.619 TTS Simplex Phase1: token 2/500: rel_id=4218
|
||||
00:16:19.632 TTS Simplex Phase1: token 3/500: rel_id=6405
|
||||
00:16:19.644 TTS Simplex Phase1: token 4/500: rel_id=6405
|
||||
00:16:19.658 TTS Simplex Phase1: token 5/500: rel_id=4218
|
||||
00:16:19.897 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:16:19.914 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:16:19.914 TTS Simplex Phase1: token 25/500: rel_id=3670
|
||||
00:16:19.914 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:16:19.914 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:16:20.134 TTS Simplex Phase1: EOS token at step 47
|
||||
00:16:20.134 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:16:20.134 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=55
|
||||
00:16:20.140 TTS Simplex Phase2: text_eos_embed injected, n_past=56
|
||||
00:16:20.147 TTS Simplex Phase2: audio_bos injected, n_past=57, starting final generation
|
||||
00:16:20.187 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:16:20.321 TTS Simplex Phase2: EOS at step 17 (final end)
|
||||
00:16:20.321 TTS Simplex: chunk 结束,tts_token_buffer 剩余 12 tokens (保留等下一个 chunk)
|
||||
00:16:20.321 TTS Simplex: is_final_text_chunk=true, flush 剩余 12 tokens 从 tts_token_buffer
|
||||
00:16:20.321 TTS Simplex: generated 62 audio tokens for chunk 0
|
||||
00:16:20.321 TTS Simplex: chunk 0 first tokens: [1487 4218 6405 6405 4218 ], last tokens: [4299 6486 6405 6405 4218 ]
|
||||
00:16:20.321 TTS Simplex: updated tts_n_past_accumulated=74, total_generated_tokens=62
|
||||
00:16:20.321 TTS: finished processing all chunks
|
||||
00:16:20.321 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:16:20.321 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:16:22.329 🎉 首响时间 (First Audio Response): 4108ms
|
||||
00:16:22.329 T2W线程: wav_0.wav | 0.84s audio | 2414.7ms inference | RTF=2.87 | t=4108ms
|
||||
00:16:24.313 T2W线程: wav_1.wav | 1.00s audio | 1984.1ms inference | RTF=1.98 | t=6092ms
|
||||
00:16:26.207 T2W线程: wav_2.wav | 0.76s audio | 1893.5ms inference | RTF=2.49 | t=7986ms
|
||||
00:16:26.207 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:16:26.207 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:16:26.208 omni_stop_threads: stop signals sent
|
||||
00:16:26.208 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14389.49 ms
|
||||
llama_perf_context_print: prompt eval time = 8984.59 ms / 182 tokens ( 49.37 ms per token, 20.26 tokens per second)
|
||||
llama_perf_context_print: eval time = 916.94 ms / 9 runs ( 101.88 ms per token, 9.82 tokens per second)
|
||||
llama_perf_context_print: total time = 21969.55 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
+470
@@ -0,0 +1,470 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
23:07:58.320 === omni_init start
|
||||
23:07:58.320 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
23:07:58.320 === omni_init: loading new LLM model
|
||||
23:07:59.961 === omni_init: loading TTS model
|
||||
23:07:59.961 TTS model: loading with n_gpu_layers=0
|
||||
23:08:00.170 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
23:08:00.170 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
23:08:00.691 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
23:08:00.700 TTS: head_code loaded, verifying first few values:
|
||||
23:08:00.700 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
23:08:00.700 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
23:08:00.700 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
23:08:00.770 TTS: weights loaded successfully
|
||||
23:08:00.770 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
23:08:00.780 Projector: loaded successfully
|
||||
23:08:00.780 === omni_init: loading APM model
|
||||
23:08:01.022 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
23:08:01.367 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
23:08:01.368 Token2Wav: all model files found, initializing session...
|
||||
23:08:01.368 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
23:08:01.368 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
23:08:02.327 Token2Wav: initialized successfully
|
||||
23:08:02.327 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
23:08:02.327 Token2Wav: 使用 C++ 实现
|
||||
23:08:02.327 === omni_init success: ctx_llama = 0x56dc229c9060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-3-hs4qhzmg/fixture_
|
||||
Count: 2
|
||||
23:08:02.327 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
23:08:02.327 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-3-hs4qhzmg/fixture_0000.wav
|
||||
23:08:03.094 system prompt ref_audio embedding: n_pos=20
|
||||
23:08:04.575 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
23:08:04.575 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
23:08:04.575 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
23:08:04.575 n_past = 72
|
||||
23:08:04.575
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.24824 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3133.17 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3152.85 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3152.86 ms by vision ( 3152.86 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-3-hs4qhzmg/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
23:08:09.614 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-3-hs4qhzmg/fixture_0001.wav
|
||||
23:08:09.951 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
23:08:11.124
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.54809 s
|
||||
23:08:11.124 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
23:08:11.124 stream_decode: create tts thread (simplex mode)
|
||||
23:08:11.124 stream_decode: create t2w thread
|
||||
23:08:11.124 wait prefill done
|
||||
23:08:11.124 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
23:08:11.124 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>23:08:11.127 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
23:08:11.128 TTS thread started
|
||||
23:08:11.534 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
23:08:11.534 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
23:08:12.460 LLM: detected end token, set llm_generation_done=true
|
||||
23:08:12.460 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:08:12.460 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
23:08:12.460 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
23:08:12.460 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:08:12.460 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
23:08:12.460 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2242.268ms vocoder=345.874ms total=2588.152ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1684.614ms vocoder=326.433ms total=2011.064ms audio=24000
|
||||
[timing] call=2 tokens=23 final=1 token2mel=1676.504ms vocoder=294.113ms total=1970.627ms audio=25920
|
||||
Audio generation completed.
|
||||
23:08:12.460 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
23:08:12.460 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
23:08:12.461 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
23:08:12.471 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
23:08:12.471 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
23:08:12.471 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
23:08:12.471 TTS Simplex: first chunk - cleared KV cache
|
||||
23:08:12.471 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
23:08:12.489 TTS Simplex: prefill completed, n_past_tts=9
|
||||
23:08:12.489 TTS Simplex: sampler created
|
||||
23:08:12.489 TTS simplex: is_audio_bos=true (first audio token)
|
||||
23:08:12.519 TTS Simplex Phase1: token 1/500: rel_id=740
|
||||
23:08:12.530 TTS Simplex Phase1: token 2/500: rel_id=4218
|
||||
23:08:12.542 TTS Simplex Phase1: token 3/500: rel_id=4218
|
||||
23:08:12.555 TTS Simplex Phase1: token 4/500: rel_id=4137
|
||||
23:08:12.565 TTS Simplex Phase1: token 5/500: rel_id=4218
|
||||
23:08:12.785 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
23:08:12.787 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
23:08:12.787 TTS Simplex Phase1: token 25/500: rel_id=1844
|
||||
23:08:12.787 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
23:08:12.787 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
23:08:13.055 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 50, buffer=25)
|
||||
23:08:13.055 TTS Simplex Phase1: token 50/500: rel_id=4606
|
||||
23:08:13.114 TTS Simplex Phase1: EOS token at step 56
|
||||
23:08:13.115 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
23:08:13.115 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=64
|
||||
23:08:13.122 TTS Simplex Phase2: text_eos_embed injected, n_past=65
|
||||
23:08:13.128 TTS Simplex Phase2: audio_bos injected, n_past=66, starting final generation
|
||||
23:08:13.300 TTS Simplex Phase2: EOS at step 16 (final end)
|
||||
23:08:13.300 TTS Simplex: chunk 结束,tts_token_buffer 剩余 20 tokens (保留等下一个 chunk)
|
||||
23:08:13.300 TTS Simplex: is_final_text_chunk=true, flush 剩余 20 tokens 从 tts_token_buffer
|
||||
23:08:13.300 TTS Simplex: generated 70 audio tokens for chunk 0
|
||||
23:08:13.300 TTS Simplex: chunk 0 first tokens: [740 4218 4218 4137 4218 ], last tokens: [39 741 4218 4218 4137 ]
|
||||
23:08:13.300 TTS Simplex: updated tts_n_past_accumulated=82, total_generated_tokens=70
|
||||
23:08:13.300 TTS: finished processing all chunks
|
||||
23:08:13.300 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
23:08:13.300 TTS: sent is_final=true to T2W queue (turn end)
|
||||
23:08:15.375 🎉 首响时间 (First Audio Response): 4251ms
|
||||
23:08:15.375 T2W线程: wav_0.wav | 0.84s audio | 2588.2ms inference | RTF=3.08 | t=4251ms
|
||||
23:08:17.387 T2W线程: wav_1.wav | 1.00s audio | 2011.1ms inference | RTF=2.01 | t=6263ms
|
||||
23:08:19.358 T2W线程: wav_2.wav | 1.08s audio | 1970.7ms inference | RTF=1.82 | t=8234ms
|
||||
23:08:19.358 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
23:08:19.358 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
23:08:19.396 omni_stop_threads: stop signals sent
|
||||
23:08:19.396 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 13212.40 ms
|
||||
llama_perf_context_print: prompt eval time = 9206.06 ms / 182 tokens ( 50.58 ms per token, 19.77 tokens per second)
|
||||
llama_perf_context_print: eval time = 923.94 ms / 9 runs ( 102.66 ms per token, 9.74 tokens per second)
|
||||
llama_perf_context_print: total time = 21075.53 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
23:08:19.981 === omni_init start
|
||||
23:08:19.982 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
23:08:19.982 === omni_init: loading new LLM model
|
||||
23:08:21.564 === omni_init: loading TTS model
|
||||
23:08:21.564 TTS model: loading with n_gpu_layers=0
|
||||
23:08:21.754 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
23:08:21.754 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
23:08:22.277 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
23:08:22.287 TTS: head_code loaded, verifying first few values:
|
||||
23:08:22.287 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
23:08:22.287 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
23:08:22.287 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
23:08:22.359 TTS: weights loaded successfully
|
||||
23:08:22.359 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
23:08:22.369 Projector: loaded successfully
|
||||
23:08:22.370 === omni_init: loading APM model
|
||||
23:08:22.612 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
23:08:23.011 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
23:08:23.011 Token2Wav: all model files found, initializing session...
|
||||
23:08:23.011 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
23:08:23.011 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
23:08:23.990 Token2Wav: initialized successfully
|
||||
23:08:23.990 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
23:08:23.990 Token2Wav: 使用 C++ 实现
|
||||
23:08:23.990 === omni_init success: ctx_llama = 0x5f9f4ecef060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-4-48llk7_7/fixture_
|
||||
Count: 2
|
||||
23:08:23.990 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
23:08:23.990 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-4-48llk7_7/fixture_0000.wav
|
||||
23:08:24.761 system prompt ref_audio embedding: n_pos=20
|
||||
23:08:26.214 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
23:08:26.214 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
23:08:26.214 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
23:08:26.214 n_past = 72
|
||||
23:08:26.214
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.22357 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3062.37 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3082.26 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3082.26 ms by vision ( 3082.26 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-4-48llk7_7/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
23:08:31.132 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-4-48llk7_7/fixture_0001.wav
|
||||
23:08:31.440 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
23:08:32.649
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.43496 s
|
||||
23:08:32.649 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
23:08:32.649 stream_decode: create tts thread (simplex mode)
|
||||
23:08:32.649 stream_decode: create t2w thread
|
||||
23:08:32.649 wait prefill done
|
||||
23:08:32.649 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
23:08:32.649 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>23:08:32.652 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
23:08:32.652 TTS thread started
|
||||
23:08:33.060 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
23:08:33.060 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
23:08:33.986 LLM: detected end token, set llm_generation_done=true
|
||||
23:08:33.986 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:08:33.986 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
23:08:33.986 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
23:08:33.986 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:08:33.986 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
23:08:33.986 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2129.181ms vocoder=279.023ms total=2408.216ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1674.759ms vocoder=321.046ms total=1995.820ms audio=24000
|
||||
[timing] call=2 tokens=12 final=1 token2mel=1665.271ms vocoder=191.011ms total=1856.292ms audio=15360
|
||||
Audio generation completed.
|
||||
23:08:33.986 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
23:08:33.986 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
23:08:33.986 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
23:08:33.996 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
23:08:33.996 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
23:08:33.996 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
23:08:33.996 TTS Simplex: first chunk - cleared KV cache
|
||||
23:08:33.996 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
23:08:34.012 TTS Simplex: prefill completed, n_past_tts=9
|
||||
23:08:34.012 TTS Simplex: sampler created
|
||||
23:08:34.012 TTS simplex: is_audio_bos=true (first audio token)
|
||||
23:08:34.037 TTS Simplex Phase1: token 1/500: rel_id=1487
|
||||
23:08:34.048 TTS Simplex Phase1: token 2/500: rel_id=1950
|
||||
23:08:34.059 TTS Simplex Phase1: token 3/500: rel_id=4218
|
||||
23:08:34.071 TTS Simplex Phase1: token 4/500: rel_id=4137
|
||||
23:08:34.083 TTS Simplex Phase1: token 5/500: rel_id=4137
|
||||
23:08:34.296 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
23:08:34.313 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
23:08:34.313 TTS Simplex Phase1: token 25/500: rel_id=4939
|
||||
23:08:34.313 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
23:08:34.313 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
23:08:34.533 TTS Simplex Phase1: EOS token at step 47
|
||||
23:08:34.534 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
23:08:34.534 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=55
|
||||
23:08:34.540 TTS Simplex Phase2: text_eos_embed injected, n_past=56
|
||||
23:08:34.548 TTS Simplex Phase2: audio_bos injected, n_past=57, starting final generation
|
||||
23:08:34.590 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
23:08:34.693 TTS Simplex Phase2: EOS at step 14 (final end)
|
||||
23:08:34.694 TTS Simplex: chunk 结束,tts_token_buffer 剩余 9 tokens (保留等下一个 chunk)
|
||||
23:08:34.694 TTS Simplex: is_final_text_chunk=true, flush 剩余 9 tokens 从 tts_token_buffer
|
||||
23:08:34.694 TTS Simplex: generated 59 audio tokens for chunk 0
|
||||
23:08:34.694 TTS Simplex: chunk 0 first tokens: [1487 1950 4218 4137 4137 ], last tokens: [4218 4218 4137 4218 6081 ]
|
||||
23:08:34.694 TTS Simplex: updated tts_n_past_accumulated=71, total_generated_tokens=59
|
||||
23:08:34.694 TTS: finished processing all chunks
|
||||
23:08:34.694 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
23:08:34.694 TTS: sent is_final=true to T2W queue (turn end)
|
||||
23:08:36.722 🎉 首响时间 (First Audio Response): 4073ms
|
||||
23:08:36.722 T2W线程: wav_0.wav | 0.84s audio | 2408.3ms inference | RTF=2.87 | t=4073ms
|
||||
23:08:38.718 T2W线程: wav_1.wav | 1.00s audio | 1995.9ms inference | RTF=2.00 | t=6069ms
|
||||
23:08:40.575 T2W线程: wav_2.wav | 0.64s audio | 1856.3ms inference | RTF=2.90 | t=7925ms
|
||||
23:08:40.575 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
23:08:40.575 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
23:08:40.607 omni_stop_threads: stop signals sent
|
||||
23:08:40.607 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 13078.14 ms
|
||||
llama_perf_context_print: prompt eval time = 9069.99 ms / 182 tokens ( 49.84 ms per token, 20.07 tokens per second)
|
||||
llama_perf_context_print: eval time = 922.80 ms / 9 runs ( 102.53 ms per token, 9.75 tokens per second)
|
||||
llama_perf_context_print: total time = 20625.01 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+470
@@ -0,0 +1,470 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
23:08:41.207 === omni_init start
|
||||
23:08:41.207 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
23:08:41.207 === omni_init: loading new LLM model
|
||||
23:08:42.776 === omni_init: loading TTS model
|
||||
23:08:42.776 TTS model: loading with n_gpu_layers=0
|
||||
23:08:42.947 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
23:08:42.947 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
23:08:43.464 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
23:08:43.472 TTS: head_code loaded, verifying first few values:
|
||||
23:08:43.472 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
23:08:43.472 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
23:08:43.472 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
23:08:43.544 TTS: weights loaded successfully
|
||||
23:08:43.544 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
23:08:43.555 Projector: loaded successfully
|
||||
23:08:43.555 === omni_init: loading APM model
|
||||
23:08:43.792 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
23:08:44.133 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
23:08:44.133 Token2Wav: all model files found, initializing session...
|
||||
23:08:44.133 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
23:08:44.133 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
23:08:44.835 Token2Wav: initialized successfully
|
||||
23:08:44.835 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
23:08:44.835 Token2Wav: 使用 C++ 实现
|
||||
23:08:44.835 === omni_init success: ctx_llama = 0x597e81cd6060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-5-fqu5rixn/fixture_
|
||||
Count: 2
|
||||
23:08:44.835 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
23:08:44.835 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-5-fqu5rixn/fixture_0000.wav
|
||||
23:08:45.755 system prompt ref_audio embedding: n_pos=20
|
||||
23:08:47.639 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
23:08:47.639 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
23:08:47.639 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
23:08:47.639 n_past = 72
|
||||
23:08:47.639
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.80401 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3380.72 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3412.96 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3412.96 ms by vision ( 3412.96 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-5-fqu5rixn/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
23:08:53.181 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-5-fqu5rixn/fixture_0001.wav
|
||||
23:08:53.689 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
23:08:54.853
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 7.21386 s
|
||||
23:08:54.853 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
23:08:54.853 stream_decode: create tts thread (simplex mode)
|
||||
23:08:54.853 stream_decode: create t2w thread
|
||||
23:08:54.853 wait prefill done
|
||||
23:08:54.853 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
23:08:54.853 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>23:08:54.858 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
23:08:54.858 TTS thread started
|
||||
23:08:55.264 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
23:08:55.264 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
23:08:56.186 LLM: detected end token, set llm_generation_done=true
|
||||
23:08:56.186 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:08:56.186 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
23:08:56.186 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
23:08:56.187 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:08:56.187 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
23:08:56.187 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2824.244ms vocoder=391.568ms total=3215.824ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1665.315ms vocoder=327.941ms total=1993.274ms audio=24000
|
||||
[timing] call=2 tokens=15 final=1 token2mel=1668.026ms vocoder=207.792ms total=1875.829ms audio=18240
|
||||
Audio generation completed.
|
||||
23:08:56.187 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
23:08:56.187 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
23:08:56.188 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
23:08:56.204 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
23:08:56.204 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
23:08:56.204 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
23:08:56.204 TTS Simplex: first chunk - cleared KV cache
|
||||
23:08:56.204 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
23:08:56.223 TTS Simplex: prefill completed, n_past_tts=9
|
||||
23:08:56.223 TTS Simplex: sampler created
|
||||
23:08:56.223 TTS simplex: is_audio_bos=true (first audio token)
|
||||
23:08:56.251 TTS Simplex Phase1: token 1/500: rel_id=758
|
||||
23:08:56.263 TTS Simplex Phase1: token 2/500: rel_id=4218
|
||||
23:08:56.275 TTS Simplex Phase1: token 3/500: rel_id=4137
|
||||
23:08:56.286 TTS Simplex Phase1: token 4/500: rel_id=4137
|
||||
23:08:56.297 TTS Simplex Phase1: token 5/500: rel_id=4137
|
||||
23:08:56.505 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
23:08:56.520 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
23:08:56.520 TTS Simplex Phase1: token 25/500: rel_id=5021
|
||||
23:08:56.520 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
23:08:56.520 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
23:08:56.780 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 50, buffer=25)
|
||||
23:08:56.780 TTS Simplex Phase1: token 50/500: rel_id=4567
|
||||
23:08:56.909 TTS Simplex Phase1: EOS token at step 63
|
||||
23:08:56.909 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
23:08:56.909 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=71
|
||||
23:08:56.916 TTS Simplex Phase2: text_eos_embed injected, n_past=72
|
||||
23:08:56.924 TTS Simplex Phase2: audio_bos injected, n_past=73, starting final generation
|
||||
23:08:56.935 TTS Simplex Phase2: EOS at step 1 (final end)
|
||||
23:08:56.935 TTS Simplex: chunk 结束,tts_token_buffer 剩余 12 tokens (保留等下一个 chunk)
|
||||
23:08:56.935 TTS Simplex: is_final_text_chunk=true, flush 剩余 12 tokens 从 tts_token_buffer
|
||||
23:08:56.935 TTS Simplex: generated 62 audio tokens for chunk 0
|
||||
23:08:56.935 TTS Simplex: chunk 0 first tokens: [758 4218 4137 4137 4137 ], last tokens: [1464 4218 4218 4137 6082 ]
|
||||
23:08:56.935 TTS Simplex: updated tts_n_past_accumulated=74, total_generated_tokens=62
|
||||
23:08:56.935 TTS: finished processing all chunks
|
||||
23:08:56.935 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
23:08:56.935 TTS: sent is_final=true to T2W queue (turn end)
|
||||
23:08:59.736 🎉 首响时间 (First Audio Response): 4883ms
|
||||
23:08:59.736 T2W线程: wav_0.wav | 0.84s audio | 3215.9ms inference | RTF=3.83 | t=4883ms
|
||||
23:09:01.730 T2W线程: wav_1.wav | 1.00s audio | 1993.3ms inference | RTF=1.99 | t=6876ms
|
||||
23:09:03.606 T2W线程: wav_2.wav | 0.76s audio | 1875.9ms inference | RTF=2.47 | t=8752ms
|
||||
23:09:03.606 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
23:09:03.606 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
23:09:03.619 omni_stop_threads: stop signals sent
|
||||
23:09:03.619 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14056.06 ms
|
||||
llama_perf_context_print: prompt eval time = 10429.56 ms / 182 tokens ( 57.31 ms per token, 17.45 tokens per second)
|
||||
llama_perf_context_print: eval time = 917.31 ms / 9 runs ( 101.92 ms per token, 9.81 tokens per second)
|
||||
llama_perf_context_print: total time = 22410.72 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
23:09:04.294 === omni_init start
|
||||
23:09:04.294 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
23:09:04.294 === omni_init: loading new LLM model
|
||||
23:09:06.020 === omni_init: loading TTS model
|
||||
23:09:06.020 TTS model: loading with n_gpu_layers=0
|
||||
23:09:06.189 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
23:09:06.189 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
23:09:06.769 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
23:09:06.777 TTS: head_code loaded, verifying first few values:
|
||||
23:09:06.777 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
23:09:06.777 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
23:09:06.777 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
23:09:06.852 TTS: weights loaded successfully
|
||||
23:09:06.852 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
23:09:06.867 Projector: loaded successfully
|
||||
23:09:06.867 === omni_init: loading APM model
|
||||
23:09:07.342 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
23:09:08.065 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
23:09:08.065 Token2Wav: all model files found, initializing session...
|
||||
23:09:08.065 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
23:09:08.065 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
23:09:09.536 Token2Wav: initialized successfully
|
||||
23:09:09.536 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
23:09:09.536 Token2Wav: 使用 C++ 实现
|
||||
23:09:09.536 === omni_init success: ctx_llama = 0x5a48e24b1060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-6-nvgkaq7t/fixture_
|
||||
Count: 2
|
||||
23:09:09.536 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
23:09:09.536 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-6-nvgkaq7t/fixture_0000.wav
|
||||
23:09:10.468 system prompt ref_audio embedding: n_pos=20
|
||||
23:09:12.314 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
23:09:12.314 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
23:09:12.314 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
23:09:12.314 n_past = 72
|
||||
23:09:12.314
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.77747 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3304.66 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3325.93 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3325.93 ms by vision ( 3325.93 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-6-nvgkaq7t/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
23:09:17.539 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-6-nvgkaq7t/fixture_0001.wav
|
||||
23:09:17.929 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
23:09:19.089
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.77488 s
|
||||
23:09:19.089 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
23:09:19.089 stream_decode: create tts thread (simplex mode)
|
||||
23:09:19.089 stream_decode: create t2w thread
|
||||
23:09:19.089 wait prefill done
|
||||
23:09:19.089 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
23:09:19.089 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>23:09:19.094 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
23:09:19.094 TTS thread started
|
||||
23:09:19.511 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
23:09:19.511 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
23:09:20.430 LLM: detected end token, set llm_generation_done=true
|
||||
23:09:20.430 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:09:20.430 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
23:09:20.430 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
23:09:20.430 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:09:20.430 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
23:09:20.430 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2559.197ms vocoder=305.696ms total=2864.902ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1684.831ms vocoder=322.610ms total=2007.458ms audio=24000
|
||||
[timing] call=2 tokens=13 final=1 token2mel=1678.337ms vocoder=188.463ms total=1866.809ms audio=16320
|
||||
Audio generation completed.
|
||||
23:09:20.430 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
23:09:20.430 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
23:09:20.431 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
23:09:20.439 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
23:09:20.439 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
23:09:20.439 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
23:09:20.439 TTS Simplex: first chunk - cleared KV cache
|
||||
23:09:20.439 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
23:09:20.456 TTS Simplex: prefill completed, n_past_tts=9
|
||||
23:09:20.456 TTS Simplex: sampler created
|
||||
23:09:20.456 TTS simplex: is_audio_bos=true (first audio token)
|
||||
23:09:20.492 TTS Simplex Phase1: token 1/500: rel_id=1496
|
||||
23:09:20.503 TTS Simplex Phase1: token 2/500: rel_id=1950
|
||||
23:09:20.515 TTS Simplex Phase1: token 3/500: rel_id=4137
|
||||
23:09:20.528 TTS Simplex Phase1: token 4/500: rel_id=4218
|
||||
23:09:20.543 TTS Simplex Phase1: token 5/500: rel_id=4218
|
||||
23:09:20.773 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
23:09:20.783 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
23:09:20.783 TTS Simplex Phase1: token 25/500: rel_id=3669
|
||||
23:09:20.783 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
23:09:20.783 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
23:09:20.920 TTS Simplex Phase1: EOS token at step 39
|
||||
23:09:20.920 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
23:09:20.920 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=47
|
||||
23:09:20.927 TTS Simplex Phase2: text_eos_embed injected, n_past=48
|
||||
23:09:20.934 TTS Simplex Phase2: audio_bos injected, n_past=49, starting final generation
|
||||
23:09:21.063 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
23:09:21.178 TTS Simplex Phase2: EOS at step 23 (final end)
|
||||
23:09:21.178 TTS Simplex: chunk 结束,tts_token_buffer 剩余 10 tokens (保留等下一个 chunk)
|
||||
23:09:21.178 TTS Simplex: is_final_text_chunk=true, flush 剩余 10 tokens 从 tts_token_buffer
|
||||
23:09:21.178 TTS Simplex: generated 60 audio tokens for chunk 0
|
||||
23:09:21.178 TTS Simplex: chunk 0 first tokens: [1496 1950 4137 4218 4218 ], last tokens: [1701 4218 4218 4218 4137 ]
|
||||
23:09:21.178 TTS Simplex: updated tts_n_past_accumulated=72, total_generated_tokens=60
|
||||
23:09:21.178 TTS: finished processing all chunks
|
||||
23:09:21.178 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
23:09:21.178 TTS: sent is_final=true to T2W queue (turn end)
|
||||
23:09:23.648 🎉 首响时间 (First Audio Response): 4559ms
|
||||
23:09:23.648 T2W线程: wav_0.wav | 0.84s audio | 2865.0ms inference | RTF=3.41 | t=4559ms
|
||||
23:09:25.656 T2W线程: wav_1.wav | 1.00s audio | 2007.5ms inference | RTF=2.01 | t=6566ms
|
||||
23:09:27.523 T2W线程: wav_2.wav | 0.68s audio | 1866.9ms inference | RTF=2.75 | t=8433ms
|
||||
23:09:27.523 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
23:09:27.523 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
23:09:27.585 omni_stop_threads: stop signals sent
|
||||
23:09:27.585 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 15217.09 ms
|
||||
llama_perf_context_print: prompt eval time = 9974.56 ms / 182 tokens ( 54.81 ms per token, 18.25 tokens per second)
|
||||
llama_perf_context_print: eval time = 916.02 ms / 9 runs ( 101.78 ms per token, 9.83 tokens per second)
|
||||
llama_perf_context_print: total time = 23291.89 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+466
@@ -0,0 +1,466 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
23:09:28.180 === omni_init start
|
||||
23:09:28.180 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
23:09:28.180 === omni_init: loading new LLM model
|
||||
23:09:29.927 === omni_init: loading TTS model
|
||||
23:09:29.927 TTS model: loading with n_gpu_layers=0
|
||||
23:09:30.096 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
23:09:30.096 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
23:09:30.655 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
23:09:30.664 TTS: head_code loaded, verifying first few values:
|
||||
23:09:30.664 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
23:09:30.664 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
23:09:30.664 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
23:09:30.736 TTS: weights loaded successfully
|
||||
23:09:30.736 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
23:09:30.747 Projector: loaded successfully
|
||||
23:09:30.747 === omni_init: loading APM model
|
||||
23:09:30.999 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
23:09:31.371 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
23:09:31.371 Token2Wav: all model files found, initializing session...
|
||||
23:09:31.371 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
23:09:31.371 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
23:09:32.375 Token2Wav: initialized successfully
|
||||
23:09:32.375 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
23:09:32.375 Token2Wav: 使用 C++ 实现
|
||||
23:09:32.375 === omni_init success: ctx_llama = 0x6053a3436060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-7-jph1pif7/fixture_
|
||||
Count: 2
|
||||
23:09:32.375 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
23:09:32.375 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-7-jph1pif7/fixture_0000.wav
|
||||
23:09:33.219 system prompt ref_audio embedding: n_pos=20
|
||||
23:09:35.026 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
23:09:35.026 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
23:09:35.026 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
23:09:35.026 n_past = 72
|
||||
23:09:35.026
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.6509 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3357.87 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3380.84 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3380.85 ms by vision ( 3380.85 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-7-jph1pif7/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
23:09:40.482 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-7-jph1pif7/fixture_0001.wav
|
||||
23:09:40.816 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
23:09:41.977
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.95108 s
|
||||
23:09:41.977 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
23:09:41.978 stream_decode: create tts thread (simplex mode)
|
||||
23:09:41.978 stream_decode: create t2w thread
|
||||
23:09:41.978 wait prefill done
|
||||
23:09:41.978 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
23:09:41.978 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>23:09:41.982 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
23:09:41.982 TTS thread started
|
||||
23:09:42.401 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
23:09:42.401 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
23:09:43.290 LLM: detected end token, set llm_generation_done=true
|
||||
23:09:43.290 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:09:43.290 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
23:09:43.290 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
23:09:43.290 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:09:43.290 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
23:09:43.290 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2189.934ms vocoder=284.759ms total=2474.706ms audio=20160
|
||||
[timing] call=1 tokens=15 final=1 token2mel=1651.507ms vocoder=201.101ms total=1852.622ms audio=18240
|
||||
Audio generation completed.
|
||||
23:09:43.290 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
23:09:43.290 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
23:09:43.291 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
23:09:43.303 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
23:09:43.303 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
23:09:43.303 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
23:09:43.303 TTS Simplex: first chunk - cleared KV cache
|
||||
23:09:43.303 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
23:09:43.321 TTS Simplex: prefill completed, n_past_tts=9
|
||||
23:09:43.321 TTS Simplex: sampler created
|
||||
23:09:43.321 TTS simplex: is_audio_bos=true (first audio token)
|
||||
23:09:43.384 TTS Simplex Phase1: token 1/500: rel_id=785
|
||||
23:09:43.395 TTS Simplex Phase1: token 2/500: rel_id=4137
|
||||
23:09:43.407 TTS Simplex Phase1: token 3/500: rel_id=4218
|
||||
23:09:43.418 TTS Simplex Phase1: token 4/500: rel_id=4218
|
||||
23:09:43.430 TTS Simplex Phase1: token 5/500: rel_id=4218
|
||||
23:09:43.587 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
23:09:43.658 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
23:09:43.658 TTS Simplex Phase1: token 25/500: rel_id=2208
|
||||
23:09:43.658 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
23:09:43.658 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
23:09:43.710 TTS Simplex Phase1: EOS token at step 31
|
||||
23:09:43.710 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
23:09:43.710 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=39
|
||||
23:09:43.717 TTS Simplex Phase2: text_eos_embed injected, n_past=40
|
||||
23:09:43.725 TTS Simplex Phase2: audio_bos injected, n_past=41, starting final generation
|
||||
23:09:43.808 TTS Simplex Phase2: EOS at step 8 (final end)
|
||||
23:09:43.808 TTS Simplex: chunk 结束,tts_token_buffer 剩余 12 tokens (保留等下一个 chunk)
|
||||
23:09:43.808 TTS Simplex: is_final_text_chunk=true, flush 剩余 12 tokens 从 tts_token_buffer
|
||||
23:09:43.808 TTS Simplex: generated 37 audio tokens for chunk 0
|
||||
23:09:43.808 TTS Simplex: chunk 0 first tokens: [785 4137 4218 4218 4218 ], last tokens: [2125 116 134 2490 3138 ]
|
||||
23:09:43.808 TTS Simplex: updated tts_n_past_accumulated=49, total_generated_tokens=37
|
||||
23:09:43.808 TTS: finished processing all chunks
|
||||
23:09:43.808 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
23:09:43.808 TTS: sent is_final=true to T2W queue (turn end)
|
||||
23:09:46.133 🎉 首响时间 (First Audio Response): 4155ms
|
||||
23:09:46.133 T2W线程: wav_0.wav | 0.84s audio | 2474.8ms inference | RTF=2.95 | t=4155ms
|
||||
23:09:47.986 T2W线程: wav_1.wav | 0.76s audio | 1852.7ms inference | RTF=2.44 | t=6008ms
|
||||
23:09:47.986 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=1)
|
||||
23:09:47.986 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
23:09:47.995 omni_stop_threads: stop signals sent
|
||||
23:09:47.995 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14220.24 ms
|
||||
llama_perf_context_print: prompt eval time = 10025.90 ms / 182 tokens ( 55.09 ms per token, 18.15 tokens per second)
|
||||
llama_perf_context_print: eval time = 885.96 ms / 9 runs ( 98.44 ms per token, 10.16 tokens per second)
|
||||
llama_perf_context_print: total time = 19814.25 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
23:09:48.637 === omni_init start
|
||||
23:09:48.637 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
23:09:48.637 === omni_init: loading new LLM model
|
||||
23:09:50.355 === omni_init: loading TTS model
|
||||
23:09:50.355 TTS model: loading with n_gpu_layers=0
|
||||
23:09:50.538 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
23:09:50.538 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
23:09:51.622 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
23:09:51.639 TTS: head_code loaded, verifying first few values:
|
||||
23:09:51.639 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
23:09:51.639 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
23:09:51.639 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
23:09:51.713 TTS: weights loaded successfully
|
||||
23:09:51.713 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
23:09:51.725 Projector: loaded successfully
|
||||
23:09:51.725 === omni_init: loading APM model
|
||||
23:09:51.973 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
23:09:52.404 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
23:09:52.404 Token2Wav: all model files found, initializing session...
|
||||
23:09:52.404 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
23:09:52.404 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
23:09:53.658 Token2Wav: initialized successfully
|
||||
23:09:53.658 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
23:09:53.658 Token2Wav: 使用 C++ 实现
|
||||
23:09:53.658 === omni_init success: ctx_llama = 0x5f3829138060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-8-tnubi3t4/fixture_
|
||||
Count: 2
|
||||
23:09:53.658 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
23:09:53.658 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-8-tnubi3t4/fixture_0000.wav
|
||||
23:09:54.414 system prompt ref_audio embedding: n_pos=20
|
||||
00:09:33.984 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:09:33.984 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:09:33.984 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:09:33.984 n_past = 72
|
||||
00:09:33.984
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 3580.33 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 5378.26 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 5399.20 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 5399.20 ms by vision ( 5399.20 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-8-tnubi3t4/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:11:11.976 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-8-tnubi3t4/fixture_0001.wav
|
||||
00:11:12.364 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:11:13.802
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 99.8182 s
|
||||
00:11:13.803 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:11:13.803 stream_decode: create tts thread (simplex mode)
|
||||
00:11:13.803 stream_decode: create t2w thread
|
||||
00:11:13.803 wait prefill done
|
||||
00:11:13.803 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:11:13.803 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:11:13.807 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:11:13.807 TTS thread started
|
||||
00:11:14.414 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:11:14.414 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:11:16.095 LLM: detected end token, set llm_generation_done=true
|
||||
00:11:16.095 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:11:16.095 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:11:16.095 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:11:16.095 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:11:16.095 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:11:16.095 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=5220.230ms vocoder=392.863ms total=5613.108ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1858.360ms vocoder=332.517ms total=2190.899ms audio=24000
|
||||
[timing] call=2 tokens=12 final=1 token2mel=1777.741ms vocoder=195.763ms total=1973.515ms audio=15360
|
||||
Audio generation completed.
|
||||
00:11:16.095 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:11:16.095 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:11:16.095 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:11:16.121 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:11:16.121 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:11:16.121 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:11:16.121 TTS Simplex: first chunk - cleared KV cache
|
||||
00:11:16.121 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:11:16.148 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:11:16.148 TTS Simplex: sampler created
|
||||
00:11:16.148 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:11:16.194 TTS Simplex Phase1: token 1/500: rel_id=1568
|
||||
00:11:16.208 TTS Simplex Phase1: token 2/500: rel_id=4299
|
||||
00:11:16.224 TTS Simplex Phase1: token 3/500: rel_id=4299
|
||||
00:11:16.239 TTS Simplex Phase1: token 4/500: rel_id=4299
|
||||
00:11:16.254 TTS Simplex Phase1: token 5/500: rel_id=4299
|
||||
00:11:16.568 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:11:16.631 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:11:16.631 TTS Simplex Phase1: token 25/500: rel_id=69
|
||||
00:11:16.631 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:11:16.631 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:11:17.001 TTS Simplex Phase1: EOS token at step 47
|
||||
00:11:17.001 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:11:17.001 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=55
|
||||
00:11:17.012 TTS Simplex Phase2: text_eos_embed injected, n_past=56
|
||||
00:11:17.022 TTS Simplex Phase2: audio_bos injected, n_past=57, starting final generation
|
||||
00:11:17.090 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:11:17.219 TTS Simplex Phase2: EOS at step 14 (final end)
|
||||
00:11:17.220 TTS Simplex: chunk 结束,tts_token_buffer 剩余 9 tokens (保留等下一个 chunk)
|
||||
00:11:17.220 TTS Simplex: is_final_text_chunk=true, flush 剩余 9 tokens 从 tts_token_buffer
|
||||
00:11:17.220 TTS Simplex: generated 59 audio tokens for chunk 0
|
||||
00:11:17.220 TTS Simplex: chunk 0 first tokens: [1568 4299 4299 4299 4299 ], last tokens: [3975 4299 4299 4299 6162 ]
|
||||
00:11:17.220 TTS Simplex: updated tts_n_past_accumulated=71, total_generated_tokens=59
|
||||
00:11:17.220 TTS: finished processing all chunks
|
||||
00:11:17.220 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:11:17.220 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:11:22.245 🎉 首响时间 (First Audio Response): 8442ms
|
||||
00:11:22.245 T2W线程: wav_0.wav | 0.84s audio | 5613.2ms inference | RTF=6.68 | t=8442ms
|
||||
00:11:24.436 T2W线程: wav_1.wav | 1.00s audio | 2190.9ms inference | RTF=2.19 | t=10633ms
|
||||
00:11:26.410 T2W线程: wav_2.wav | 0.64s audio | 1973.6ms inference | RTF=3.08 | t=12607ms
|
||||
00:11:26.410 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:11:26.410 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:11:26.485 omni_stop_threads: stop signals sent
|
||||
00:11:26.485 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 18217.98 ms
|
||||
llama_perf_context_print: prompt eval time = 13197.33 ms / 182 tokens ( 72.51 ms per token, 13.79 tokens per second)
|
||||
llama_perf_context_print: eval time = 1676.20 ms / 9 runs ( 186.25 ms per token, 5.37 tokens per second)
|
||||
llama_perf_context_print: total time = 30289.54 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
00:11:27.066 === omni_init start
|
||||
00:11:27.066 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
00:11:27.066 === omni_init: loading new LLM model
|
||||
00:11:29.136 === omni_init: loading TTS model
|
||||
00:11:29.136 TTS model: loading with n_gpu_layers=0
|
||||
00:11:29.393 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
00:11:29.393 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
00:11:30.393 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
00:11:30.402 TTS: head_code loaded, verifying first few values:
|
||||
00:11:30.402 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
00:11:30.402 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
00:11:30.402 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
00:11:30.475 TTS: weights loaded successfully
|
||||
00:11:30.475 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
00:11:30.486 Projector: loaded successfully
|
||||
00:11:30.486 === omni_init: loading APM model
|
||||
00:11:30.739 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
00:11:31.132 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
00:11:31.132 Token2Wav: all model files found, initializing session...
|
||||
00:11:31.132 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
00:11:31.132 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
00:11:32.431 Token2Wav: initialized successfully
|
||||
00:11:32.431 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
00:11:32.431 Token2Wav: 使用 C++ 实现
|
||||
00:11:32.431 === omni_init success: ctx_llama = 0x64f3335b7060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-9-rdxbt1uw/fixture_
|
||||
Count: 2
|
||||
00:11:32.431 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
00:11:32.431 system prompt ref_audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-9-rdxbt1uw/fixture_0000.wav
|
||||
00:11:33.220 system prompt ref_audio embedding: n_pos=20
|
||||
00:11:34.834 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
00:11:34.835 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
00:11:34.835 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
00:11:34.835 n_past = 72
|
||||
00:11:34.835
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.40309 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3112.56 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3133.29 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3133.29 ms by vision ( 3133.29 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-9-rdxbt1uw/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
00:11:39.872 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_profile_work/omni-minicpmo-9-rdxbt1uw/fixture_0001.wav
|
||||
00:11:40.205 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
00:11:41.561
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.72681 s
|
||||
00:11:41.561 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
00:11:41.562 stream_decode: create tts thread (simplex mode)
|
||||
00:11:41.562 stream_decode: create t2w thread
|
||||
00:11:41.562 wait prefill done
|
||||
00:11:41.562 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
00:11:41.562 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>00:11:41.566 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
00:11:41.566 TTS thread started
|
||||
00:11:42.048 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
00:11:42.048 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
00:11:43.150 LLM: detected end token, set llm_generation_done=true
|
||||
00:11:43.150 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:11:43.150 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
00:11:43.150 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
00:11:43.151 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
00:11:43.151 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
00:11:43.151 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=3542.727ms vocoder=322.704ms total=3865.443ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1690.666ms vocoder=316.051ms total=2006.735ms audio=24000
|
||||
[timing] call=2 tokens=12 final=1 token2mel=1634.169ms vocoder=174.114ms total=1808.292ms audio=15360
|
||||
Audio generation completed.
|
||||
00:11:43.151 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
00:11:43.151 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
00:11:43.152 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
00:11:43.162 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
00:11:43.162 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
00:11:43.162 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
00:11:43.162 TTS Simplex: first chunk - cleared KV cache
|
||||
00:11:43.162 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
00:11:43.182 TTS Simplex: prefill completed, n_past_tts=9
|
||||
00:11:43.182 TTS Simplex: sampler created
|
||||
00:11:43.182 TTS simplex: is_audio_bos=true (first audio token)
|
||||
00:11:43.220 TTS Simplex Phase1: token 1/500: rel_id=1579
|
||||
00:11:43.234 TTS Simplex Phase1: token 2/500: rel_id=1959
|
||||
00:11:43.249 TTS Simplex Phase1: token 3/500: rel_id=1707
|
||||
00:11:43.262 TTS Simplex Phase1: token 4/500: rel_id=2031
|
||||
00:11:43.275 TTS Simplex Phase1: token 5/500: rel_id=2031
|
||||
00:11:43.509 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
00:11:43.553 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
00:11:43.553 TTS Simplex Phase1: token 25/500: rel_id=72
|
||||
00:11:43.553 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
00:11:43.553 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
00:11:43.740 TTS Simplex Phase1: EOS token at step 42
|
||||
00:11:43.740 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
00:11:43.740 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=50
|
||||
00:11:43.748 TTS Simplex Phase2: text_eos_embed injected, n_past=51
|
||||
00:11:43.759 TTS Simplex Phase2: audio_bos injected, n_past=52, starting final generation
|
||||
00:11:43.860 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
00:11:43.977 TTS Simplex Phase2: EOS at step 19 (final end)
|
||||
00:11:43.977 TTS Simplex: chunk 结束,tts_token_buffer 剩余 9 tokens (保留等下一个 chunk)
|
||||
00:11:43.977 TTS Simplex: is_final_text_chunk=true, flush 剩余 9 tokens 从 tts_token_buffer
|
||||
00:11:43.977 TTS Simplex: generated 59 audio tokens for chunk 0
|
||||
00:11:43.977 TTS Simplex: chunk 0 first tokens: [1579 1959 1707 2031 2031 ], last tokens: [732 2031 4218 4218 4137 ]
|
||||
00:11:43.977 TTS Simplex: updated tts_n_past_accumulated=71, total_generated_tokens=59
|
||||
00:11:43.977 TTS: finished processing all chunks
|
||||
00:11:43.977 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
00:11:43.977 TTS: sent is_final=true to T2W queue (turn end)
|
||||
00:11:47.419 🎉 首响时间 (First Audio Response): 5857ms
|
||||
00:11:47.419 T2W线程: wav_0.wav | 0.84s audio | 3865.5ms inference | RTF=4.60 | t=5857ms
|
||||
00:11:49.426 T2W线程: wav_1.wav | 1.00s audio | 2006.8ms inference | RTF=2.01 | t=7864ms
|
||||
00:11:51.234 T2W线程: wav_2.wav | 0.64s audio | 1808.3ms inference | RTF=2.83 | t=9672ms
|
||||
00:11:51.235 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
00:11:51.235 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
00:11:5100:11:51..322322 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 14982.67 ms
|
||||
llama_perf_context_print: prompt eval time = 9617.48 ms / 182 tokens ( 52.84 ms per token, 18.92 tokens per second)
|
||||
llama_perf_context_print: eval time = 1097.54 ms / 9 runs ( 121.95 ms per token, 8.20 tokens per second)
|
||||
llama_perf_context_print: total time = 24256.67 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
omni_stop_threads: stop signals sent
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+153
@@ -0,0 +1,153 @@
|
||||
{
|
||||
"scope": "MiniCPM-o GGUF complete audio+image\u2192text+speech through Omni StageRuntime/StagePool",
|
||||
"placement": "cpu",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"reference_sha256": "cf4bb5cd9acbfbf67596d4a53310652b61ef4b7ede1d54eb03ef4882ca40223a",
|
||||
"input_sha256": {
|
||||
"audio_wav": "14ee147cbf2ce9afd9e32c8c8228d7cfe11985cd7e63456b2ad33871492aefcc",
|
||||
"image_jpeg": "22c7ccea466a3f551c512045e6316c7597408d4e0a20205502f55784d977aa8d"
|
||||
},
|
||||
"memory_budget": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"demands": {
|
||||
"host_ram": 25769803776
|
||||
}
|
||||
},
|
||||
"profile_count": 1,
|
||||
"warmup_count": 0,
|
||||
"startup_s": 8.223868511035107,
|
||||
"execution_plan_at_start": {
|
||||
"backend": "external.minicpmo.gguf.v1",
|
||||
"stage_id": 0,
|
||||
"worker_generation": "d3c2ac96ca6044aca82c16a2d2729d60",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"requested_placement": "cpu",
|
||||
"ggml_vk_visible_devices": null,
|
||||
"shared_ram_reservation": {
|
||||
"host_ram": 25769803776
|
||||
},
|
||||
"weights_bytes": 8872297088,
|
||||
"memory_overhead_bytes": 12884901888,
|
||||
"context_tokens": 2048,
|
||||
"max_new_tokens": 96,
|
||||
"request_capacity": 1,
|
||||
"stateful_session": "C++-owned within one request; discarded after completion",
|
||||
"placement_evidence": "pending first request"
|
||||
},
|
||||
"complete_request": {
|
||||
"text": "The square in the image is red.",
|
||||
"wall_s": 25.769782793009654,
|
||||
"audio_metadata": {
|
||||
"sample_rate_hz": 24000,
|
||||
"channels": 1,
|
||||
"pcm_frames": 60480,
|
||||
"duration_s": 2.52,
|
||||
"pcm_sha256": "e36c6f1b6c6199514fc6d2111e4521ab3d090957f614eec9f9aabc7c0c73b4e0"
|
||||
},
|
||||
"stage_event": {
|
||||
"request_id": "minicpmo-1",
|
||||
"stage_id": 0,
|
||||
"epoch": 1,
|
||||
"seq": 1,
|
||||
"kind": "audio",
|
||||
"worker_generation": "d3c2ac96ca6044aca82c16a2d2729d60",
|
||||
"buffers": [],
|
||||
"terminal": true,
|
||||
"error": null
|
||||
},
|
||||
"metrics": {
|
||||
"minicpmo_whole_request_wall_s": 25.747626426978968,
|
||||
"peak_sampled_rss_bytes": 13699469312,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_logs/minicpmo-1-c9bc3c5416e24a758c3327c06e9630b4.log"
|
||||
}
|
||||
},
|
||||
"output_wav": "benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/minicpmo_omni_wsl_cpu/output.wav",
|
||||
"execution_plan_after_request": {
|
||||
"backend": "external.minicpmo.gguf.v1",
|
||||
"stage_id": 0,
|
||||
"worker_generation": "d3c2ac96ca6044aca82c16a2d2729d60",
|
||||
"model_revision": "db25077c33951fe163b42986fba0132e279872a2",
|
||||
"artifact_sha256": {
|
||||
"MiniCPM-o-4_5-Q4_K_M.gguf": "1237a97ee081b8abebc47aa7dad565701e8f5f904cdc92f6723ac4281bbc0932",
|
||||
"audio/MiniCPM-o-4_5-audio-F16.gguf": "d5b188ac7feaf98e17175c3f9bd14bf269301bfd187439fdaa3e3a494fc32ef7",
|
||||
"vision/MiniCPM-o-4_5-vision-F16.gguf": "1453678cc4e4fe18de241952962e234f265cb8dda780773526103ab8ba82f421",
|
||||
"tts/MiniCPM-o-4_5-tts-F16.gguf": "c7be3748a863dd6966ae7eed42600b7f41ca67affb03729ff245247f0e5ea088",
|
||||
"tts/MiniCPM-o-4_5-projector-F16.gguf": "4b1b5b377358a5e594a304ff6ea5d52df606a9ba7d886c4299d232f0c67dd1fd",
|
||||
"token2wav-gguf/encoder.gguf": "7f8d265da594eaf5e1de2db8f5f1867dbcb0bb75ef5878fadf2952347116f4d0",
|
||||
"token2wav-gguf/flow_matching.gguf": "eda6069f3edeb5dd3a87fbf2aedb2ddd1b46f3273926c4fcf09b24476a39cab8",
|
||||
"token2wav-gguf/flow_extra.gguf": "c67611aa7d02500fe395a7798bf0bfdfb55c74d37ba93934ca74d82b4e63f78d",
|
||||
"token2wav-gguf/hifigan2.gguf": "1b8b3bf5d8d3066aeee4324fdcdd41aefce170d0ee907645858de408d82835c2",
|
||||
"token2wav-gguf/prompt_cache.gguf": "81fe6f541ebe0b67db06a1e395df928da47991dc9637c2cf47d6c59d5b979f2c"
|
||||
},
|
||||
"cli_sha256": "5c41298e2a234f76f10342e8b3b3aee7c93f77ea246c121f259ea89c682a6e42",
|
||||
"requested_placement": "cpu",
|
||||
"ggml_vk_visible_devices": null,
|
||||
"shared_ram_reservation": {
|
||||
"host_ram": 25769803776
|
||||
},
|
||||
"weights_bytes": 8872297088,
|
||||
"memory_overhead_bytes": 12884901888,
|
||||
"context_tokens": 2048,
|
||||
"max_new_tokens": 96,
|
||||
"request_capacity": 1,
|
||||
"stateful_session": "C++-owned within one request; discarded after completion",
|
||||
"placement_evidence": {
|
||||
"observed": "cpu",
|
||||
"worker_pid": 3632560,
|
||||
"peak_sampled_rss_bytes": 13699469312,
|
||||
"worker_log": "/tmp/minicpmo_omni_wsl_logs/minicpmo-1-c9bc3c5416e24a758c3327c06e9630b4.log"
|
||||
}
|
||||
},
|
||||
"abort_check": {
|
||||
"stale_output": false,
|
||||
"ledger": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
},
|
||||
"status": "passed",
|
||||
"ledger_after_shutdown": {
|
||||
"capacities": {
|
||||
"host_ram": 32212254720
|
||||
},
|
||||
"reserved": {
|
||||
"host_ram": 0
|
||||
},
|
||||
"owners": [],
|
||||
"quarantined": []
|
||||
}
|
||||
}
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 24: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 25: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 26: general.file_type u32 = 15
|
||||
llama_model_loader: - type f32: 145 tensors
|
||||
llama_model_loader: - type q4_K: 217 tensors
|
||||
llama_model_loader: - type q6_K: 37 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = Q4_K - Medium
|
||||
print_info: file size = 4.68 GiB (4.90 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = qwen3
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 40960
|
||||
print_info: n_embd = 4096
|
||||
print_info: n_layer = 36
|
||||
print_info: n_head = 32
|
||||
print_info: n_head_kv = 8
|
||||
print_info: n_rot = 128
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 128
|
||||
print_info: n_embd_head_v = 128
|
||||
print_info: n_gqa = 4
|
||||
print_info: n_embd_k_gqa = 1024
|
||||
print_info: n_embd_v_gqa = 1024
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 12288
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = -1
|
||||
print_info: rope type = 2
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 1000000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 40960
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = 8B
|
||||
print_info: model params = 8.19 B
|
||||
print_info: general.name = Llm
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 151748
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: CPU_REPACK model buffer size = 3199.50 MiB
|
||||
load_tensors: CPU_Mapped model buffer size = 4761.17 MiB
|
||||
.....................................................................................
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 1000000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (40960) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.58 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 288.00 MiB
|
||||
llama_kv_cache: size = 288.00 MiB ( 2048 cells, 36 layers, 1/1 seqs), K (f16): 144.00 MiB, V (f16): 144.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 304.38 MiB
|
||||
llama_context: graph nodes = 1267
|
||||
llama_context: graph splits = 1
|
||||
llama_model_loader: loaded meta data with 30 key-value pairs and 193 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = llama
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Tts
|
||||
llama_model_loader: - kv 3: general.size_label str = 445M
|
||||
llama_model_loader: - kv 4: llama.block_count u32 = 20
|
||||
llama_model_loader: - kv 5: llama.context_length u32 = 4096
|
||||
llama_model_loader: - kv 6: llama.embedding_length u32 = 768
|
||||
llama_model_loader: - kv 7: llama.feed_forward_length u32 = 3072
|
||||
llama_model_loader: - kv 8: llama.attention.head_count u32 = 12
|
||||
llama_model_loader: - kv 9: llama.attention.head_count_kv u32 = 12
|
||||
llama_model_loader: - kv 10: llama.rope.freq_base f32 = 10000.000000
|
||||
llama_model_loader: - kv 11: llama.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: llama.attention.key_length u32 = 64
|
||||
llama_model_loader: - kv 13: llama.attention.value_length u32 = 64
|
||||
llama_model_loader: - kv 14: general.file_type u32 = 1
|
||||
llama_model_loader: - kv 15: llama.vocab_size u32 = 158626
|
||||
llama_model_loader: - kv 16: llama.rope.dimension_count u32 = 64
|
||||
llama_model_loader: - kv 17: general.quantization_version u32 = 2
|
||||
llama_model_loader: - kv 18: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 19: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 20: tokenizer.ggml.tokens arr[str,158626] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 21: tokenizer.ggml.token_type arr[i32,158626] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
llama_model_loader: - kv 22: tokenizer.ggml.merges arr[str,151387] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
|
||||
llama_model_loader: - kv 23: tokenizer.ggml.bos_token_id u32 = 151644
|
||||
llama_model_loader: - kv 24: tokenizer.ggml.eos_token_id u32 = 151645
|
||||
llama_model_loader: - kv 25: tokenizer.ggml.unknown_token_id u32 = 128244
|
||||
llama_model_loader: - kv 26: tokenizer.ggml.padding_token_id u32 = 151643
|
||||
llama_model_loader: - kv 27: tokenizer.ggml.add_bos_token bool = false
|
||||
llama_model_loader: - kv 28: tokenizer.chat_template str = {%- if tools %}\n {{- '<|im_start|>...
|
||||
llama_model_loader: - kv 29: tokenizer.ggml.add_space_prefix bool = false
|
||||
llama_model_loader: - type f32: 50 tensors
|
||||
llama_model_loader: - type f16: 143 tensors
|
||||
print_info: file format = GGUF V3 (latest)
|
||||
print_info: file type = F16
|
||||
print_info: file size = 1.07 GiB (20.70 BPW)
|
||||
load: printing all EOG tokens:
|
||||
load: - 151643 ('<|endoftext|>')
|
||||
load: - 151645 ('<|im_end|>')
|
||||
load: - 151662 ('<|fim_pad|>')
|
||||
load: - 151663 ('<|repo_name|>')
|
||||
load: - 151664 ('<|file_sep|>')
|
||||
load: special tokens cache size = 106
|
||||
load: token to piece cache size = 0.9319 MB
|
||||
print_info: arch = llama
|
||||
print_info: vocab_only = 0
|
||||
print_info: n_ctx_train = 4096
|
||||
print_info: n_embd = 768
|
||||
print_info: n_layer = 20
|
||||
print_info: n_head = 12
|
||||
print_info: n_head_kv = 12
|
||||
print_info: n_rot = 64
|
||||
print_info: n_swa = 0
|
||||
print_info: is_swa_any = 0
|
||||
print_info: n_embd_head_k = 64
|
||||
print_info: n_embd_head_v = 64
|
||||
print_info: n_gqa = 1
|
||||
print_info: n_embd_k_gqa = 768
|
||||
print_info: n_embd_v_gqa = 768
|
||||
print_info: f_norm_eps = 0.0e+00
|
||||
print_info: f_norm_rms_eps = 1.0e-06
|
||||
print_info: f_clamp_kqv = 0.0e+00
|
||||
print_info: f_max_alibi_bias = 0.0e+00
|
||||
print_info: f_logit_scale = 0.0e+00
|
||||
print_info: f_attn_scale = 0.0e+00
|
||||
print_info: n_ff = 3072
|
||||
print_info: n_expert = 0
|
||||
print_info: n_expert_used = 0
|
||||
print_info: causal attn = 1
|
||||
print_info: pooling type = 0
|
||||
print_info: rope type = 0
|
||||
print_info: rope scaling = linear
|
||||
print_info: freq_base_train = 10000.0
|
||||
print_info: freq_scale_train = 1
|
||||
print_info: n_ctx_orig_yarn = 4096
|
||||
print_info: rope_finetuned = unknown
|
||||
print_info: model type = ?B
|
||||
print_info: model params = 444.94 M
|
||||
print_info: general.name = Tts
|
||||
print_info: vocab type = BPE
|
||||
print_info: n_vocab = 158626
|
||||
print_info: n_merges = 151387
|
||||
print_info: BOS token = 151644 '<|im_start|>'
|
||||
print_info: EOS token = 151645 '<|im_end|>'
|
||||
print_info: EOT token = 151645 '<|im_end|>'
|
||||
print_info: UNK token = 128244 '<unk>'
|
||||
print_info: PAD token = 151643 '<|endoftext|>'
|
||||
print_info: LF token = 198 'Ċ'
|
||||
print_info: FIM PRE token = 151659 '<|fim_prefix|>'
|
||||
print_info: FIM SUF token = 151661 '<|fim_suffix|>'
|
||||
print_info: FIM MID token = 151660 '<|fim_middle|>'
|
||||
print_info: FIM PAD token = 151662 '<|fim_pad|>'
|
||||
print_info: FIM REP token = 151663 '<|repo_name|>'
|
||||
print_info: FIM SEP token = 151664 '<|file_sep|>'
|
||||
print_info: EOG token = 151643 '<|endoftext|>'
|
||||
print_info: EOG token = 151645 '<|im_end|>'
|
||||
print_info: EOG token = 151662 '<|fim_pad|>'
|
||||
print_info: EOG token = 151663 '<|repo_name|>'
|
||||
print_info: EOG token = 151664 '<|file_sep|>'
|
||||
print_info: max token length = 256
|
||||
load_tensors: loading model tensors, this can take a while... (mmap = true)
|
||||
load_tensors: skipping TTS tensor emb_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor emb_text.weight (size = 467140608 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.weight (size = 12582912 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.weight (size = 2359296 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_semantic.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.weight (size = 6291456 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear1.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.weight (size = 1179648 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor projector_spk.linear2.bias (size = 3072 bytes) -- will be loaded separately
|
||||
load_tensors: skipping TTS tensor head_code.0.weight (size = 20158464 bytes) -- will be loaded separately
|
||||
load_tensors: CPU_Mapped model buffer size = 592.48 MiB
|
||||
..............................................................
|
||||
llama_init_from_model: model default pooling_type is [0], but [-1] was specified
|
||||
llama_context: constructing llama_context
|
||||
llama_context: n_seq_max = 1
|
||||
llama_context: n_ctx = 2048
|
||||
llama_context: n_ctx_per_seq = 2048
|
||||
llama_context: n_batch = 2048
|
||||
llama_context: n_ubatch = 512
|
||||
llama_context: causal_attn = 1
|
||||
llama_context: flash_attn = auto
|
||||
llama_context: kv_unified = false
|
||||
llama_context: freq_base = 10000.0
|
||||
llama_context: freq_scale = 1
|
||||
llama_context: n_ctx_per_seq (2048) < n_ctx_train (4096) -- the full capacity of the model will not be utilized
|
||||
llama_context: CPU output buffer size = 0.61 MiB
|
||||
llama_kv_cache: CPU KV buffer size = 120.00 MiB
|
||||
llama_kv_cache: size = 120.00 MiB ( 2048 cells, 20 layers, 1/1 seqs), K (f16): 60.00 MiB, V (f16): 60.00 MiB
|
||||
llama_context: Flash Attention was auto, set to enabled
|
||||
llama_context: CPU compute buffer size = 25.51 MiB
|
||||
llama_context: graph nodes = 613
|
||||
llama_context: graph splits = 1
|
||||
vision_model_loader: model name:
|
||||
vision_model_loader: description: image encoder for MiniCPM-V
|
||||
vision_model_loader: GGUF version: 3
|
||||
vision_model_loader: alignment: 32
|
||||
vision_model_loader: n_tensors: 455
|
||||
vision_model_loader: n_kv: 20
|
||||
|
||||
vision_ctx: vision using CPU backend
|
||||
load_hparams: model_type: 0
|
||||
load_hparams: n_embd: 1152
|
||||
load_hparams: n_head: 16
|
||||
load_hparams: n_ff: 4304
|
||||
load_hparams: n_layer: 27
|
||||
load_hparams: ffn_op: gelu
|
||||
load_hparams: projection_dim: 0
|
||||
|
||||
--- vision hparams ---
|
||||
load_hparams: image_size: 448
|
||||
load_hparams: patch_size: 14
|
||||
load_hparams: minicpmv_version: 100045
|
||||
load_hparams: proj_scale_factor: 0
|
||||
load_hparams: n_wa_pattern: 0
|
||||
|
||||
load_hparams: model size: 1044.36 MiB
|
||||
load_hparams: metadata size: 0.16 MiB
|
||||
load_tensors: ffn up/down are swapped
|
||||
alloc_compute_meta: CPU compute buffer size = 100.30 MiB
|
||||
init tts....init t2w....voc_hg2_model: CPU backend using 8 threads
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=32000
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=200, n_mel=80, total_size=16000
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=200, n_mel=80, total_elements=16000
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=200, n_tokens=100, current_iter=0, current_total=0, new_total=100, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 1 (total_tokens=100, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 20]
|
||||
audition_audio_batch_encode: Final output: 20 tokens x 4096 dims
|
||||
=== Model Paths ===
|
||||
Base dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf
|
||||
LLM: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf [OK]
|
||||
Vision: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/vision/MiniCPM-o-4_5-vision-F16.gguf [OK]
|
||||
Audio: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf [OK]
|
||||
TTS: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-tts-F16.gguf [OK]
|
||||
Projector: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf [OK]
|
||||
===================
|
||||
=== Initializing Omni Context ===
|
||||
Media type: 2 (omni: audio+vision)
|
||||
TTS enabled: yes
|
||||
Context size: 2048
|
||||
GPU layers: 0
|
||||
Token2Wav device: cpu
|
||||
Vision backend: metal
|
||||
TTS bin dir: /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts
|
||||
Ref audio: /mnt/c/Users/zhout/w2/minicpmo_cpp_cpu_v3/fixture_0000.wav
|
||||
23:05:45.158 === omni_init start
|
||||
23:05:45.158 media_type = 2, duplex_mode = 0, base_output_dir = ./tools/omni/output
|
||||
23:05:45.158 === omni_init: loading new LLM model
|
||||
23:05:48.884 === omni_init: loading TTS model
|
||||
23:05:48.884 TTS model: loading with n_gpu_layers=0
|
||||
23:05:49.164 TTS sampler: temp=0.80, top_p=0.85, top_k=25, rep_penalty=1.05
|
||||
23:05:49.164 TTS: loading weights from GGUF (emb_code, emb_text, projector_semantic, head_code)...
|
||||
23:05:50.583 TTS: head_code shape: dim0=6562, dim1=768, will transpose to [6562, 768]
|
||||
23:05:50.601 TTS: head_code loaded, verifying first few values:
|
||||
23:05:50.601 head_code_weight[0] = 0.01361084 (expect ~0.01385498)
|
||||
23:05:50.601 head_code_weight[1] = -0.01660156 (expect ~-0.01647949)
|
||||
23:05:50.601 head_code_weight[768] = 0.04101562 (this is weight[1, 0], expect ~0.04150391)
|
||||
23:05:50.671 TTS: weights loaded successfully
|
||||
23:05:50.671 Projector: loading from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/tts/MiniCPM-o-4_5-projector-F16.gguf
|
||||
23:05:50.683 Projector: loaded successfully
|
||||
23:05:50.683 === omni_init: loading APM model
|
||||
23:05:50.939 APM: init from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/audio/MiniCPM-o-4_5-audio-F16.gguf
|
||||
23:05:51.749 Token2Wav: found models in /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf
|
||||
23:05:51.749 Token2Wav: all model files found, initializing session...
|
||||
23:05:51.749 Token2Wav: non-CUDA backend, vocoder using CPU for better performance
|
||||
23:05:51.749 Token2Wav: using prompt_cache from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/token2wav-gguf/prompt_cache.gguf
|
||||
23:05:53.483 Token2Wav: initialized successfully
|
||||
23:05:53.483 Python T2W: script_dir=./tools/omni/pyt2w, model_dir=./tools/omni/pyt2w/token2wav
|
||||
23:05:53.483 Token2Wav: 使用 C++ 实现
|
||||
23:05:53.483 === omni_init success: ctx_llama = 0x56f33904d060
|
||||
=== Running test case ===
|
||||
Audio prefix: /tmp/minicpmo_omni_wsl_work/omni-minicpmo-1-h5pevmpv/fixture_
|
||||
Count: 2
|
||||
23:05:53.483 stream_prefill: n_past = 0
|
||||
voice_clone_prompt = <|im_start|>system
|
||||
模仿音频样本的音色并生成新的内容。
|
||||
<|audio_start|>
|
||||
assistant_prompt = <|audio_end|>你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。<|im_end|>
|
||||
<|im_start|>user
|
||||
|
||||
23:05:53.483 system prompt ref_audio: /tmp/minicpmo_omni_wsl_work/omni-minicpmo-1-h5pevmpv/fixture_0000.wav
|
||||
23:05:54.375 system prompt ref_audio embedding: n_pos=20
|
||||
23:05:55.882 🔒 n_keep 设置为 72 (system prompt tokens),这部分永远不会被滑动窗口删除
|
||||
23:05:55.882 stream_prefill(index=0): system prompt 初始化完成,ref_audio 已在其中 prefill
|
||||
23:05:55.882 [SW] system_prompt registered: preserve_length=72 (will be protected from sliding)
|
||||
23:05:55.882 n_past = 72
|
||||
23:05:55.882
|
||||
|
||||
c++ finish stream_prefill(index=0). n_past=72, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 0 (audio) : 2.39898 s
|
||||
encode_image_with_vision_chunks: step 1 of 1 encoded in 3060.64 ms
|
||||
encode_image_with_vision_chunks: all 1 chunks encoded in 3079.52 ms (grid: 1x1)
|
||||
|
||||
encode_image_with_vision_chunks: image encoded in 3079.53 ms by vision ( 3079.53 ms per chunk, 64 total tokens)
|
||||
omni_image_embed_make_chunks_with_filename: created 1 vision chunks from /tmp/minicpmo_omni_wsl_work/omni-minicpmo-1-h5pevmpv/fixture_0001.jpg
|
||||
stream_prefill: prefilled 1 vision chunks (64 tokens each)
|
||||
audition_audio_preprocess: Decoded audio - sample_rate=16000, n_samples=49339
|
||||
audition_audio_preprocess: Audio not aligned to 100ms (49339 samples = 3083.7ms), padded with silence to 49600 samples (3100ms)
|
||||
audition_get_mel_filters: Retrieved mel filters from model: 80 mel bins x 201 fft bins
|
||||
audition_audio_preprocess: Using mel filters - n_mel=80, n_fft=201
|
||||
audition_audio_preprocess: Generated 1 mel spectrogram chunk(s)
|
||||
audition_audio_preprocess: Mel spectrogram ready - n_len=310, n_mel=80, total_size=24800
|
||||
build_whisper: Whisper encoder graph built (projector output, pre-pooling)
|
||||
audition_audio_batch_encode: Audio input data - n_step=310, n_mel=80, total_elements=24800
|
||||
audition_audio_batch_encode: Before incrementing iter: input_frames=310, n_tokens=155, current_iter=1, current_total=155, new_total=310, max_tokens=1500
|
||||
audition_audio_batch_encode: KV cache iter incremented to 2 (total_tokens=310, max_tokens=1500)
|
||||
audition_audio_batch_encode: Final output shape: [4096, 31]
|
||||
audition_audio_batch_encode: Final output: 31 tokens x 4096 dims
|
||||
23:06:00.870 stream_prefill(index=1): processing user audio: /tmp/minicpmo_omni_wsl_work/omni-minicpmo-1-h5pevmpv/fixture_0001.wav
|
||||
23:06:01.183 stream_prefill(index=1): user audio embedding: n_pos=31
|
||||
23:06:02.334
|
||||
|
||||
c++ finish stream_prefill(index=1). n_past=172, n_keep=72, n_ctx=2048
|
||||
|
||||
prefill 1 (audio+vision) : 6.45189 s
|
||||
23:06:02.334 📍 stream_decode 开始: n_past=172, n_keep=72, n_ctx=2048, duplex_mode=0
|
||||
23:06:02.334 stream_decode: create tts thread (simplex mode)
|
||||
23:06:02.334 stream_decode: create t2w thread
|
||||
23:06:02.334 wait prefill done
|
||||
23:06:02.334 📍 [单工TTS] 添加 assistant prompt: "<|im_end|>
|
||||
<|im_start|>assistant
|
||||
<think>
|
||||
|
||||
</think>
|
||||
|
||||
<|tts_bos|>", n_past=172
|
||||
23:06:02.334 T2W thread (C++) started
|
||||
<user>
|
||||
<assistant>23:06:02.338 TTS: 创建单工模式输出目录: ./tools/omni/output/round_000
|
||||
23:06:02.338 TTS thread started
|
||||
23:06:02.749 📍 [单工TTS] assistant prompt 完成, n_past=182
|
||||
23:06:02.749 LLM decode: max_tgt_len = 96, n_predict = 96, n_ctx = 2048
|
||||
23:06:03.672 LLM: detected end token, set llm_generation_done=true
|
||||
23:06:03.672 LLM->TTS: text='The square in the image is red.', n_tokens=8, hidden_size=32768, n_embd=4096, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:06:03.672 📍 Decode 结束: n_past=191, 剩余空间=1857, 无需滑窗
|
||||
23:06:03.672 📍 轮次 1 结束,记录边界于 n_past=191
|
||||
23:06:03.672 TTS<-LLM: chunk_idx=0, text='The square in the image is red.', n_tokens=8, hidden_size=32768, token_ids=[785 9334 304 279 2168 374 2518 13]
|
||||
23:06:03.672 TTS: after queue pop - speek_done=0, llm_finish=1, llm_text.empty=0, token_ids.size=8
|
||||
23:06:03.672 TTS: before empty check - response.empty=0, response='The square in the image is red.', llm_finish=1
|
||||
Waiting for audio generation to complete...
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_0.wav does not exist or is empty
|
||||
TTS: chunk file ./tools/omni/output/round_000/tts_wav/tts_output_chunk_1.wav does not exist or is empty
|
||||
TTS: no valid WAV files to merge
|
||||
[timing] call=0 tokens=28 final=0 token2mel=2134.762ms vocoder=276.670ms total=2411.444ms audio=20160
|
||||
[timing] call=1 tokens=28 final=0 token2mel=1670.511ms vocoder=315.479ms total=1986.008ms audio=24000
|
||||
[timing] call=2 tokens=13 final=1 token2mel=1654.652ms vocoder=184.253ms total=1838.913ms audio=16320
|
||||
Audio generation completed.
|
||||
23:06:03.672 TTS: DEBUG before has_llm_data - token_ids.size=8, hidden_states.size=32768, n_embd=4096
|
||||
23:06:03.672 TTS: has_llm_data=1, token_ids=8, hidden_states=32768, n_embd=4096, llm_finish=1
|
||||
23:06:03.673 TTS: n_tokens_orig=8, n_tokens_filtered=8 (filtered 0 special tokens)
|
||||
23:06:03.681 TTS: saved merged embeddings (text) to ./tools/omni/output/round_000/llm_debug/chunk_0/merged_embeddings.txt
|
||||
23:06:03.681 TTS Simplex: generating audio tokens for chunk 0 (n_tokens=8, tts_n_embd=768)
|
||||
23:06:03.681 TTS Simplex: 在 prefill 前添加 audio_bos (chunk_idx=0, new_size=9)
|
||||
23:06:03.681 TTS Simplex: first chunk - cleared KV cache
|
||||
23:06:03.681 TTS Simplex: first chunk - cleared tts_all_generated_tokens and tts_token_buffer
|
||||
23:06:03.700 TTS Simplex: prefill completed, n_past_tts=9
|
||||
23:06:03.700 TTS Simplex: sampler created
|
||||
23:06:03.700 TTS simplex: is_audio_bos=true (first audio token)
|
||||
23:06:03.727 TTS Simplex Phase1: token 1/500: rel_id=1487
|
||||
23:06:03.742 TTS Simplex Phase1: token 2/500: rel_id=4218
|
||||
23:06:03.754 TTS Simplex Phase1: token 3/500: rel_id=3894
|
||||
23:06:03.766 TTS Simplex Phase1: token 4/500: rel_id=4218
|
||||
23:06:03.777 TTS Simplex Phase1: token 5/500: rel_id=4218
|
||||
23:06:04.007 📍 为下一轮准备: eval <|im_end|>\n<|im_start|>user\n, n_past=196
|
||||
23:06:04.009 TTS Simplex Phase1: yield 25 tokens 到 T2W (step 25, buffer=25)
|
||||
23:06:04.009 TTS Simplex Phase1: token 25/500: rel_id=3666
|
||||
23:06:04.009 T2W线程(C++): 轮次切换 (-1 -> 0),更新输出目录
|
||||
23:06:04.009 T2W线程(C++): 新输出目录 ./tools/omni/output/round_000/tts_wav
|
||||
23:06:04.165 TTS Simplex Phase1: EOS token at step 41
|
||||
23:06:04.165 TTS Simplex: is_final_text_chunk=true, will enter Phase 2 for text_eos_embed
|
||||
23:06:04.165 TTS Simplex Phase2: injecting text_eos_embed + audio_bos at n_past=49
|
||||
23:06:04.172 TTS Simplex Phase2: text_eos_embed injected, n_past=50
|
||||
23:06:04.179 TTS Simplex Phase2: audio_bos injected, n_past=51, starting final generation
|
||||
23:06:04.281 TTS Simplex Phase2: yield 25 tokens 到 T2W
|
||||
23:06:04.393 TTS Simplex Phase2: EOS at step 21 (final end)
|
||||
23:06:04.393 TTS Simplex: chunk 结束,tts_token_buffer 剩余 10 tokens (保留等下一个 chunk)
|
||||
23:06:04.393 TTS Simplex: is_final_text_chunk=true, flush 剩余 10 tokens 从 tts_token_buffer
|
||||
23:06:04.393 TTS Simplex: generated 60 audio tokens for chunk 0
|
||||
23:06:04.393 TTS Simplex: chunk 0 first tokens: [1487 4218 3894 4218 4218 ], last tokens: [1461 4218 4218 4218 4137 ]
|
||||
23:06:04.393 TTS Simplex: updated tts_n_past_accumulated=72, total_generated_tokens=60
|
||||
23:06:04.393 TTS: finished processing all chunks
|
||||
23:06:04.393 TTS: 单工模式轮次结束,下一轮 round_idx=1
|
||||
23:06:04.393 TTS: sent is_final=true to T2W queue (turn end)
|
||||
23:06:06.421 🎉 首响时间 (First Audio Response): 4087ms
|
||||
23:06:06.421 T2W线程: wav_0.wav | 0.84s audio | 2411.5ms inference | RTF=2.87 | t=4087ms
|
||||
23:06:08.407 T2W线程: wav_1.wav | 1.00s audio | 1986.1ms inference | RTF=1.99 | t=6073ms
|
||||
23:06:10.246 T2W线程: wav_2.wav | 0.68s audio | 1839.0ms inference | RTF=2.70 | t=7912ms
|
||||
23:06:10.246 T2W线程: 写入结束标记 ./tools/omni/output/round_000/tts_wav/generation_done.flag (last_wav=2)
|
||||
23:06:10.246 T2W线程: 轮次结束后更新输出目录为 ./tools/omni/output/round_001/tts_wav
|
||||
23:06:10.317 omni_stop_threads: stop signals sent
|
||||
23:06:10.317 T2W(C++) 线程: 停止
|
||||
llama_perf_context_print: load time = 17590.37 ms
|
||||
llama_perf_context_print: prompt eval time = 9265.81 ms / 182 tokens ( 50.91 ms per token, 19.64 tokens per second)
|
||||
llama_perf_context_print: eval time = 920.50 ms / 9 runs ( 102.28 ms per token, 9.78 tokens per second)
|
||||
llama_perf_context_print: total time = 25159.78 ms / 191 tokens
|
||||
llama_perf_context_print: graphs reused = 10
|
||||
Token2Wav (C++): session released
|
||||
tts thread end
|
||||
t2w thread end
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
build: 64 (5202b7b) with cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 for x86_64-linux-gnu
|
||||
llama_model_loader: loaded meta data with 27 key-value pairs and 399 tensors from /home/zhout/project/edge_infer/models/MiniCPM-o-4_5-gguf/MiniCPM-o-4_5-Q4_K_M.gguf (version GGUF V3 (latest))
|
||||
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
|
||||
llama_model_loader: - kv 0: general.architecture str = qwen3
|
||||
llama_model_loader: - kv 1: general.type str = model
|
||||
llama_model_loader: - kv 2: general.name str = Llm
|
||||
llama_model_loader: - kv 3: general.size_label str = 8.2B
|
||||
llama_model_loader: - kv 4: qwen3.block_count u32 = 36
|
||||
llama_model_loader: - kv 5: qwen3.context_length u32 = 40960
|
||||
llama_model_loader: - kv 6: qwen3.embedding_length u32 = 4096
|
||||
llama_model_loader: - kv 7: qwen3.feed_forward_length u32 = 12288
|
||||
llama_model_loader: - kv 8: qwen3.attention.head_count u32 = 32
|
||||
llama_model_loader: - kv 9: qwen3.attention.head_count_kv u32 = 8
|
||||
llama_model_loader: - kv 10: qwen3.rope.freq_base f32 = 1000000.000000
|
||||
llama_model_loader: - kv 11: qwen3.attention.layer_norm_rms_epsilon f32 = 0.000001
|
||||
llama_model_loader: - kv 12: qwen3.attention.key_length u32 = 128
|
||||
llama_model_loader: - kv 13: qwen3.attention.value_length u32 = 128
|
||||
llama_model_loader: - kv 14: tokenizer.ggml.model str = gpt2
|
||||
llama_model_loader: - kv 15: tokenizer.ggml.pre str = qwen2
|
||||
llama_model_loader: - kv 16: tokenizer.ggml.tokens arr[str,151748] = ["!", "\"", "#", "$", "%", "&", "'", ...
|
||||
llama_model_loader: - kv 17: tokenizer.ggml.token_type arr[i32,151748] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
|
||||
@@ -1,6 +1,6 @@
|
||||
# E2E check and profiling
|
||||
|
||||
All 60 pairings have a disposition. The timing tables below remain the 2026-09-22 measurements. The configuration matrix and affected per-cell reasons incorporate the [2026-09-23 scoped recovery runs](../../../e2e_recovery_20260923/README.md) and [WSL CPU/native Windows expansion](../../../e2e_expansion_20260923/README.md). The expansion adds separate 20-request serial MiniCPM-o text-to-speech profiles on WSL CPU and native Windows GPU, a Spark output-head component profile on the HX370 AMD NPU, complete Spark text-request profiles through standalone llama.cpp and a bounded Omni whole-session stage on native Windows CPU and Radeon 890M, native Windows CPU Qwen3-TTS text-to-WAV profiles through both standalone PyTorch and a bounded Omni whole-session stage, and a hybrid CPU+Radeon 890M Qwen3-TTS profile likewise repeated through a bounded Omni whole-session stage. A pinned GGUF MiniCPM-o route adds combined image+audio to text+speech runs on WSL CPU, native Windows CPU and native Windows Radeon 890M+CPU. The latter two now also pass one bounded complete request through an Omni graph stage, including in-flight cancellation and ledger release. These are scoped synthetic cases, not full release qualification.
|
||||
All 60 pairings have a disposition. The timing tables below remain the 2026-09-22 measurements. The configuration matrix and affected per-cell reasons incorporate the [2026-09-23 scoped recovery runs](../../../e2e_recovery_20260923/README.md) and [WSL CPU/native Windows expansion](../../../e2e_expansion_20260923/README.md). The expansion adds separate 20-request serial MiniCPM-o text-to-speech profiles on WSL CPU and native Windows GPU, a Spark output-head component profile on the HX370 AMD NPU, complete Spark text-request profiles through standalone llama.cpp and a bounded Omni whole-session stage on native Windows CPU and Radeon 890M, native Windows CPU Qwen3-TTS text-to-WAV profiles through both standalone PyTorch and a bounded Omni whole-session stage, and a hybrid CPU+Radeon 890M Qwen3-TTS profile likewise repeated through a bounded Omni whole-session stage. A pinned GGUF MiniCPM-o route adds combined image+audio to text+speech runs on WSL CPU, native Windows CPU and native Windows Radeon 890M+CPU. All three now pass a bounded complete request through an Omni graph stage; the WSL CPU path additionally passed one warmup plus 20 serial measured requests. These are scoped synthetic cases, not full release qualification.
|
||||
|
||||
## Configuration × model
|
||||
|
||||
@@ -8,7 +8,7 @@ NOT E2E means no complete device/model workload was verified. “Scoped E2E” i
|
||||
|
||||
| Device | Spark-X2.5 | Qwen3-TTS 0.6B CustomVoice | Qwen3.8-27B | MiniCPM-o 4.5 | InternVLA-A1 |
|
||||
|---|---|---|---|---|---|
|
||||
| PC HX370: CPU / WSL | profile completed | scoped E2E: short stream | NOT E2E | scoped E2E: text/image/audio → speech | synthetic policy pass |
|
||||
| PC HX370: CPU / WSL | profile completed | scoped E2E: short stream | NOT E2E | scoped E2E: Omni GGUF combined image+audio → text+speech | synthetic policy pass |
|
||||
| PC HX370: CPU / native Windows | scoped E2E: Omni Spark text | scoped E2E: Omni CPU text → complete WAV | NOT E2E | scoped E2E: Omni GGUF image+audio → text+speech | synthetic policy pass |
|
||||
| PC HX370 + RTX 5090 Laptop / WSL | profile completed | profile completed | scoped E2E: text + image | scoped E2E: text/image/audio → speech | synthetic policy pass |
|
||||
| PC HX370 + RTX 5090 Laptop / Windows | profile completed | profile completed | NOT E2E | scoped E2E: text/image/audio → speech | synthetic policy pass |
|
||||
@@ -28,7 +28,7 @@ NOT E2E means no complete device/model workload was verified. “Scoped E2E” i
|
||||
| PC HX370: CPU / WSL | Spark-X2.5 | PROFILE_COMPLETED | not fully qualified: reference-quality and remaining reliability/performance gates must be reviewed | Qualify a matching vLLM 0.29 CPU build and token parity separately. |
|
||||
| PC HX370: CPU / WSL | Qwen3-TTS 0.6B CustomVoice | SCOPED_E2E | The 2026-09-23 compatibility fix enabled real-weight two-frame PCM and four short-stream requests, including cancellation recovery. One measured request generated 3.04 s of audio in 17.02 s (RTF 5.60) with four simulated playback underruns. The CPU wheel remains vLLM 0.28 versus Omni 0.29. | Qualify a matching CPU runtime, speech quality, uninterrupted playback and sustained load; [recovery evidence](../../../e2e_recovery_20260923/README.md). |
|
||||
| PC HX370: CPU / WSL | Qwen3.8-27B | NOT_E2E_PROFILEABLE | No compatible CPU artifact/deployment for this model was found in the checked model roots. Available Qwen 27B FP8/NVFP4 CUDA artifacts do not establish a CPU route. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. |
|
||||
| PC HX370: CPU / WSL | MiniCPM-o 4.5 | SCOPED_E2E | The verified BF16 checkpoint completed real three-stage text, one synthetic image and one synthetic audio input to text+speech on the vLLM 0.28 CPU backend in separate bounded plans. The 448×448 red square was described correctly with a nonzero 5.2 s WAV in one 37.70 s request; the 2 s/440 Hz tone was described as “A loud and high pitched beep” with a nonzero 2.16 s WAV in one 17.30 s request. CPU wording/token IDs differ from the WSL GPU runs, with no task-quality threshold established. A separate 1-warmup/20-measured serial **text** run had request wall p50 21.86 s/p95 22.97 s. WSL swap reached 5.75 GB during that text profile; manual snapshots in the multimodal runs showed heavy swap use but do not prove peak memory. Both multimodal runs force-killed stage 0 at shutdown and reported shared-memory cleanup warnings. Separately, a pinned Q4_K_M/F16 GGUF set ran one **combined** synthetic image+tone input to text and 9.24 s of speech through standalone C++ on WSL CPU in 40.70 s, with 13,369,604 KiB (~12.75 GiB) maximum RSS; its generic response did not establish input-grounded quality, and its optional WAV merger used the wrong chunk filename. The actual ten WAV chunks were verified and assembled without changing PCM. | Validate real image/audio suites, speech intelligibility, video input, concurrency, interruption, admission/loading peak, clean shutdown and sustained thermal behavior; check the C++ GGUF route's semantic quality and Omni binding separately. [vLLM CPU evidence](../../../e2e_expansion_20260923/README.md), [C++ CPU raw evidence](../../../e2e_expansion_20260923/evidence/minicpmo_cpp_cpu/README.md). |
|
||||
| PC HX370: CPU / WSL | MiniCPM-o 4.5 | SCOPED_E2E_OMNI_COMPLETE_REQUEST | The BF16/vLLM 0.28 three-stage path previously passed separate text, synthetic red-square image and synthetic 440 Hz audio inputs to text+speech; its 20-request serial **text-only** profile was p50/p95 21.86/22.97 s with swap and shutdown warnings. A separate pinned Q4_K_M/F16 GGUF worker now runs a **combined spoken question+image → text+speech** request through a bounded Omni StageRuntime/StagePool graph stage on WSL CPU, with installed vLLM 0.29 for the controller and CPU-only C++ model execution. All 20 measured requests after one warmup answered “The square in the image is red.”, emitted complete nonzero speech and a terminal audio event; nearest-rank complete-request wall p50/p95 was 22.67/24.83 s, speech duration 1.60–2.92 s, and maximum sampled worker RSS 13.70 GB. The first measured WAV independently transcribed exactly with pinned Whisper tiny.en (WER 0, one-output intelligibility proxy). Ten weight hashes and CPU placement were verified; 24 GiB shared RAM was reserved, 8 GiB was refused before launch, and in-flight cancellation left no stale output or reservation. Host RAM/swap samples covered only part of the profile. One synthetic fixture and variable speech PCM do not establish general quality, playable streaming, loading peak or sustained performance. | Validate real image/audio suites, speech alignment and quality, video input, concurrent admission, post-cancel restart, loading peak and sustained thermal behavior; [GGUF Omni raw evidence](../../../e2e_expansion_20260923/evidence/minicpmo_omni_wsl_cpu/README.md), [BF16/vLLM CPU evidence](../../../e2e_expansion_20260923/README.md), [earlier standalone GGUF run](../../../e2e_expansion_20260923/evidence/minicpmo_cpp_cpu/README.md). |
|
||||
| PC HX370: CPU / WSL | InternVLA-A1 | SYNTHETIC_POLICY_PASS | The Place_Markpen checkpoint strict-loaded in CPU-only PyTorch and produced finite `[1, 50, 32]` actions from zero observations/noise in one 3.25 s forward. Compared with the same CUDA checkpoint/input, relative L2 error was 1.30% and cosine similarity 0.999917; no task-quality tolerance is established. | Validate real observations against reference actions, units/timestamps, repeated latency and memory before robot-task qualification; [CPU evidence](../../../e2e_expansion_20260923/README.md). |
|
||||
| PC HX370: CPU / native Windows | Spark-X2.5 | SCOPED_E2E_OMNI_COMPLETE_REQUEST | The pinned Spark-X2.5-1.7B Q4_K_M GGUF ran in native Windows llama.cpp CPU (`-dev none -ngl 0`) as a whole-session Omni StageRuntime/StagePool backend. `Paris` and the correct `1511` inventory answer passed; one warmup plus 20 serial complete requests were 20/20 correct, nearest-rank wall p50/p95 6.93/7.05 s. The public AsyncOmni short request passed. The stage verifies artifact hashes and CPU placement (0/29 layers offloaded), reserves 4 GiB host RAM, emits a terminal text event and releases reservation after in-flight cancellation. The separate prior standalone profile was 6.65/6.86 s. No vLLM CPU attention repair, incremental stream, restart-after-cancel, loading peak or sustained power/thermal gate is claimed. | Validate broader text/token quality, streaming and cancellation recovery, memory peak and sustained load; [Omni raw evidence](../../../e2e_expansion_20260923/evidence/spark_omni_llamacpp/README.md), [standalone evidence](../../../e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/README.md). |
|
||||
| PC HX370: CPU / native Windows | Qwen3-TTS 0.6B CustomVoice | SCOPED_E2E_OMNI_COMPLETE_REQUEST | The pinned 0.6B CustomVoice BF16/SDPA checkpoint ran wholly on CPU through an isolated Qwen wrapper worker owned by one bounded Omni StageRuntime stage. Two named 24 kHz WAVs matched the earlier standalone PCM SHA256 values exactly. One warmup + 20 serial complete Omni requests for 4.56 s of audio had 20/20 identical PCM and nearest-rank wall p50/p95 15.32/15.60 s (RTF 3.36/3.42); independent Whisper tiny.en ASR gave WER 0.20 on the first Omni WAV, an intelligibility proxy only. A public AsyncOmni audio request passed. The stage verified pinned weights/interpreter and CPU placement, reserved 10 GiB host RAM, rejected an insufficient 4 GiB demand before worker launch, and after in-flight cancellation emitted no stale output and returned the ledger to zero. Sampled process-tree private memory peaked at 5.39 GB, not a loading peak. Native vLLM CPU attention operators remain absent; playable streaming, post-cancel restart, broader speech quality, loading peak and sustained power/thermal behavior remain unverified. | Validate playable streaming and restart/recovery, broader voice quality, peak memory, concurrency and sustained behavior; [Omni raw evidence](../../../e2e_expansion_20260923/evidence/qwen_tts_omni_cpu/README.md), [standalone baseline](../../../e2e_expansion_20260923/evidence/qwen_tts_native_cpu/README.md). |
|
||||
|
||||
@@ -85,6 +85,18 @@ does not stream playable chunks, post-cancel restart is untested, and the
|
||||
single synthetic case does not establish broad multimodal quality, loading
|
||||
peak, concurrency, video, mobile artifacts or sustained power behavior.
|
||||
|
||||
The same [GGUF Omni whole-session stage on WSL CPU](../../benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/minicpmo_omni_wsl_cpu/README.md)
|
||||
now passes a combined spoken visual question to text+speech on CPU-only C++
|
||||
execution. One warmup plus 20 serial complete requests all returned the correct
|
||||
red-square answer and complete speech, with nearest-rank wall p50/p95
|
||||
22.67/24.83 s. The first measured WAV independently transcribed exactly with
|
||||
pinned Whisper tiny.en; the 20 speech durations varied, so this is one scoped
|
||||
intelligibility check rather than a quality or alignment qualification. A
|
||||
24 GiB WSL shared-RAM reservation, 8 GiB refusal and in-flight cancellation
|
||||
with zero remaining ledger passed. This closes the WSL CPU GGUF Omni stage
|
||||
binding for the named input, while real input suites, video, playable streaming,
|
||||
loading peak, concurrency and sustained behavior remain M4 work.
|
||||
|
||||
Native Windows HX370 CPU now also completes two Qwen3-TTS CustomVoice
|
||||
text-to-WAV requests through Qwen's standalone PyTorch wrapper using the pinned
|
||||
0.6B checkpoint. A separate 1-warmup/20-measured serial profile of one short
|
||||
|
||||
Reference in new issue
Block a user