프로젝트 소개

edge-llm-bench는 실제 기기에서 실행되는 로컬 LLM 엔진을 위한 중립적이고 재현 가능한 벤치마크 하니스로, 일회성 측정 캠페인이 아닌 지속적으로 실행되도록 설계되었습니다. macOS, iOS, Android 하드웨어를 대상으로 합니다. 포함된 엔진은 LiteRT-LM, llama.cpp, MLX, Apple Core AI, Cactus이며, 모든 버전 핀은 environment.lock.json에 기록됩니다. 대상 기기에는 Mac Studio(M4 Max), iPhone 17 Pro, Pixel 8a, Galaxy S26이 포함됩니다. 모든 결과는 단일 스키마(schema/result.v1.json), 단일 누적 레이어, 단일 리더보드 형식을 공유합니다. 이 저장소는 파이프라인, 모든 원시 캡처 레코드, 기계 판독 가능한 회귀 판정을 제공하지만, 의도적으로 런타임 간 순위는 게시하지 않습니다. 사용자는 build_summary.py와 render_leaderboard.py를 사용하여 제공된 원시 데이터에서 자체 리더보드를 로컬에서 렌더링하며, gitignore된 LEADERBOARD.md를 생성합니다. 핵심 명령에는 release-watch(업스트림 릴리스를 고정 버전과 비교), matrix(벤치마크 구성 셀 파일 실행), regress(엔진 버전을 기준선과 비교)가 포함됩니다. 모델 추가는 셀 파일에서 한 줄로 가능합니다. 모든 실행은 레코드당 스키마 v1 JSON과 원시 콘솔 로그를 results/raw/ 아래에 생성합니다. 파생 CSV는 results/summary/에 있으며, 회귀 판정은 results/regression-reports/ 아래에 JSON으로 유지됩니다. CI는 이를 일관되게 유지합니다. 설정 경로는 플랫폼에 따라 다릅니다. Mac 경로는 Homebrew, 벤더 엔진용 부트스트랩 스크립트, CLI 빌드를 사용합니다. Android 경로는 릴리스 페이지의 사전 빌드 엔진 바이너리를 사용하여 bazel/NDK 빌드를 피합니다. iPhone 경로는 Xcode 서명과 GUI 전용 메모리 권한이 필요하여 가장 무거운 설정입니다. 공정성과 정직성 메커니즘이 핵심 기능입니다. 각 행은 양자화 및 엔진 핀을 포함한 레시피를 기록합니다. 다른 레시피에서 더 빠른 숫자는 다른 배포 프로필을 나타내기 때문입니다. 넓은 시행 분산은 점수 대신 UNRELIABLE로 표시됩니다. 실패한 실행, 충돌, OOM은 이유와 함께 테이블에 남습니다. 세션 간 델타는 세션 앵커를 통해 정규화됩니다. 불일치하는 예산 또는 모드는 점수 계산을 거부합니다. Mac 및 iPhone 캡처는 실행이 뜨겁게 시작되거나 넓은 분산을 보이면 자동으로 격리되고 한 번 재시도됩니다. 커버리지는 측정됨(저장된 캡처 존재), 연결됨(고정 버전에서 빌드되지만 캡처 없음), 또는 n/a(이유 명시)로 추적됩니다. LiteRT-LM은 4개 기기 모두에서 측정됩니다. llama.cpp는 Android 기기에서 측정됩니다. MLX와 Core AI는 Apple 전용입니다. Cactus는 Mac arm이 없으며 Android 지원이 계획되어 있습니다. 공개된 격차에는 Android LiteRT NPU가 Early Access 전용, Android llama.cpp가 공식 CPU 릴리스 바이너리 사용, Android v1에 웜 레짐 및 TTFT 측정 부재가 포함됩니다. 내구성 작업(endurance-chat-30m)은 단일 턴 속도가 아닌 지속적인 동작을 측정합니다. 하나의 엔진 프로세스, 누적 KV 캐시가 있는 하나의 대화, 고정 12-프롬프트 스크립트, 턴당 256토큰의 기본 상한을 사용합니다. 각 턴은 디코드 속도, KV 점유율, 메모리, 열 상태, 퇴화를 기록합니다. 37턴에서 충돌하면 1-36턴이 증거로 보존됩니다. 세션은 디코드 감쇠, 메모리 기울기, 퇴화 시작, 완료의 네 가지 판정을 도출합니다. Mac 및 Android(Galaxy S26) 경로가 있으며, 현재 LiteRT-LM 전용입니다. 저장소에는 2026-08-17 Pixel 8a 및 Mac Studio M4 Max에서 실행된 LiteRT-LM v0.15.0에서 v0.16.0으로의 회귀 실행에서 추출된 시드 기준선이 포함되어 있습니다. 이는 측정 아카이브로 유지되는 apple-silicon-llm-bench에서 분리되었습니다. MIT 라이선스입니다.