참가자 안내
의료영상 모델을 Docker로 제출하면 어떻게 채점되나요?
Orcaton은 참가자 모델에 숨겨진 정답을 내려주지 않습니다. 운영자가 승인한 격리 실행기가 고정된 컨테이너를 불러와 읽기 전용 입력을 제공하고, 결과물 또는 API 응답만 같은 평가기 버전으로 채점하는 계약입니다.
- 1
빌드
linux/amd64 이미지
- 2
검사
공개 샘플로 확인
- 3
게시
승인 레지스트리에 게시
- 4
제출
digest와 출처 제출
- 5
채점
숨겨진 데이터로 격리 채점
먼저 과제의 제출 방식을 확인합니다
결과물 출력
구현됨 · 승인된 실행기에서 개방컨테이너가 /input을 읽고 /output/submission.zip 하나를 만든 뒤 종료합니다. 분할, 검출, 분류, 회귀, 예후, 정합, 재구성, 합성 과제에 적합합니다.
실시간 API 서비스
정적 사전검사만 개방컨테이너가 0.0.0.0:8000에서 실행되고 평가기가 요청을 보내는 선택형 계약입니다. 대화형·순차 추론 과제용이며, 현재는 제출 전 정적 계약검사까지만 열려 있습니다.
과제별 MONAI 예제 이미지
예제들은 하나의 고정 MONAI/Torch 기반 레이어를 공유하지만 과제별로 별도 이미지로 빌드됩니다. 해당 대회의 평가 종류와 같은 이미지를 골라 입력 처리와 출력 파일명부터 확인합니다.
| 과제 | 빌드 인자 | 출력 | 로컬 이미지 |
|---|---|---|---|
| 분할 | segmentation | labels/*.nii.gz | orcaton/monai-example-segmentation:local |
| 분류 | classification | predictions.csv | orcaton/monai-example-classification:local |
| 순서형 등급 | ordinal_grading | predictions.csv | orcaton/monai-example-ordinal_grading:local |
| 검출 | detection | detections.json | orcaton/monai-example-detection:local |
| 회귀 | regression | predictions.csv | orcaton/monai-example-regression:local |
| 예후 | prognosis | predictions.csv | orcaton/monai-example-prognosis:local |
| 정합 | registration | landmarks.csv | orcaton/monai-example-registration:local |
| 재구성 | reconstruction | images/*.nii.gz | orcaton/monai-example-reconstruction:local |
| 합성 | synthesis | images/*.nii.gz | orcaton/monai-example-synthesis:local |
GPU 검증 전에는 로컬 빌드 태그만 안내합니다. 실제 제출에는 검증 후 레지스트리가 반환한 변경 불가능한 @sha256:… 참조만 사용합니다.
1. 결과물 출력 모델 이미지를 만듭니다
저장소의 examples/secure-model-suite는 9개 영상 과제 공통 예제입니다. 실제 과제의 스타터 키트와 출력 구조를 우선합니다.
unzip orcaton-secure-model-suite-v1.zip
cd secure-model-suite
docker build --platform linux/amd64 \
--build-arg TASK=segmentation \
-t ghcr.io/YOUR_ORG/YOUR_MODEL:v1 .ZIP에는 Docker 빌드에 필요한 원본과 파일별 SHA-256 목록이 들어 있습니다. README의 전체 과제 채점 검증 스크립트는 전체 저장소와 worker 의존성이 필요합니다. 예제는 합성 데모 기준선이며 GPU 실행과 임상 성능을 보장하지 않습니다.
태그는 빌드할 때 편의를 위한 이름일 뿐입니다. 최종 제출에는 변경 가능한 :v1 태그가 아니라 @sha256:… digest를 사용합니다.
2. 공개 샘플로 로컬 계약을 검사합니다
mkdir -p sample-input output
docker run --rm --network none --read-only \
--cap-drop ALL --security-opt no-new-privileges \
-v "$PWD/sample-input:/input:ro" \
-v "$PWD/output:/output" \
ghcr.io/YOUR_ORG/YOUR_MODEL:v1
unzip -l output/submission.zip/input은 읽기 전용이고 네트워크는 없습니다. 모델 가중치와 필요한 라이브러리는 이미지 안에 포함해야 하며, 토큰·클라우드 키·환자데이터를 이미지에 넣으면 안 됩니다.
수술영상 분류 경로를 합성 프레임으로 연습합니다
작은 CPU 예제는 실제 수술영상 대신 색으로 구분한 합성 프레임 28개를 읽어 7개 단계의 예측 ZIP을 만듭니다. 분류 제출 계약과 영상 단위 분할을 설명하기 위한 예제이며, 학습된 의료모델이나 로봇 제어 VLA가 아닙니다.
합성 수술 단계 Docker 예제 다운로드·SHA-256
unzip orcaton-surgical-video-phase-demo-v1.zip
cd surgical-video-phase-demo
python3 generate_demo.py --output-dir demo
unzip demo/input.zip -d sample-input
mkdir -p output
chmod 777 output
docker build --platform linux/amd64 -t orcaton-surgical-phase-demo:v1 .
docker run --rm --network none --read-only \
--cap-drop ALL --security-opt no-new-privileges \
-v "$PWD/sample-input:/input:ro" \
-v "$PWD/output:/output" \
orcaton-surgical-phase-demo:v1
unzip -l output/submission.zip쓰기 권한은 예제의 output 폴더에만 부여합니다. 운영자용 demo/ground-truth.zip은 참가자 컨테이너에 연결하지 않습니다. 이 로컬 실행과 웹 제출·채점·리더보드 확인은 별도 검증입니다. 수술영상 과제와 VLA 적용 범위 보기
Code Doctor로 제출 전에 점검합니다
제출 화면의 Code Doctor에 Dockerfile, 의존성 목록과 공개·합성 샘플에서 나온 오류 로그만 붙여 넣을 수 있습니다. 실제 의료데이터, 환자 식별정보, 숨겨진 입력·정답, 예측 결과는 입력하지 않습니다.
- 기본 점검은 Orcaton 서버에서 규칙 기반으로 실행되며 원문을 저장하지 않습니다.
- 운영자가 AI 진단 옵션을 계약·설정한 경우에도 참가자가 매번 동의해야 하며, 로컬 비식별화가 먼저 수행됩니다.
- 비밀정보, DICOM UID 또는 의료 메타데이터 흔적이 발견되면 외부 AI 호출을 차단합니다.
- Code Doctor의 조언은 수정 안내일 뿐입니다. 격리 실행기의 계약·보안 검사와 고정 평가기만 제출 승인과 점수를 결정합니다.
Autoresearch로 실험 근거를 함께 남깁니다
선택형 로컬 연구 보조 스킬은 승인된 데이터 분석, 공개 방법 조사, paired-seed 실험, 하위집단 악화 검사와 최종 보고서 작성을 한 흐름으로 묶습니다. 참가자의 Codex·Claude 자격증명이나 숨은 시험데이터를 Orcaton으로 보내지 않습니다.
Autoresearch 사용법과 완료 기준 보기·Orcaton Autoresearch v1 다운로드·SHA-256
압축을 참가자 프로젝트가 사용하는 로컬 에이전트의 스킬 디렉터리에 풀고 SKILL.md의 단일 CLI 명령을 실행합니다. 이 도구의 결과는 개발 근거이며 공식 점수는 고정된 Orcaton 평가기만 결정합니다. 업로드는 참가자가 산출물과 manifest를 검토한 뒤 별도로 수행합니다.
3. 레지스트리에 올리고 고정 digest를 얻습니다
docker push ghcr.io/YOUR_ORG/YOUR_MODEL:v1
docker inspect --format='{{index .RepoDigests 0}}' \
ghcr.io/YOUR_ORG/YOUR_MODEL:v1
git rev-parse HEAD대회가 허용한 레지스트리만 사용할 수 있습니다. 비공개 이미지라면 참가자가 자격증명을 제출하는 대신 운영자가 별도 읽기 권한을 구성합니다.
4. Orcaton 제출 화면에 입력합니다
- 결과물 출력: OCI digest를 입력하고 사전검사를 통과한 뒤 제출합니다.
- 실시간 API 서비스: digest, HTTPS Git URL, 브랜치, 40자 commit SHA, 선언 모델명을 입력합니다.
- 변경 가능한 태그, 허용되지 않은 레지스트리, 축약 SHA와 불완전한 계약은 제출 슬롯을 쓰기 전에 거절됩니다.
5. 채점기는 무엇을 하나요?
- 제출 digest와 레지스트리 정책을 다시 확인합니다.
- 전용 실행기에서 네트워크·권한·CPU·RAM·PID·시간 제한을 적용합니다.
- 숨겨진 입력은 읽기 전용으로, 출력 공간만 쓰기 가능하게 연결합니다.
- 결과 ZIP 또는 API 응답을 고정 평가기와 숨겨진 정답으로 채점합니다.
- 점수, 평가기 버전과 운영 감사정보를 기록하고 임시 입력·컨테이너를 제거합니다.
실제 의료데이터와 유료 GPU 실행은 사용 권한·비식별화·격리 호스트·보안 리허설 승인이 끝난 대회에서만 엽니다.
Live API 컨테이너의 최소 계약
Dockerfile: 저장소 루트- 추가 실행 인자 없이 부팅
- 수신 주소:
0.0.0.0:8000 GET /v1/modelsPOST /v1/chat/completions- 선언한 모델명과 응답 모델명 일치
바로 실행 가능한 최소 예제는 examples/live-service-openai-compatible에 있으며 의료모델이 아닌 계약 검사용 서버입니다.
Live API Docker 예제 다운로드·SHA-256
unzip orcaton-live-service-openai-compatible-v1.zip
cd live-service-openai-compatible
python3 -m unittest -v
docker build --platform linux/amd64 -t orcaton-contract-example:v1 .