AI Competition for Monitoring Legal Violations in KONEPS Self-Procurement Bid Announcements

Algorithm | Code Submission Evaluation | Natural Language Processing | Legal Violation Monitoring

  • moneyIcon 42,000,000 KRW
  • 1,177 Users Completed
Closed

1. 리더보드 산식

  • 평가 산식 : Macro F1 — 24개 검토 항목 각각에 대해 위반(=1) 클래스의 F1 Score를 계산하고, 24개 항목의 F1을 단순 평균합니다. 24개 항목 전부가 채점 대상입니다. 평가 데이터는 24개 항목 모두에 위반(=1) 사례를 포함하므로, 특정 항목의 F1이 정의되지 않는 경우는 발생하지 않습니다.
  • 위반 여부 열(v1~v24)만 리더보드 점수에 반영됩니다. 근거 문구 열(e1~e24)은 리더보드에 반영되지 않으며, 제출 원본이 보존되어 2차 평가(정성평가) 재료로 사용됩니다.
  • Public Score : 전체 테스트 데이터(1,853건) 100%
  • Private Score : 대회 종료 시점의 Public Score


2. 평가 기준

  • 1차 평가 : Private Score 기준 상위 15팀을 2차 평가 진출팀으로 선정
  • 2차 평가 : 진출팀에 대해 아래 항목을 검증·평가하고, 정량 평가(1차 평가 점수, 80%)와 정성 평가(근거 문구, 20%)를 종합하여 최종 수상팀을 선정
  • 2차 평가 항목

1) 재현 검증 : 대회에서 제공한 자료와 제출 자료만으로 리더보드 점수가 재현되는지 검증합니다. 재현이 불가능한 경우 수상이 취소될 수 있습니다.

2) 근거 문구 정성평가 : 정답이 위반(1)인 항목의 근거 문구(e1~e24)를 대상으로 정성평가를 진행합니다.

  • 제공 원문의 부분문자열이 아닌 근거 문구(요약·수정·생성된 문구)는 자동 검증 단계에서 무효 처리됩니다. 대조 대상은 해당 공고에 제공된 본문 텍스트(공고문·첨부 문서)이며, 나라장터 등록 정보(메타데이터) 필드값은 대조 대상이 아닙니다.
  • 근거 문구는 정답 근거와 일치하는 정도로 평가하므로, 위반에 해당하는 부분만 인용하는 것이 유리합니다.
  • 부재탐지형 5개 항목(10·11·16·18·20번)은 "있어야 할 기재가 없는 것"이 위반이어서 인용할 원문이 존재하지 않으므로 정성평가 대상에서 제외됩니다.

3) 규칙 준수 검증 : 대회 규칙 및 제출 요건(공고당 고정 모델 정상 호출 등, 규칙 탭 참조)의 준수 여부를 검증합니다.

※ 2차 평가의 진행 절차와 자료 제출 방법은 2차 평가 진출팀에 별도 안내됩니다.


3. 코드 제출 대회 가이드

본 대회는 submit.zip 파일을 제출하는 방식의 '코드 제출 대회'로 진행됩니다.


⏳ 채점 대기시간 안내

본 대회는 제출하신 코드를 평가 서버에서 직접 실행하여 채점합니다. 과제 특성상 추론 실행에 긴 시간이 소요되며(실행 제한시간 2시간), 제출이 몰리는 시간대에는 채점 대기열이 발생하여 결과 확인까지 수 시간이 소요될 수 있습니다.

  • 제출 후 점수가 바로 표시되지 않는 것은 정상이며, 오류가 아닙니다. 채점이 완료되면 리더보드에 점수가 반영됩니다.
  • 대기열 상황에 따라 채점 소요 시간은 달라질 수 있습니다.
  • 마감 직전에는 제출이 몰려 채점이 지연될 수 있으니, 여유를 두고 미리 제출하시기를 권장드립니다.



📁 제출 파일 구조 (submit.zip)

참가자는 아래와 같은 구조로 submit.zip을 구성하여 제출해야 합니다.

