항만 AI 평가 서버 오류를 잡으려고 test 행을 로그에 찍으면 그 출력 자체가 규칙 위반이 됩니다 | DAKER 커뮤니티

항만 문제해결을 위한 AI 기술 공모전에서 제출이 실행 오류로 끝나면, 평가 서버 안에서 무슨 일이 있었는지 보고 싶어집니다. 그렇다고 추론 코드에 평가 데이터의 행을 출력하는 줄을 넣으면 그 출력 자체가 규칙 위반이 됩니다. 오류 원인은 서버 밖에서, 서버와 같은 조건을 만든 로컬 환경에서 찾는 것이 안전합니다. 작성 기준일 10월 18일 아침 DACON 대회 페이지에는 참가 761명, 종료까지 D-15가 표시돼 있었습니다.

평가 데이터를 출력하던 줄을 지우고 서버와 같은 조건의 로컬 폴더에서 오류를 재현하는 참가자를 그린 항만 AI 공모전 설명용 고화질 일러스트 모션 미리보기
설명을 돕기 위해 만든 생성 이미지입니다.
평가 데이터를 출력하던 줄을 지우고 서버와 같은 조건의 로컬 폴더에서 오류를 재현하는 참가자를 그린 항만 AI 공모전 설명용 고화질 일러스트
설명을 돕기 위해 만든 생성 이미지입니다.

로그에 무엇을 남기면 안 되나요?

규칙 탭은 비공개 평가 데이터와 정답을 로그나 제출 파일에 기록하거나, 외부로 전송·유출하는 행위를 금지합니다. 코드 제출 기능을 악용해 평가 데이터셋을 의도적으로 빼내는 행위는 실격 사유로 적혀 있습니다. 디버깅 목적이었다는 설명이 이 규칙을 대신해 주지는 않습니다.

그래서 로그에는 데이터의 내용이 아니라 실행의 모양만 남깁니다. 몇 행을 읽었는지, 어느 단계에서 몇 초가 걸렸는지, 어떤 종류의 예외가 났는지 정도면 원인을 좁히기에 충분합니다.

평가 서버의 로그에는 숫자와 단계 이름만 남기고, 행의 내용은 남기지 않습니다.

오류 원인은 어디서 찾을까요?

평가 서버 사양은 공개돼 있습니다. 운영체제는 Ubuntu 22.04.5 LTS, GPU는 NVIDIA L4(VRAM 22.4GiB), CPU 6 vCPU와 RAM 26GB, Python 3.11.17과 CUDA 12.8입니다. 패키지 설치는 최대 10분, 추론 코드 실행은 데이터 로딩부터 결과 저장까지 최대 20분이고, 패키지 설치 뒤 추론 단계에서는 인터넷 접속이 꺼집니다. 이 조건을 로컬에서 그대로 흉내 내면 서버에서만 나던 오류 대부분을 다시 볼 수 있습니다.

  1. 실패한 제출이 설치 오류인지 실행 오류인지 먼저 가릅니다. 압축 구조 불일치와 패키지 설치 오류는 하루 제출 횟수에 들어가지 않지만, 추론 코드 실행 뒤의 오류는 들어갑니다.
  2. 학습 데이터 일부를 잘라 평가 파일과 같은 열 구성의 검증용 파일을 만들고, 읽기 전용 data 폴더와 빈 output 폴더를 갖춘 로컬 폴더에 넣습니다.
  3. Python 3.11 환경에서 네트워크를 끈 채 같은 압축 파일을 풀어 실행하고, 시간 제한을 걸어 봅니다.
  4. 오류가 재현되면 원인 가설을 하나만 세우고, 그 가설을 확인하는 가장 작은 수정만 넣어 다시 돌립니다.
  5. 로컬에서 통과한 뒤에만 다음 제출을 씁니다.

하루 최대 제출 횟수는 3회입니다. 원인을 모르는 채 고친 파일을 연달아 올리면 하루 기회가 금방 사라지고, 서버 시점에 따라 추론 속도도 조금씩 달라질 수 있어 결과를 비교하기도 어렵습니다.

제출 전 확인 목록

일정도 함께 봅니다. 팀 병합은 10월 26일 오전 10시, 리더보드 제출은 11월 1일 오전 10시에 마감되고 대회는 11월 2일 오전 10시에 끝납니다. 이어지는 코드 검증에서는 운영진이 재현성과 실행 규격, 데이터 사용 규칙을 확인합니다.

출처

규칙, 평가 서버 사양, 오류 구분, 일정은 DACON 대회 페이지의 규칙·평가·일정 탭에서 2026년 10월 18일 아침에 확인했습니다. 참가자 수와 D-day는 같은 시각 기준입니다.

서버에서만 나는 오류를 어떻게 재현하고 계신가요? 써 본 방법이 있다면 댓글로 알려 주세요.