本頁譯自英文文件。指令、識別名稱與範例保持原樣。執行環境 7.24.5 · SDK 2.6.9。 英文原文
Tiel Coder 原生預填與解碼量測
狀態:歷史本機快照 上次審閱:2026-09-21 負責人:AX Code 維護者 日期:2026-09-19 範圍:AX Code 選定的兩個 Tiel 套件、AX Engine 與 MTPLX 的對照、Apple M3 Max 128 GiB
排名用途已被取代。 2026 年 9 月 20 日的四機原生 API 量測,才是現行的 Tiel 與 MTPLX 比較,其中包括 M5 Max 上預設套件的完成速度 194.88 tok/s,以及 Cyber-Tiel 的解碼峰值 249.01 tok/s。請見Tiel 同儕摘要。請將本頁保留為 9 月 19 日的 M3 Max 階段快照(引擎自報為 7.4.0;三次的中位數)。不要混用這些表格。
這些結果保留原始的 agentic 設定檔基線。後續的Tiel MTP 設定檔比較量測 AX Code 目前選定的 auto 設定檔,包括隨工作負載而變的取捨。
新的 Tiel 套件在兩個受測執行環境上都以啟用中的 MTP 執行。AX Engine 的原始碼組建在四個案例中達到 47.36–58.53 decode tokens/s;MTPLX 達到 92.13–96.26。預填約為 1,190–1,446 tokens/s。這些是 Apple M3 Max、128 GiB 上的原生推論階段量測,不是 AX Code 或 OpenCode 的端到端程式撰寫吞吐量。
**組建需求:**已安裝的 Homebrew AX Engine 7.4.0 無法以 Engine(MlxMtpRequiredButUnavailable) 啟動 Tiel。以下 AX Engine 結果使用 commit 51137c71a6794964d52c32c95e275c0923ed8d0b 的最佳化本機組建,其中加入 Tiel MTP 命名空間載入器修正。該組建仍自報為 7.4.0。其結果不能證明既有 Homebrew 二進位檔或已發布版本具有支援。MTP 仍然必要;未納入停用 MTP 的後備執行。
結果
每個數值都是三次試驗的中位數。所有試驗都剛好生成 256 個 token,並回報快取的輸入 token 為零。預填與解碼都以每秒 token 數計。
| 模型 | 輸入 token | AX Engine 預填 | AX Engine 解碼 | MTPLX 預填 | MTPLX 解碼 |
|---|---|---|---|---|---|
| Tiel Coder,短 | 458 | 1,255.61 | 57.03 | 1,207.01 | 92.27 |
| Tiel Coder,情境 | 3,182 | 1,424.24 | 55.25 | 1,279.48 | 96.26 |
| Cyber-Tiel Coder,短 | 483 | 1,226.86 | 58.53 | 1,189.60 | 95.09 |
| Cyber-Tiel Coder,情境 | 3,207 | 1,446.19 | 47.36 | 1,427.62 | 92.13 |
解碼差異存在於代理程式迴圈之前、輸入相符的直接執行環境請求中。因此這次本機比較指出的是執行環境層級的差異;它沒有把單一運算核心或原則指認為原因。這些設定之間的預填接近許多。沒有執行停用 MTP 的對照,因此這不是 MTP 加速的量測。
本報告附有已淨化的輸入、全部 24 份試驗回執、階段計數器、模型修訂與用戶端接受結果。
確切產物與環境
| 模型 | Hugging Face 儲存庫 | 修訂 |
|---|---|---|
| Tiel Coder,AX Code 預設 | AutomatosX/AX-Tiel-Coder-35B-A3B-MLX-AXQ-MXFP4-MTP | 5ab39b24bfd7f65203be9b7823b1840486f58b6d |
| Cyber-Tiel Coder 套件 | AutomatosX/AX-Cyber-Tiel-Coder-35B-A3B-MLX-AXQ-MXFP4-MTP | fe05e871ec69ad9ae8eac01fd285555514ac7daf |
- AX Code 原始碼:
205cb556b;選取使用mlx與發行者的 MXFP4 權重。 - 主機:Apple M3 Max,記憶體 137,438,953,472 位元組;macOS 27.0,組建
26A428。 - AX Engine:
51137c71a6794964d52c32c95e275c0923ed8d0b的發行設定檔組建,MLX 0.32.2。伺服器 SHA-256:1fbe7fc50ea16448f98350616273214c0475bffb3ef509fceb3f8849163e97f5。 - MTPLX:2.11.3,MLX 0.32.2,Python 3.12 環境。
- 兩個執行環境都讀取各模型同一份共用的 Hugging Face 快照。模型下載、權重載入與伺服器啟動不計入階段計時。
這些套件是開發中的重新量化。這些測試不認證模型品質、數值對等、長情境行為、其他硬體,或未來發行版本的效能。它們不取代歷史的Qwen3.8 真實用戶端矩陣;該矩陣使用不同模型,並量測不同的邊界。
量測方法
提示要求一個通用的 TypeScript LRU 快取與測試,前面加上 8 或 96 個合成的 TypeScript 函式。訊息存放在 JSON 回執中。每個模型的釘選 tokenizer 以 enable_thinking=false 與 add_generation_prompt=true 呈現其官方聊天範本。產生的整數 token 原樣送到兩個後端。AX Engine 的 /tokenize 輸出也對照那些 ID 檢查。Cyber-Tiel 的範本加入身分文字,因而多出額外的 25 個 token;在每個模型內,跨後端的輸入相符。
請求使用 temperature 0.55、top-p 1、top-k 0、seed 0,以及 256 個 token 的上限。每個後端在受測試驗前都會收到明確的 64 個 token 暖機。MTPLX 也會執行其平常的啟動/背景暖機。暖機不算一次試驗。執行順序為 MTPLX/Tiel、AX Engine/Tiel、MTPLX/Cyber-Tiel、AX Engine/Cyber-Tiel。同一時間只有一個推論後端在作用;編譯在受測試驗開始前完成。這個小型固定順序樣本不是耐久測試,也不是平衡熱效應的研究。
AX Engine 使用原生 /v1/generate,並帶上 input_tokens 與 max_output_tokens。MTPLX 使用串流的 /v1/completions,並帶上整數陣列 prompt,其後為 /metrics。這樣可避免兩台伺服器在用戶端提示組裝與聊天範本呈現上的差異。受限的輸出是吞吐量工作負載,不是完整程式碼的正確性測試。
| 量測 | AX Engine | MTPLX |
|---|---|---|
| 預填時間 | ax_mlx_prefill_wall_us / 1e6 |
prompt_eval_time_s |
| 預填速率 | 未快取的輸入 token/預填時間 | prefill_compute_tok_s,對照 new_prefill_tokens / prompt_eval_time_s 稽核 |
| 解碼時間 | ax_mlx_decode_wall_us / 1e6 |
decode_elapsed_s |
| 解碼速率 | (output_tokens - 1) / decode duration;第一個輸出屬於預填 |
decode_tok_s,對照 completion_tokens / decode_elapsed_s 稽核 |
| 快取證據 | 前綴快取以此停用:AX_MLX_PREFIX_CACHE_MAX_ENTRIES=0;重用 token 為零 |
SSD 工作階段快取關閉;每次完成的快取 token 為零 |
| MTP 證據 | 必要原則、作用中的模型起草器、正數的接受 token、回報的直接後備步驟為零 | generation_mode=mtp,深度 3,正數的起草與接受計數器 |
原生解碼計數器的第一個 token 邊界略有不同;它們以實際公式回報,而不是重新標成相同的計時器。兩種速率都不是把輸出除以整個 HTTP 請求時間。MTPLX 的原生 TTFT 保留在 JSON 中;AX Engine 的非串流探測不量測傳輸 TTFT。
執行環境設定
AX Engine 使用通用的 agentic 推測設定檔、32,768 個 token 的情境、8,192 個 token 的宣告輸出預算、排程器寬度 2,048,以及一個並行請求。沒有套用 Qwen3.8 專用的稠密 AX Code 環境覆寫。其獲准的 MTP 深度為 3;引擎平常的起草閘門保持作用。
對等的啟動引數如下,SNAPSHOT 設為適當的釘選快照,MODEL 設為其 AX Code 別名:
AX_MLX_PREFIX_CACHE_MAX_ENTRIES=0 /path/to/fixed/ax-engine-server \
--host 127.0.0.1 --port 18439 --model-id "$MODEL" \
--mlx --mlx-model-artifacts-dir "$SNAPSHOT" \
--mlx-mtp-policy required --speculation-profile agentic \
--mlx-mtp-disable-ngram-stacking --max-concurrent-requests 1 \
--max-batch-tokens 2048 --max-output-tokens 8192 \
--block-size-tokens 16 --total-blocks 2048
mtplx serve --model "$SNAPSHOT" --model-id "$MODEL" \
--host 127.0.0.1 --port 18442 --no-auth --agent-rewrites off \
--max-tokens 8192 --context-window 32768 --reasoning off \
--no-stats-footer --ssd-session-cache off --warmup-tokens 64 \
--strict-warmup --fan-mode default --generation-mode mtp --load-mtp --depth 3
MTPLX 使用空白的隔離設定。AX Engine 模型資訊清單以其釘選、僅限本機的下載器準備;發行者的模型權重與 MTP 張量予以保留。兩種設定都沒有為了取得結果而停用 MTP。
AX Code 工具接受
另一次 AX Code 原始碼執行要求每個模型以讀取工具讀取 probe.txt,並只回傳其內容。狀態與設定均已隔離。AX Engine 使用明確的迴路附加,連到受測的原始碼伺服器。這些執行不計入原生階段表。
| 模型 | 執行環境 | 完成讀取 | 最終回答中的正確標記 | 僅輸出的精確格式 |
|---|---|---|---|---|
| Tiel | AX Engine 原始碼 | 是 | 是 | 否;另加說明文字與程式碼區塊 |
| Tiel | MTPLX | 是 | 是 | 是 |
| Cyber-Tiel | AX Engine 原始碼 | 是 | 是 | 否;另加說明文字與程式碼區塊 |
| Cyber-Tiel | MTPLX | 是 | 是 | 是 |
四個用戶端處理程序都成功結束,並完成一次真實的讀取呼叫。兩次 AX Engine 執行未通過較嚴格的輸出格式要求,因此這不是全數通過的行為或程式品質認證。它們的提示、工具承載、預設取樣與聊天處理屬於用戶端/執行環境路徑,不同於 token 相符的階段基準。這些測試沒有調整雲端、CLI、私有 GPU 或 AX Trust 的行為。
另一次受管理的 providers ax-engine start 叫用省略了模型引數,並選取釘選修訂上的 tiel-coder-35b-axq-mxfp4,方式為 mlx。其即時狀態回報了工具支援、required/required MTP 原則、作用中的 MTP、27 個起草 token 與 23 個接受 token。受管理的伺服器隨後成功停止。這次使用隔離的 AX Code 狀態與既有輔助程式的 AX_ENGINE_SERVER=/absolute/path/to/fixed/ax-engine-server 覆寫;使用者已安裝的二進位檔與供應商設定未被替換。以含有載入器修正的組建啟動 pnpm run dev 時,可以設定相同的覆寫。
目錄變更通過 11,374 個決定性測試,略過 17 個,另加 208 個 SDK 測試、259 個指令碼測試(略過 94 個)、遞迴型別檢查、儲存庫結構檢查與 TUI 檢查。使用新的預設之前,請見模型選取與執行環境需求。