submit.zip(예시)
├── script.py # 필수 — 평가 서버에서 자동 실행되는 추론 코드
├── requirements.txt # 선택 — 추가 설치가 필요한 패키지 명시
└── model/ # 선택 — RAG 인덱스·설정 파일 등 정적 자산 (학습된 모델 가중치 포함 불가)
  • script.py는 submit.zip 제출 시 평가 서버에서 자동으로 실행됩니다.
  • 제출 시 평가 서버가 script.py 파일 유효성 검사와 폴더 구조 정규화를 수행합니다. zip 최상위에 폴더가 한 겹 감싸진 경우 등 단순한 구조 차이는 정규화 과정에서 보정될 수 있으나, 가급적 위 구조 그대로 압축해 주세요. script.py가 확인되지 않는 제출물은 설치 오류로 처리됩니다.
  • requirements.txt와 model/ 폴더는 별도의 유효성 검사를 하지 않습니다 — 그 내용에 오류가 있으면 설치 또는 실행 단계에서 오류로 나타납니다.
  • requirements.txt를 포함하는 경우 pip install -r requirements.txt 명령어로 설치 가능한 형태여야 하며, 추론 시 추가로 필요한 패키지를 명시해야 합니다.


🚫 모델은 제출하지 않습니다

고정 LLM과 보조 임베딩 모델은 평가 서버에 미리 준비되어 있으며, script.py가 환경변수 경로(PPS_MODEL_DIR·PPS_EMBED_DIR)로 로드합니다. 제출물은 추론 코드만으로 구성하세요 — 학습된 모델 가중치를 zip에 포함하는 것은 허용되지 않으며, 용량 제한(2GB) 초과의 원인이 됩니다. model/ 폴더는 RAG 인덱스 등 정적 자산 전용입니다.


⚙️ 평가 서버에서 추가되는 항목

제출 시, 평가 서버에서 참가자가 제출한 submit.zip 파일에는 아래 항목이 자동으로 추가됩니다.

submit.zip(예시)
├── script.py # 참가자 구성
├── requirements.txt # 참가자 구성 (선택)
├── model/ # 참가자 구성 (선택)
├── data/ # 평가 데이터 (자동 마운트 · 읽기 전용)
└── output/submission.csv # 참가자 추론 결과가 저장되는 경로 (디렉토리 자동 생성)
  • data/ 디렉토리는 데이터 탭에서 배포되는 data/ 폴더와 동일한 구성이며, test.jsonl.gz만 실제 평가 데이터(무라벨)로 교체됩니다 → test.jsonl.gz만 실제 평가 데이터(무라벨 1,853건)로 교체됩니다. 읽기 전용으로 쓰기 및 수정이 불가능합니다.
  • output/ 디렉토리에는 script.py 실행 결과가 반드시 submission.csv 파일명으로 저장되어야 합니다 — 49열(id, v1~v24, e1~e24), 행 수 = 입력 건수, UTF-8(BOM 없음).


아래 조건을 만족하지 않으면 채점 단계에서 제출 오류로 처리됩니다.

  • 위반 여부 열(v1~v24)의 값은 0 또는 1만 허용됩니다. 확률값(예: 0.73)이나 True/False·Y/N 같은 표기는 허용되지 않습니다.
  • 위반 여부 열에 빈 값이 있거나 id가 중복되면 안 됩니다.
  • 평가 데이터의 id가 하나라도 누락되면 안 됩니다.
  • 근거 문구 열(e1~e24)은 리더보드 채점에 사용하지 않습니다. 위반이 아니거나 인용할 근거가 없는 항목(부재탐지형 10·11·16·18·20번 포함)은 빈 값으로 두시면 됩니다. 다만 2차 평가에 사용되므로 e1~e24 열 자체는 포함하여 49열로 저장해야 합니다.


🧭 경로 계약 (환경변수)

평가 서버는 아래 환경변수로 경로를 제공하며, script.py는 반드시 환경변수로 경로에 접근해야 합니다(절대 경로 하드코딩 금지).

