ling30tiny_EPQ / results /tool_use_levels.md
HelloSun's picture
Add tool-use benchmark report
abb0c00 verified
|
Raw History Blame Contribute Delete
2.32 kB

Ling-3.0-tiny:實際工具使用 workload(10 輪平均)

每一輪都包含兩段真實 tool-use 往返:

  1. 模型產生 get_weather(city=Tokyo) 呼叫,harness 查詢 Open-Meteo geocoding/current-weather API,將即時結果再交給模型摘要。
  2. 模型產生 compile_project(project=tiny_fixture) 呼叫,harness 清除前次 build 目錄、執行 CMake configure 與 cmake --build -j 1,再將 build 結果交給模型摘要。

每個模型生成/摘要子行程都使用指定 prlimit --data 匿名記憶體上限;每次啟動前逐出 GGUF page cache。每一級 10 輪全部成功。模型每個回合按 EOG 停止生成,工具呼叫從 Ling chat template 的 <tool_call> 格式辨識。回合分開啟動 process,因此不保留跨工具呼叫的模型 KV 對話狀態;工具結果以新 prompt 送入。這讓每次推論的記憶體峰值可對照,並實際驗證工具使用與結果摘要。

decode tok/s、SSD MiB/token 與 hot rate 先在單輪的 4 個模型階段取平均,再跨 10 輪計算平均 ± 樣本標準差。anon/RSS 欄位是每輪所有模型階段的峰值,再取 10 輪平均。weather 工具輸出按輪保存,天氣是查詢當時的即時資料。RSS 含不受 RLIMIT_DATA 限制的 file-backed pages。

RAM 上限 成功輪次 decode tok/s 平均 ± SD SSD MiB/token 平均 ± SD hot rate % 平均 ± SD anon 峰值 MB 平均 RSS 峰值 MB 平均 全輪耗時秒平均
1 GiB 10/10 7.71 ± 0.12 205.4 ± 0.1 9.6 ± 0.0 432 916 34.7
2 GiB 10/10 11.09 ± 0.36 71.3 ± 0.1 43.7 ± 0.0 1423 1906 33.0
4 GiB 10/10 15.19 ± 0.81 22.1 ± 0.0 58.0 ± 0.1 3404 3888 39.8
8 GiB 10/10 16.81 ± 0.64 7.1 ± 0.0 74.8 ± 0.0 7076 7560 49.8
16 GiB 10/10 17.60 ± 0.45 6.5 ± 0.0 75.5 ± 0.0 14612 15096 78.2

原始每輪 tool calls、weather/build 結果與每次 decode 指標:tool_use_levels.json。可重跑腳本:../sdq-ling/tool_use_bench.py。CMake 工具實際編譯的 fixture:../tools/tiny_fixture。工具失敗的嘗試保留在 tool_use_runs/ log;修正後的正式 10 輪皆成功。