diff --git a/docs/portfolio/inferedge_portfolio_submission.md b/docs/portfolio/inferedge_portfolio_submission.md index d29c5f8..ea7b4ac 100644 --- a/docs/portfolio/inferedge_portfolio_submission.md +++ b/docs/portfolio/inferedge_portfolio_submission.md @@ -137,15 +137,15 @@ Recent validation evidence: - GitHub Actions: Lab Benchmarks success, Runtime CI success - Lab PR #171 기준 1-page architecture summary 문서화 완료 - Lab -> Runtime manual smoke using `yolov8n.onnx`: `/api/analyze` created job `job_9e2321179256`, Lab invoked the C++ Runtime CLI through the dev-only subprocess path, ONNX Runtime executed the model successfully, and the latency/provenance JSON was ingested back into the Lab job result. The smoke reported ONNX Runtime backend available, benchmark status success, mean latency about 47.97 ms, p50 about 46.95 ms, p95/p99 about 51.80 ms, and about 20.85 FPS. -- Jetson TensorRT Runtime smoke: on Jetson Orin Nano (`Linux 5.15.148-tegra`, `aarch64`), the C++ Runtime CLI in `~/InferEdge-Runtime` executed Forge manifest `/home/risenano01/InferEdgeForge/builds/yolov8n__jetson__tensorrt__jetson_fp16/manifest.json` and TensorRT engine artifact `/home/risenano01/InferEdgeForge/builds/yolov8n__jetson__tensorrt__jetson_fp16/model.engine`. The current Jetson Evidence Track records TensorRT FP16 25W at mean `10.066401 ms`, p95 `15.476641 ms`, p99 `15.548438 ms`, FPS `99.340373`, and TensorRT FP16 15W at mean `10.799106 ms`, p95 `15.438690 ms`, p99 `15.529218 ms`, FPS `92.600262`. +- Jetson TensorRT Runtime smoke: on Jetson Orin Nano (`Linux 5.15.148-tegra`, `aarch64`), the C++ Runtime CLI in `~/InferEdge-Runtime` executed the Forge manifest and TensorRT engine artifact from the YOLOv8n Jetson TensorRT FP16 build. The current Jetson Evidence Track records TensorRT FP16 25W at mean `10.066401 ms`, p95 `15.476641 ms`, p99 `15.548438 ms`, FPS `99.340373`, and TensorRT FP16 15W at mean `10.799106 ms`, p95 `15.438690 ms`, p99 `15.529218 ms`, FPS `92.600262`. - Runtime report snapshot: [Jetson evidence summary](https://github.com/gwonxhj/InferEdge-Runtime/blob/main/docs/reports/jetson_evidence_summary.md) - Runtime report snapshot: [Jetson power-mode comparison](https://github.com/gwonxhj/InferEdge-Runtime/blob/main/docs/reports/jetson_power_mode_comparison.md) -- Runtime compare-key identity polish: InferEdgeRuntime now preserves Forge manifest source model identity for compare naming. If `manifest.source_model.path` is `models/onnx/yolov8n.onnx` and the explicit TensorRT artifact path is `model.engine`, Runtime can keep `compare_model_name=yolov8n` and `compare_key=yolov8n__b1__h640w640__fp32`. +- Runtime compare-key identity polish: InferEdgeRuntime now preserves Forge manifest source model identity for compare naming. A TensorRT engine path can keep the YOLOv8n `compare_model_name` and stable `compare_key` instead of degrading to a generic artifact name. - Guided demo entrypoint: `scripts/demo_pipeline_full.sh` summarizes the full Forge -> Runtime -> Lab -> optional AIGuard flow and can print the Jetson TensorRT Runtime command without claiming production worker or SaaS readiness. - Local Studio demo evidence: `/studio` can load bundled ONNX Runtime CPU and TensorRT Jetson Runtime result fixtures from `examples/studio_demo`, keep the demo pair selectable in Recent jobs while the local server process is alive, and show TensorRT Jetson vs ONNX Runtime CPU comparison in the browser. The fixture-backed evidence records ONNX Runtime CPU FP32 at mean `45.4299 ms` / p99 `49.2128 ms` / `22.0119 FPS` and TensorRT Jetson FP16 25W at mean `10.066401 ms` / p99 `15.548438 ms` / `99.340373 FPS`, about a `4.51x` TensorRT speedup for this demo pair. - YOLOv8 COCO subset evaluation: a 10-image local person-detection subset with 89 ground-truth boxes is converted into a COCO-style annotation fixture and evaluated through the `yolov8_coco` preset. The generated report records metric backend `simplified`, mAP@50 0.1410, precision 0.2941, recall 0.1685, and structural validation passed. This is documented as subset workflow evidence, not a full COCO benchmark claim. `pycocotools` remains an optional explicit backend. - Validation problem cases: the demo bundle includes annotation-missing, invalid detection structure, contract shape mismatch, and latency regression reports. These show that InferEdge records review/block evidence explicitly instead of presenting every validation path as successful. -- Runtime Intelligence smoke chain: the committed bundle manifest and report gates verify Orchestrator `edgeenv_runtime_telemetry_feed` / `operation_risk_rollup`, EdgeEnv `runtime_telemetry_context.history.telemetry_coverage`, AIGuard deterministic runtime operation evidence, and Lab Runtime Intelligence Risk Summary ownership. This is a local-first artifact chain, not production observability or a runtime control plane. +- Runtime Intelligence smoke chain: the committed bundle manifest and report gates verify the Orchestrator telemetry feed, operation risk rollup, EdgeEnv producer-owned telemetry coverage, AIGuard deterministic runtime operation evidence, and Lab Runtime Intelligence Risk Summary ownership. This is a local-first artifact chain, not production observability or a runtime control plane. - Jetson EdgeEnv preservation smoke: the InferEdge entrypoint replayed a 32-frame `device_local_starter` path on Jetson with a user-provided `yolov8n.onnx`, live `tegrastats`, process resource snapshot capture, and `--edgeenv-run-evidence`. The run reached max queue depth `6`, recorded dropped/fallback `29 / 29`, deadline misses `18`, parsed `4` `tegrastats` samples, observed max temperature / RAM `42.843 C / 999 MB`, stored EdgeEnv run `run-20260529-034704-fbf753f0` with `runtime_operation_summary`, and produced AIGuard `blocked/high` plus Lab `blocked` deployment risk evidence. This is device-local starter smoke, not decoded YOLO accuracy, live camera, production remote execution, or thermal endurance validation. The direct Runtime execution result includes `deployment_decision`. Its `unknown` value is expected before Lab compare/report because the worker response has not yet been compared by Lab. @@ -202,7 +202,7 @@ Next practical step: - "제가 만든 것은 단순 벤치마크 스크립트가 아니라, edge deployment artifact의 출처와 실행 결과를 연결해 배포 가능 여부까지 판단하는 검증 파이프라인입니다." - "Forge, Runtime, Lab, AIGuard를 각각 build/provenance, C++ execution/result export, analysis/API/decision, rule/evidence diagnosis layer로 나눴습니다." - "macOS ONNX Runtime CPU smoke와 Jetson Orin Nano TensorRT smoke를 모두 확보했고, Jetson에서는 Forge manifest + TensorRT `model.engine` + C++ Runtime CLI 실행으로 FP16 25W mean 10.066401 ms, p99 15.548438 ms, FPS 99.340373 evidence와 15W power-mode evidence를 확보했습니다." -- "Runtime source identity polish 이후에는 manifest-backed TensorRT engine artifact도 `compare_model_name=yolov8n`, `compare_key=yolov8n__b1__h640w640__fp32`를 유지할 수 있습니다." +- "Runtime source identity polish 이후에는 manifest-backed TensorRT engine artifact도 YOLOv8n compare identity를 유지할 수 있습니다." - "AIGuard는 LLM 추측이 아니라 artifact hash, source hash, precision, shape 같은 evidence를 비교하는 deterministic detector 구조입니다." - "아직 production worker, DB/Redis/queue, production frontend, auth/billing은 계획 단계로 명확히 구분했고, 먼저 contract와 smoke coverage를 안정화했습니다." - "이 프로젝트는 AI inference engineer 포트폴리오 관점에서 C++ runtime, Python orchestration, schema contract, provenance validation, SaaS API boundary를 하나의 제품형 pipeline으로 연결한 사례입니다."