환경변수내용PPS_DATA_DIR평가 데이터 디렉토리 (읽기 전용)PPS_OUTPUT_DIR결과 저장 디렉토리 (submission.csv 저장 위치)PPS_MODEL_DIR고정 LLM 가중치 경로 (읽기 전용)PPS_EMBED_DIR보조 임베딩 모델 가중치 경로 (읽기 전용)


💾 제출 제한

  • 1일 최대 제출 횟수 : 1회
  • 제출 파일(zip) 용량 제한 : 2GB (압축 해제 후 8GB)


⏱️ 실행 시간 제한

  • 패키지 설치 시간 : 10분 (시간 초과 시 설치 오류)
  • 추론 코드 실행 시간 : 2시간 (시간 초과 시 제출 오류) — script.py 실행 시작부터 종료까지의 전체 시간이며, 모델 로드와 초기화에 걸리는 시간이 포함됩니다.


⚙️ 평가 서버 사양

  • 인스턴스 : NVIDIA L40S GPU ×1 (컨테이너 가용 VRAM 약 44.7GiB) · 7 vCPU · RAM 60GiB (제출당 독립 컨테이너 1개)
  • 베이스 이미지 : vllm/vllm-openai:v0.26.0 (digest 고정 — Ubuntu 22.04 · Python 3.12.13 · CUDA 13.0)
  • 호스트 드라이버 : NVIDIA 580 이상 (CUDA 13.0)
  • 인터넷 접속 : ❌ 비활성화 (패키지 설치 단계만 허용, script.py 실행 중 외부 서버 연결 및 다운로드 불가)


🤖 고정 모델

  • 고정 LLM : google/gemma-4-26B-A4B-it (리비전 4d7ae4984b7db7de8f8457170b3f1a419ee76d52) — PPS_MODEL_DIR 경로에 제공
  • 보조 임베딩 모델 : BAAI/bge-m3 (리비전 5617a9f61b028005a4858fdac845db406aefb181) — PPS_EMBED_DIR 경로에 제공
  • script.py가 vLLM offline API(from vllm import LLM)로 고정 모델을 직접 로드하여 추론합니다. 베이스라인 코드가 이 구조를 담고 있습니다.
  • 고정 LLM의 bf16 원본은 서버 GPU에 적재되지 않으므로 양자화 로드가 필요합니다. 모델 컨텍스트 상한은 max_model_len 32,768이며, 베이스라인은 quantization="int8_per_channel_weight_only" · max_model_len 16,384(실행시간 단축)로 로드합니다.
  • 고정 LLM이 GPU 메모리 대부분을 사용하므로 두 모델의 GPU 동시 로드는 보장되지 않습니다. 임베딩 모델의 CPU 사용·로드 순서 등은 참가자가 설계합니다.
  • 런타임에 Hugging Face 모델 ID로 다운로드를 시도하면 실패합니다 — 반드시 PPS_MODEL_DIR·PPS_EMBED_DIR 로컬 경로를 사용하세요. 모델을 zip에 담아 제출할 필요도, 실행 중 내려받을 방법도 없습니다.


💾 평가 서버 기본 설치 패키지(라이브러리) 목록

아래의 패키지(라이브러리)는 평가 서버에 기본적으로 설치되어 있으며, 가급적 기본 설치된 패키지를 활용하고 제출하는 requirements.txt에는 포함하지 않는 것을 권장드립니다.

라이브러리 설치 에러가 발생하면 설치 오류에 해당하며, 일일 제출 횟수에는 반영되지 않습니다.


1) 주요 설치 패키지(라이브러리)

# 베이스 이미지에 동봉된 패키지
vllm==0.26.0
torch==2.11.0+cu130
transformers==5.14.1
xgrammar==0.2.3
jsonschema==4.26.0
tokenizers==0.22.2
safetensors==0.8.0
openai==2.48.0
pydantic==2.13.4
numpy==2.2.6
requests==2.34.2
tqdm==4.69.1
pyyaml==6.0.3
regex==2026.7.19
sentencepiece==0.2.2

