이 페이지는 영어 문서의 번역입니다. 명령, 식별자, 예제는 그대로입니다. 런타임 7.24.4 · SDK 2.6.7. 영어 원문
Tiel Coder 네이티브 프리필과 디코드 측정
상태: 과거의 로컬 스냅샷 최종 검토: 2026-09-21 담당: AX Code 유지관리자 날짜: 2026-09-19 범위: AX Code가 고른 두 Tiel 팩, Apple M3 Max 128 GiB에서 AX Engine 대 MTPLX
순위에서는 대체되었습니다. 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토큰/초에 도달했습니다. MTPLX는 92.13–96.26에 도달했습니다. 프리필은 약 1,190–1,446토큰/초였습니다. 이것은 128 GiB Apple M3 Max에서의 네이티브 추론 단계 측정이지, AX Code나 OpenCode의 종단 간 코딩 처리량이 아닙니다.
빌드 요구 사항: 설치된 Homebrew AX Engine 7.4.0은 Engine(MlxMtpRequiredButUnavailable)로 Tiel 시작에 실패했습니다. 아래 AX Engine 결과는 커밋 51137c71a6794964d52c32c95e275c0923ed8d0b의 최적화된 로컬 빌드를 사용합니다. 그 커밋은 Tiel MTP 네임스페이스 로더 수정을 더합니다. 그 빌드는 여전히 자신을 7.4.0으로 식별합니다. 그 결과가 기존 Homebrew 바이너리나 게시된 릴리스의 지원을 확립하지는 않습니다. MTP는 필수로 남았고, MTP를 끈 폴백 실행은 포함되지 않습니다.
결과
각 값은 세 번 시험의 중앙값입니다. 모든 시험은 정확히 256토큰을 생성했고 캐시된 입력 토큰은 0으로 보고했습니다. 프리필과 디코드 모두 초당 토큰을 사용합니다.
| 모델 | 입력 토큰 | 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 |
디코드 차이는 AX Code 에이전트 루프 이전, 입력을 맞춘 직접 런타임 요청에 있습니다. 따라서 이 로컬 비교는 런타임 수준의 차이를 가리킵니다. 단일 커널이나 정책을 원인으로 지목하지는 않습니다. 이 구성들 사이에서 프리필은 훨씬 가깝습니다. 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 캐시와 테스트를 요청하며, 앞에 합성 TypeScript 함수 8개 또는 96개가 있습니다. 메시지는 JSON 영수증에 저장됩니다. 각 모델의 고정된 토크나이저는 enable_thinking=false과 add_generation_prompt=true로 공식 채팅 템플릿을 렌더링합니다. 그 결과인 정수 토큰은 바꾸지 않고 두 백엔드로 보냅니다. AX Engine의 /tokenize 출력도 그 ID와 맞춰 확인했습니다. Cyber-Tiel 템플릿은 신원 텍스트를 더해 토큰이 25개 더 많습니다. 백엔드 간 입력은 각 모델 안에서 일치합니다.
요청은 temperature 0.55, top-p 1, top-k 0, seed 0, 256토큰 한도를 사용합니다. 각 백엔드는 측정 시험 전에 명시적인 64토큰 예열을 받습니다. 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 |
| 프리필 속도 | 캐시되지 않은 입력 토큰 / 프리필 시간 | 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로 접두사 캐시를 끔. 재사용 토큰 0 |
SSD 세션 캐시 끔. 모든 완료에서 캐시된 토큰 0 |
| MTP 증거 | 필수 정책, 활성 모델 드래프터, 양의 수용 토큰, 보고된 직접 폴백 단계 0 | generation_mode=mtp, 깊이 3, 양의 드래프트와 수용 카운터 |
네이티브 디코드 카운터는 첫 토큰 경계가 약간 다릅니다. 같은 타이머로 다시 이름 붙이지 않고 실제 공식과 함께 보고합니다. 어느 속도도 출력을 전체 HTTP 요청 시간으로 나누지 않습니다. MTPLX의 네이티브 TTFT는 JSON에 남아 있습니다. AX Engine의 비스트리밍 프로브는 전송 TTFT를 측정하지 않습니다.
런타임 구성
AX Engine은 일반 agentic 추측 프로파일, 32,768토큰 컨텍스트, 광고된 출력 예산 8,192토큰, 스케줄러 폭 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 실행 둘은 더 엄격한 출력 형식 요구를 통과하지 못했으므로, 이것은 전부 통과한 행위나 코딩 품질 인증이 아닙니다. 그 프롬프트, 도구 페이로드, 기본 샘플링, 채팅 처리는 클라이언트/런타임 경로이며, 토큰을 맞춘 단계 벤치마크와 다릅니다. 이 시험을 위해 클라우드, CLI, 프라이빗 GPU, AX Trust 동작을 조정하지는 않았습니다.
별도의 관리형 providers ax-engine start 호출은 모델 인수를 생략하고, 고정 리비전에서 tiel-coder-35b-axq-mxfp4을 mlx과 함께 고릅니다. 실시간 상태는 도구 지원, 필수/필수 MTP 정책, 활성 MTP, 드래프트 토큰 27개, 수용 토큰 23개를 보고했습니다. 그다음 관리형 서버는 성공적으로 멈췄습니다. 이것은 격리된 AX Code 상태와 기존 도우미의 AX_ENGINE_SERVER=/absolute/path/to/fixed/ax-engine-server 재정의를 사용했습니다. 사용자가 설치한 바이너리와 공급자 구성은 바꾸지 않았습니다. 로더 수정이 들어 있는 빌드로 pnpm run dev를 시작할 때 같은 재정의를 설정할 수 있습니다.
카탈로그 변경은 결정적 시험 11,374개를 통과했고 17개를 건너뛰었으며, SDK 시험 208개, 스크립트 시험 259개(94개 건너뜀), 재귀 타입 검사, 저장소 구조 검사, TUI 검사가 더해졌습니다. 새 기본값을 쓰기 전에 모델 선택과 런타임 요구 사항을 보십시오.