테마 전환

strata launch가 대화형으로 끝나는 사용자라면 이 편은 건너뛰어도 됩니다. 하지만 여러 장의 카드, 반복 실행, 모니터링이 필요한 운영 환경에서는 launch 아래 계층 — 튜닝, 프로필, 런타임, 검증 — 을 직접 다루게 됩니다. TERMINAL.md는 이 계층의 레퍼런스이고, 여기서는 실무 흐름만 추립니다.
성능을 최적화하는 튜닝 방법
첫 튜닝은 launch의 화면(quick 약 20분/thorough 최대 2시간)이나 --tune quick이 가장 간단합니다. 설치된 엔진을 수동으로 재측정하려면 모든 장치를 쓰는 인스턴스를 세운 뒤 다음 순서를 씁니다.
sh
strata engine calibrate --profile four-gpu --measure --exclusive --out calibration.json
strata engine calibrate --profile four-gpu --review-result calibration.json --output json
strata engine calibrate --profile four-gpu --apply-result calibration.json --exclusive--measure는 디코딩 속도 스윕을 돌려 보고서를 만들고 실행 설정은 건드리지 않습니다. --apply-result는 후보 설정으로 짧은 스모크 생성을 먼저 통과시키고, 이전 설정을 백업한 뒤 보정값을 씁니다. --rollback-result로 되돌릴 수 있고, 엔진을 시작하는 각 동작에는 --exclusive(해당 장치를 쓰던 프로세스를 다 stop했다는 선언)가 필요합니다. 이 튜닝은 단일 요청 디코딩 기준이며 다중 요청 처리량·TTFT를 재지는 않습니다.
상태 조회: status와 monitor
sh
strata status --url http://127.0.0.1:8095 --json # 한 번 조회
strata monitor --url http://127.0.0.1:8095 --once # 스냅샷 한 번
strata monitor --url http://127.0.0.1:8095 # 인터랙티브 TUI(Textual 필요)
strata logs --connection work --source runtime --follow --output jsonl인터랙티브 모니터는 7개 뷰(개요·서빙·요청·엔진·하드웨어·로그·연결)를 제공합니다. strata status가 읽는 서버는 /v1/telemetry와 /metrics이고, 원격 주소는 검증된 HTTPS(또는 로컬 SSH 터널)를 요구합니다. 로그 피드는 프롬프트·답변·키를 포함하지 않는 의사 익명 요청 이벤트의 bounded view이고 감사 로그가 아닙니다(서버가 최근 128개만 보존).
읽을 때 중요한 구분: 요청 슬롯 vs 실효 슬롯(slots_requested vs slots_effective, 엔진이 줄일 수 있음), 엔진이 보고한 "first engine token"은 서버 큐 진입 후 첫 생성 시각이고 클라이언트 관측 TTFT가 아닙니다.
실행 방식 선택: 전경(serve) vs 배경(runtime)
준비된 실행 설정/프로필이 있을 때:
strata serve --profile NAME --port 8095— 전경 실행. Ctrl+C, 터미널 종료, kill이 서버와 엔진을 함께 끝냅니다.--output jsonl은 starting/ready/stopping 이벤트 한 줄씩을,--ready-file은 바인딩된 실제 포트·인스턴스 ID를 파일로 남깁니다.strata runtime start|status|restart|verify|stop --profile NAME— 배경 서비스. 터미널을 닫아도 서빙이 유지되고strata runtime stop까지 계속됩니다.runtime verify --wait 300은 ready 확인 + 1토큰 생성 스모크까지 검증합니다.
비 루프백 바인딩에는 API 키가 필수입니다. 자동 터널·원격 관리는 없습니다. --max-queue/--queue-timeout을 설정하면 초과 요청은 즉시 429(admission_full)이거나 대기 후 429(queue_wait_timeout)로 거절됩니다.
프로필로 재현 가능한 서빙 만들기
sh
strata profile create four-gpu --from-config path/to/strata-model.json
strata profile set four-gpu parallel=8 batch_groups=auto max_queue=32 queue_timeout=15 --plan
strata profile show four-gpu --effective --output json
strata serve --profile four-gpu --plan --output json--plan은 실행 없이 해결된 결과를 보여 주고, profile set의 지원 키는 host, port, parallel, batch_groups, max_queue, queue_timeout, offline, batch_telemetry입니다. 프로필은 리비전으로 저장되며 profile history/profile rollback으로 과거 판에 돌아갑니다. 우선순위: 명시적 CLI 플래그 > 저장된 프로필 오버라이드 > 실행 설정값.
시스템 건강 점검: doctor 명령어
sh
strata doctor --output json # 설치 컴포넌트(엔진·토크나이저·팩·샤드) 파일 점검
strata doctor --profile four-gpu --live # nvidia-smi로 본 카드와 설정 카드 비교(5초 타임아웃)읽기 전용이며 아무것도 고치지 않습니다. 필수 파일이 없으면 종료 코드 5. --live는 카드 이름·UUID·메모리·드라이버를 JSON으로 보고하지만, CUDA/HIP 호환성·PCIe 위상·모델 파일 무결성까지 보증하지는 않습니다. 버그 리포트에 넣기 좋은 출력입니다.
성능 측정과 벤치마크
sh
strata bench run --profile four-gpu # 표준 벤치마크(BENCHMARK_PROTOCOL)
strata bench run --profile four-gpu --suite serving-smoke --concurrency 8 --out ./bench-smoke-01
strata bench report ./bench-smoke-01 --output json
strata bench compare ./bench-baseline ./bench-monitored --output json--suite 없이 도는 표준 벤치마크는 고정 요청·thinking on·모델 카드 샘플링·12개 sanity check로, 남과 비교할 수 있는 결과를 냅니다. serving suite들(parallel-mixed-v1, parallel-overload-v1, cancel suite 등)은 자체 튜닝·비교용이고 --out이 필수입니다. results.json에는 지연, 첫 토큰까지 시간, 출력 토큰 수, 슬롯·카드 샘플이 들고 프롬프트·답변·키는 들지 않습니다. bench compare는 suite·모델·요청 지문·동시성·설정 digest가 다른 쌍을 거부합니다.
업데이트와 롤백
운영 관점에서 기억할 세 가지:
strata update는 새 엔진을 시험 시작 통과 후에만 전환합니다. 실패하면 기존 엔진이 계속 서비스합니다.strata components rollback은 직전 엔진(한 세대, 약 210MiB)으로 돌아갑니다. 소스 체크아웃은engine\.previous와python setup.py --rollback-engine로 별도 절차입니다.- 앱·Control·엔진 버전은 독립적입니다.
strata update직후strata --version이 옛날 것 같으면 다음 명령에서 반영되거나 Installer를 다시 돌립니다.
원격 연결과 텔레메트리 키
다른 기기에서 읽기 전용으로 모니터링하려면 키를 분리합니다.
sh
# 서버 측: strata runtime 설정에 STRATA_TELEMETRY_KEY
strata connection create work --url https://inference.example --prefix /strata \
--credential-env STRATA_TELEMETRY_KEY
strata status --connection work --json
strata monitor --connection work- 텔레메트리 키는
/v1/telemetry만 허용하고 inference·관리 엔드포인트를 막습니다. 추론 키와 같은 값을 쓰면 서버가 거부합니다. - 저장된 connection은 인증 정보의 이름만 저장하고 값 자체는 저장하지 않습니다. 원격 루트는 HTTPS 필수, 리다이렉트 거부, 응답 2MiB 제한.
- 원격 배포물도 있습니다:
python packaging/monitor_bundle.py build dist/strata-monitor.pyz로 만드는 portable monitor bundle은 다른 컴퓨터에서status/monitor --once/logs를 한 줄로 실행하게 해 줍니다(인터랙티브 모드는 Textual 필요).
이 명령들은 대체로 고급 경로입니다. 일반 사용자는 launch + 모니터로 충분하고, 운영자가 필요할 때 이 계층을 꺼내 씁니다. 다음 편은 가장 흔한 고장들을 다룹니다.