# 추가로 설치된 패키지
pandas==2.2.3
scikit-learn==1.6.1
rank-bm25==0.2.2
sentence-transformers==5.3.0
kiwipiepy==0.21.0
orjson==3.10.18
  • ⚠️ vllm · torch · transformers · xgrammar 4종은 서버 고정(constraints)으로, requirements.txt로 다른 버전을 설치할 수 없습니다.


2) 주요 설치 시스템 패키지

git
build-essential
unzip
p7zip-full
tzdata
libgl1
libglib2.0-0
ca-certificates
procps


📌 유의사항

  • 제출 시 발생하는 오류의 종류는 두 가지로 정의되며, 일일 제출 횟수 반영에 대한 기준이 다르므로 반드시 숙지하여 진행해야 합니다.
  • 1) 설치 오류 : 제출하는 submit.zip 내부 구조가 불일치한 경우, 패키지 설치 오류 → 일일 제출 횟수 반영되지 않음
  • 2) 제출 오류 : script.py 코드 실행 후 발생하는 모든 오류 → 일일 제출 횟수 반영됨
  • script.py의 실행 코드는 반드시 if __name__ == "__main__": 아래에 두어야 합니다. vLLM이 하위 프로세스를 spawn 방식으로 생성하므로, 모듈 최상위에서 LLM(...)을 생성하면 즉시 실패합니다(베이스라인 script.py가 올바른 구조의 예시입니다).
  • 모델 출력을 JSON으로 안정적으로 받으려면 제약 디코딩(structured outputs) 사용을 권장합니다. 제출 형식에 맞는 JSON 스키마가 data/정답스키마_디코딩.json으로 제공되며, 베이스라인 코드에 사용 예가 있습니다.
  • 로컬 개발 환경(GPU·런타임·정밀도)은 자유입니다. 위 평가 서버 명세는 서버 동작 재현을 위한 정보이며, 로컬 개발 환경에 대한 요구사항이 아닙니다.
  • 추론 결과의 재현성은 동일 환경(이미지·모델 리비전·드라이버·vLLM 버전·시드) 한정입니다. 로컬 실행 결과와 평가 서버 결과는 다를 수 있습니다.

Main Event Schedule

  1. 08.11

    Start Date

  2. 09.11

    Team Merger Deadline

  3. 09.11

    Close

  4. Invalid Date

    Submission Deadline

1. 리더보드 산식

  • 평가 산식 : Macro F1 — 24개 검토 항목 각각에 대해 위반(=1) 클래스의 F1 Score를 계산하고, 24개 항목의 F1을 단순 평균합니다. 24개 항목 전부가 채점 대상입니다. 평가 데이터는 24개 항목 모두에 위반(=1) 사례를 포함하므로, 특정 항목의 F1이 정의되지 않는 경우는 발생하지 않습니다.
  • 위반 여부 열(v1~v24)만 리더보드 점수에 반영됩니다. 근거 문구 열(e1~e24)은 리더보드에 반영되지 않으며, 제출 원본이 보존되어 2차 평가(정성평가) 재료로 사용됩니다.
  • Public Score : 전체 테스트 데이터(1,853건) 100%
  • Private Score : 대회 종료 시점의 Public Score


2. 평가 기준

  • 1차 평가 : Private Score 기준 상위 15팀을 2차 평가 진출팀으로 선정
  • 2차 평가 : 진출팀에 대해 아래 항목을 검증·평가하고, 정량 평가(1차 평가 점수, 80%)와 정성 평가(근거 문구, 20%)를 종합하여 최종 수상팀을 선정
  • 2차 평가 항목

1) 재현 검증 : 대회에서 제공한 자료와 제출 자료만으로 리더보드 점수가 재현되는지 검증합니다. 재현이 불가능한 경우 수상이 취소될 수 있습니다.

2) 근거 문구 정성평가 : 정답이 위반(1)인 항목의 근거 문구(e1~e24)를 대상으로 정성평가를 진행합니다.

  • 제공 원문의 부분문자열이 아닌 근거 문구(요약·수정·생성된 문구)는 자동 검증 단계에서 무효 처리됩니다. 대조 대상은 해당 공고에 제공된 본문 텍스트(공고문·첨부 문서)이며, 나라장터 등록 정보(메타데이터) 필드값은 대조 대상이 아닙니다.
  • 근거 문구는 정답 근거와 일치하는 정도로 평가하므로, 위반에 해당하는 부분만 인용하는 것이 유리합니다.
  • 부재탐지형 5개 항목(10·11·16·18·20번)은 "있어야 할 기재가 없는 것"이 위반이어서 인용할 원문이 존재하지 않으므로 정성평가 대상에서 제외됩니다.

3) 규칙 준수 검증 : 대회 규칙 및 제출 요건(공고당 고정 모델 정상 호출 등, 규칙 탭 참조)의 준수 여부를 검증합니다.

※ 2차 평가의 진행 절차와 자료 제출 방법은 2차 평가 진출팀에 별도 안내됩니다.


3. 코드 제출 대회 가이드

본 대회는 submit.zip 파일을 제출하는 방식의 '코드 제출 대회'로 진행됩니다.


⏳ 채점 대기시간 안내

본 대회는 제출하신 코드를 평가 서버에서 직접 실행하여 채점합니다. 과제 특성상 추론 실행에 긴 시간이 소요되며(실행 제한시간 2시간), 제출이 몰리는 시간대에는 채점 대기열이 발생하여 결과 확인까지 수 시간이 소요될 수 있습니다.

  • 제출 후 점수가 바로 표시되지 않는 것은 정상이며, 오류가 아닙니다. 채점이 완료되면 리더보드에 점수가 반영됩니다.
  • 대기열 상황에 따라 채점 소요 시간은 달라질 수 있습니다.
  • 마감 직전에는 제출이 몰려 채점이 지연될 수 있으니, 여유를 두고 미리 제출하시기를 권장드립니다.



📁 제출 파일 구조 (submit.zip)

참가자는 아래와 같은 구조로 submit.zip을 구성하여 제출해야 합니다.

submit.zip(예시)
├── script.py # 필수 — 평가 서버에서 자동 실행되는 추론 코드
├── requirements.txt # 선택 — 추가 설치가 필요한 패키지 명시
└── model/ # 선택 — RAG 인덱스·설정 파일 등 정적 자산 (학습된 모델 가중치 포함 불가)
  • script.py는 submit.zip 제출 시 평가 서버에서 자동으로 실행됩니다.
  • 제출 시 평가 서버가 script.py 파일 유효성 검사와 폴더 구조 정규화를 수행합니다. zip 최상위에 폴더가 한 겹 감싸진 경우 등 단순한 구조 차이는 정규화 과정에서 보정될 수 있으나, 가급적 위 구조 그대로 압축해 주세요. script.py가 확인되지 않는 제출물은 설치 오류로 처리됩니다.
  • requirements.txt와 model/ 폴더는 별도의 유효성 검사를 하지 않습니다 — 그 내용에 오류가 있으면 설치 또는 실행 단계에서 오류로 나타납니다.
  • requirements.txt를 포함하는 경우 pip install -r requirements.txt 명령어로 설치 가능한 형태여야 하며, 추론 시 추가로 필요한 패키지를 명시해야 합니다.


🚫 모델은 제출하지 않습니다

고정 LLM과 보조 임베딩 모델은 평가 서버에 미리 준비되어 있으며, script.py가 환경변수 경로(PPS_MODEL_DIR·PPS_EMBED_DIR)로 로드합니다. 제출물은 추론 코드만으로 구성하세요 — 학습된 모델 가중치를 zip에 포함하는 것은 허용되지 않으며, 용량 제한(2GB) 초과의 원인이 됩니다. model/ 폴더는 RAG 인덱스 등 정적 자산 전용입니다.


⚙️ 평가 서버에서 추가되는 항목

제출 시, 평가 서버에서 참가자가 제출한 submit.zip 파일에는 아래 항목이 자동으로 추가됩니다.

submit.zip(예시)
├── script.py # 참가자 구성
├── requirements.txt # 참가자 구성 (선택)
├── model/ # 참가자 구성 (선택)
├── data/ # 평가 데이터 (자동 마운트 · 읽기 전용)
└── output/submission.csv # 참가자 추론 결과가 저장되는 경로 (디렉토리 자동 생성)
  • data/ 디렉토리는 데이터 탭에서 배포되는 data/ 폴더와 동일한 구성이며, test.jsonl.gz만 실제 평가 데이터(무라벨)로 교체됩니다 → test.jsonl.gz만 실제 평가 데이터(무라벨 1,853건)로 교체됩니다. 읽기 전용으로 쓰기 및 수정이 불가능합니다.
  • output/ 디렉토리에는 script.py 실행 결과가 반드시 submission.csv 파일명으로 저장되어야 합니다 — 49열(id, v1~v24, e1~e24), 행 수 = 입력 건수, UTF-8(BOM 없음).


아래 조건을 만족하지 않으면 채점 단계에서 제출 오류로 처리됩니다.

  • 위반 여부 열(v1~v24)의 값은 0 또는 1만 허용됩니다. 확률값(예: 0.73)이나 True/False·Y/N 같은 표기는 허용되지 않습니다.
  • 위반 여부 열에 빈 값이 있거나 id가 중복되면 안 됩니다.
  • 평가 데이터의 id가 하나라도 누락되면 안 됩니다.
  • 근거 문구 열(e1~e24)은 리더보드 채점에 사용하지 않습니다. 위반이 아니거나 인용할 근거가 없는 항목(부재탐지형 10·11·16·18·20번 포함)은 빈 값으로 두시면 됩니다. 다만 2차 평가에 사용되므로 e1~e24 열 자체는 포함하여 49열로 저장해야 합니다.


🧭 경로 계약 (환경변수)

평가 서버는 아래 환경변수로 경로를 제공하며, script.py는 반드시 환경변수로 경로에 접근해야 합니다(절대 경로 하드코딩 금지).

환경변수내용PPS_DATA_DIR평가 데이터 디렉토리 (읽기 전용)PPS_OUTPUT_DIR결과 저장 디렉토리 (submission.csv 저장 위치)PPS_MODEL_DIR고정 LLM 가중치 경로 (읽기 전용)PPS_EMBED_DIR보조 임베딩 모델 가중치 경로 (읽기 전용)


💾 제출 제한

  • 1일 최대 제출 횟수 : 1회
  • 제출 파일(zip) 용량 제한 : 2GB (압축 해제 후 8GB)


⏱️ 실행 시간 제한

  • 패키지 설치 시간 : 10분 (시간 초과 시 설치 오류)
  • 추론 코드 실행 시간 : 2시간 (시간 초과 시 제출 오류) — script.py 실행 시작부터 종료까지의 전체 시간이며, 모델 로드와 초기화에 걸리는 시간이 포함됩니다.


⚙️ 평가 서버 사양

  • 인스턴스 : NVIDIA L40S GPU ×1 (컨테이너 가용 VRAM 약 44.7GiB) · 7 vCPU · RAM 60GiB (제출당 독립 컨테이너 1개)
  • 베이스 이미지 : vllm/vllm-openai:v0.26.0 (digest 고정 — Ubuntu 22.04 · Python 3.12.13 · CUDA 13.0)
  • 호스트 드라이버 : NVIDIA 580 이상 (CUDA 13.0)
  • 인터넷 접속 : ❌ 비활성화 (패키지 설치 단계만 허용, script.py 실행 중 외부 서버 연결 및 다운로드 불가)


🤖 고정 모델

  • 고정 LLM : google/gemma-4-26B-A4B-it (리비전 4d7ae4984b7db7de8f8457170b3f1a419ee76d52) — PPS_MODEL_DIR 경로에 제공
  • 보조 임베딩 모델 : BAAI/bge-m3 (리비전 5617a9f61b028005a4858fdac845db406aefb181) — PPS_EMBED_DIR 경로에 제공
  • script.py가 vLLM offline API(from vllm import LLM)로 고정 모델을 직접 로드하여 추론합니다. 베이스라인 코드가 이 구조를 담고 있습니다.
  • 고정 LLM의 bf16 원본은 서버 GPU에 적재되지 않으므로 양자화 로드가 필요합니다. 모델 컨텍스트 상한은 max_model_len 32,768이며, 베이스라인은 quantization="int8_per_channel_weight_only" · max_model_len 16,384(실행시간 단축)로 로드합니다.
  • 고정 LLM이 GPU 메모리 대부분을 사용하므로 두 모델의 GPU 동시 로드는 보장되지 않습니다. 임베딩 모델의 CPU 사용·로드 순서 등은 참가자가 설계합니다.
  • 런타임에 Hugging Face 모델 ID로 다운로드를 시도하면 실패합니다 — 반드시 PPS_MODEL_DIR·PPS_EMBED_DIR 로컬 경로를 사용하세요. 모델을 zip에 담아 제출할 필요도, 실행 중 내려받을 방법도 없습니다.


💾 평가 서버 기본 설치 패키지(라이브러리) 목록

아래의 패키지(라이브러리)는 평가 서버에 기본적으로 설치되어 있으며, 가급적 기본 설치된 패키지를 활용하고 제출하는 requirements.txt에는 포함하지 않는 것을 권장드립니다.

라이브러리 설치 에러가 발생하면 설치 오류에 해당하며, 일일 제출 횟수에는 반영되지 않습니다.


1) 주요 설치 패키지(라이브러리)

# 베이스 이미지에 동봉된 패키지
vllm==0.26.0
torch==2.11.0+cu130
transformers==5.14.1
xgrammar==0.2.3
jsonschema==4.26.0
tokenizers==0.22.2
safetensors==0.8.0
openai==2.48.0
pydantic==2.13.4
numpy==2.2.6
requests==2.34.2
tqdm==4.69.1
pyyaml==6.0.3
regex==2026.7.19
sentencepiece==0.2.2

# 추가로 설치된 패키지
pandas==2.2.3
scikit-learn==1.6.1
rank-bm25==0.2.2
sentence-transformers==5.3.0
kiwipiepy==0.21.0
orjson==3.10.18
  • ⚠️ vllm · torch · transformers · xgrammar 4종은 서버 고정(constraints)으로, requirements.txt로 다른 버전을 설치할 수 없습니다.


2) 주요 설치 시스템 패키지

git
build-essential
unzip
p7zip-full
tzdata
libgl1
libglib2.0-0
ca-certificates
procps


📌 유의사항

  • 제출 시 발생하는 오류의 종류는 두 가지로 정의되며, 일일 제출 횟수 반영에 대한 기준이 다르므로 반드시 숙지하여 진행해야 합니다.
  • 1) 설치 오류 : 제출하는 submit.zip 내부 구조가 불일치한 경우, 패키지 설치 오류 → 일일 제출 횟수 반영되지 않음
  • 2) 제출 오류 : script.py 코드 실행 후 발생하는 모든 오류 → 일일 제출 횟수 반영됨
  • script.py의 실행 코드는 반드시 if __name__ == "__main__": 아래에 두어야 합니다. vLLM이 하위 프로세스를 spawn 방식으로 생성하므로, 모듈 최상위에서 LLM(...)을 생성하면 즉시 실패합니다(베이스라인 script.py가 올바른 구조의 예시입니다).
  • 모델 출력을 JSON으로 안정적으로 받으려면 제약 디코딩(structured outputs) 사용을 권장합니다. 제출 형식에 맞는 JSON 스키마가 data/정답스키마_디코딩.json으로 제공되며, 베이스라인 코드에 사용 예가 있습니다.
  • 로컬 개발 환경(GPU·런타임·정밀도)은 자유입니다. 위 평가 서버 명세는 서버 동작 재현을 위한 정보이며, 로컬 개발 환경에 대한 요구사항이 아닙니다.
  • 추론 결과의 재현성은 동일 환경(이미지·모델 리비전·드라이버·vLLM 버전·시드) 한정입니다. 로컬 실행 결과와 평가 서버 결과는 다를 수 있습니다.

Main Event Schedule

  1. 08.11

    Start Date
  2. 09.11

    Team Merger Deadline
  3. 09.11

    Close
  4. Invalid Date

    Submission Deadline