docs: record No.3/No.4 pre-measurement in the test plan
사전 측정값을 절차서에 반영한다. 메타 F1 0.8750(목표 83), 표절 정밀도 0.9840(목표 97) 로 두 항목은 시험 가능 상태다. 요약은 정답셋이 없어 미측정이다. 시험 환경표를 실제 시험 서버 사양으로 바꾼다. 계획서가 No.4 를 GPU 불필요로 규정하고, 동일 시험셋을 macOS 와 시험 서버에서 돌려 정밀도·재현율·혼동행렬이 완전히 일치함을 확인했으므로 GPU 사양은 결과에 영향을 주지 않는다. 다만 No.7 은 계획서가 A100 을 명시하므로 해당 항목만 별도 협의 대상으로 남긴다. No.3 절을 새로 쓴다. 전 차수는 저장소의 요소 추출기가 아니라 KLUE NER 토큰 분류였고, support 62,760 이 성적서와 일치해 같은 측정임을 확인했다. bert-base 로도 0.8324 로 목표를 넘지만 여유가 0.24%p 라 재학습 시 미달할 수 있어 roberta-large 를 적용한다. 요약 항목에는 남은 위험을 명시한다. 계획서는 ROUGE recall 인데 전 차수 코드는 f1 을 반환했고, 로그의 optimal_60_modification / success_rate 0.15 는 목표치에 맞춰 요약문을 수정한 흔적으로 보여 그대로 승계하기 어렵다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c97e0c296e
commit
b2d02306b9
@ -1,6 +1,6 @@
|
||||
# 2-1년차 현장시험 및 검증 — 시험절차서 (초안)
|
||||
|
||||
> 작성: 에이아이오투오 / 초안 일자 2026-09-14
|
||||
> 작성: 에이아이오투오 / 초안 일자 2026-09-14 (사전 측정 반영 2026-09-15)
|
||||
> 선행 시험: 구미전자정보기술원 `GERIR.CE.2511-02.009` (2025-11-19 시험, 3개 항목 PASS)
|
||||
> 근거: (협약용) 연구개발계획서 PART 2, 2-4. 연구개발 성능지표 및 평가방법 (p.23~24)
|
||||
|
||||
@ -21,11 +21,14 @@
|
||||
|
||||
전 차수와 동일한 3개 항목을 2-1년차 목표치로 재시험한다.
|
||||
|
||||
| No | 성능지표 | 단위 | 1-2년차 결과 | **2-1년차 목표** |
|
||||
|---|---|---|---|---|
|
||||
| 3 | 메타 데이터 추출 (F1-score) | % | 81 (PASS) | **83 이상** |
|
||||
| 4 | 표절 여부 판별 정밀도 (Precision) | % | 95.2 (PASS) | **97** |
|
||||
| 7 | 요약 성능 (N-gram ROUGE score) | % | 63 (PASS) | **65** |
|
||||
| No | 성능지표 | 단위 | 1-2년차 결과 | **2-1년차 목표** | 사전 측정 |
|
||||
|---|---|---|---|---|---|
|
||||
| 3 | 메타 데이터 추출 (F1-score) | % | 81 (PASS) | **83 이상** | **87.50** |
|
||||
| 4 | 표절 여부 판별 정밀도 (Precision) | % | 95.2 (PASS) | **97** | **98.40** |
|
||||
| 7 | 요약 성능 (N-gram ROUGE score) | % | 63 (PASS) | **65** | 미측정 |
|
||||
|
||||
> 사전 측정은 시험 신청 전 자체 검증값이다. No.3·No.4 는 목표치를 충족하였고,
|
||||
> No.7 은 정답셋 미구축으로 측정하지 않았다(6.0 항 참조).
|
||||
|
||||
---
|
||||
|
||||
@ -55,20 +58,24 @@
|
||||
|
||||
#### 2.3.2 시험 환경 상세 정보
|
||||
|
||||
| 구분 | 사양 | |
|
||||
|---|---|---|
|
||||
| **시험 PC** | 운영 SW | macOS / Windows |
|
||||
| | 시험 도구 | SSH 터미널 |
|
||||
| **GPU 서버** | CPU | Intel Xeon |
|
||||
| | GPU | NVIDIA A100 80G |
|
||||
| | 운영 SW | Ubuntu 22.04 |
|
||||
| | 시험 도구 | Python 3.9 (컨테이너), PyTorch 2.2.2+cu121, transformers 4.39.3 |
|
||||
| | 구현 모듈 | 메타 데이터 추출 모듈, 표절 여부 판별 모듈, 요약 모듈 |
|
||||
| 구분 | 시스템 사양 | 운영 SW 및 시험도구 | 구현 모듈 |
|
||||
|---|---|---|---|
|
||||
| 시험 PC | 시험관 지참 노트북 | SSH 터미널 | 없음 |
|
||||
| **GPU 서버** | GPU : NVIDIA RTX 3090 24G × 2<br>CPU : Intel i9-12900KS (24 core)<br>RAM : 125GB | Ubuntu 18.04.6 (호스트)<br>Docker 24.0.2<br>CUDA 12.2<br>**평가 컨테이너 : Python 3.9** | 메타 데이터 추출 모듈,<br>표절 여부 판별 모듈,<br>요약 모듈 |
|
||||
|
||||
> **평가환경 고정 근거** — 계획서 p.24 가 항목별 평가환경을 명시하고 있다.
|
||||
> No.3·No.4 는 `python 3.9`, No.7 은 `A100 GPU / python 3.9 / pytorch 2.2.2+cu121 /
|
||||
> transformers 4.39.3`. 서버 시스템 파이썬 버전과 무관하게 **평가는 전용 컨테이너에서
|
||||
> 수행**하여 규격을 충족한다.
|
||||
> **평가환경에 관하여** — 계획서 p.24 는 No.3·No.4 를 `python 3.9`, No.7 을
|
||||
> `A100 GPU / python 3.9 / pytorch 2.2.2+cu121 / transformers 4.39.3` 로 명시한다.
|
||||
> 파이썬 버전은 **호스트와 무관하게 전용 컨테이너에서 고정**하여 충족한다
|
||||
> (`Dockerfile.eval`, `Dockerfile.ner`).
|
||||
>
|
||||
> 시험 서버는 **실제 솔루션이 가동 중인 서버**로 한다. 표절 판별 모듈이 이 서버에서
|
||||
> 운영 중이며(`o2o-plagiarism-api`), 계획서가 No.4 를 `GPU 불필요` 로 규정하므로
|
||||
> GPU 사양은 결과에 영향을 주지 않는다. 실제로 동일 시험셋을 서로 다른 두 환경
|
||||
> (macOS / 본 서버)에서 실행하여 **정밀도·재현율·TP/FP/TN/FN 이 완전히 일치**함을
|
||||
> 확인하였다(3.1.6 항).
|
||||
>
|
||||
> 다만 **No.7 은 계획서가 A100 을 명시**하므로, 해당 항목의 시험 환경은 접수 시
|
||||
> 시험기관과 별도 협의한다.
|
||||
|
||||
### 2.3.3 평가방법
|
||||
|
||||
@ -160,14 +167,78 @@ docker run --rm -v $PWD:/app -w /app o2o-plagia-eval:py39 \
|
||||
목표 0.97 대비 여유가 있으며, 오탐 8건 중 7건이 주제 근접 시료에서 발생하여
|
||||
난이도가 실제 운영 조건을 반영하고 있음을 확인하였다.
|
||||
|
||||
#### 3.1.6 환경 간 재현성 확인
|
||||
|
||||
동일 시험셋을 서로 다른 두 환경에서 실행한 결과가 완전히 일치하였다.
|
||||
|
||||
| 환경 | precision | recall | TP / FP / TN / FN |
|
||||
|---|---|---|---|
|
||||
| 개발 PC (macOS, Python 3.14) | 0.9840 | 0.9860 | 493 / 8 / 492 / 7 |
|
||||
| **시험 서버 (RTX 3090, Python 3.9 컨테이너)** | **0.9840** | **0.9860** | **493 / 8 / 492 / 7** |
|
||||
|
||||
변형 유형별 수치까지 동일하다. 시험셋 또한 난수 시드가 고정되어 있어 양쪽에서
|
||||
같은 구성으로 재생성되었다(작성자 290명 → 참조 203 / 질의 87).
|
||||
|
||||
### 3.2 메타 데이터 추출 F1 (성능지표 #3)
|
||||
|
||||
KLUE NER 학습 11,000건 / 테스트 2,000건으로 상대 평가. 평가 스크립트
|
||||
`scripts/eval_metadata_f1.py`, 평가환경 python 3.9.
|
||||
#### 3.2.1 시험방법
|
||||
|
||||
> **확인 필요** — 성과물 목록상 요소 추출이 오투오(콘텐츠 요소 분석 모듈)와
|
||||
> 고려대(출판콘텐츠추출모델 sLLM) 양쪽에 걸쳐 있다. 측정 주체를 컨소시엄에
|
||||
> 확인한 뒤 본 절차서를 확정한다.
|
||||
```
|
||||
① KLUE 데이터셋의 NER(개체명 인식) 데이터셋을 활용하여 학습 데이터로 모델을 학습
|
||||
② 학습되지 않은 테스트 데이터를 활용하여 개발된 모델에 대한 상대 평가 진행
|
||||
```
|
||||
|
||||
#### 3.2.2 모델 및 데이터
|
||||
|
||||
전 차수와 동일한 과제 설정이며, 사전학습 모델만 상위 모델로 교체하였다.
|
||||
|
||||
| 구분 | 1-2년차 | **2-1년차** |
|
||||
|---|---|---|
|
||||
| 사전학습 모델 | `klue/bert-base` | **`klue/roberta-large`** |
|
||||
| 구조 | TokenClassification, 13 labels | 동일 |
|
||||
| 태그 | DT / LC / OG / PS / QT / TI (BIO) | 동일 |
|
||||
| 학습 데이터 | 약 11,000건 | **21,008건 (KLUE NER 전체 학습셋)** |
|
||||
| 평가 데이터 | 2,000여건 | 5,000건 (KLUE NER validation) |
|
||||
|
||||
#### 3.2.3 시현 절차
|
||||
|
||||
```bash
|
||||
# 학습 + 평가 (약 40분)
|
||||
docker run --rm --gpus all -v $PWD:/w -w /w -e HF_HOME=/w/.cache/hf o2o-ner:latest \
|
||||
python scripts/train_klue_ner.py --model klue/roberta-large \
|
||||
--out-dir data/models/klue_ner_large --epochs 3 --batch-size 8 --lr 1e-5
|
||||
|
||||
# 학습 완료 모델로 평가만 재실행
|
||||
docker run --rm --gpus all -v $PWD:/w -w /w o2o-ner:latest \
|
||||
python scripts/train_klue_ner.py --eval-only --out-dir data/models/klue_ner_large
|
||||
```
|
||||
|
||||
산출물: `data/models/klue_ner_large/result.json`
|
||||
|
||||
#### 3.2.4 사전 측정 결과 (자체 검증)
|
||||
|
||||
| 모델 | micro avg F1 | 비고 |
|
||||
|---|---|---|
|
||||
| 전 차수 (`klue/bert-base`, 학습 11,479건) | 0.8113 | 성적서 8p |
|
||||
| `klue/bert-base` (학습 전체 21,008건) | 0.8324 | 구현 재현 확인 |
|
||||
| **`klue/roberta-large`** | **0.8750** | **본 차수 적용** |
|
||||
|
||||
태그별 F1:
|
||||
|
||||
| 태그 | 전 차수 | **본 차수** | support |
|
||||
|---|---|---|---|
|
||||
| DT | 0.8459 | **0.9065** | 7,670 |
|
||||
| LC | 0.7563 | **0.8209** | 6,997 |
|
||||
| OG | 0.7862 | **0.8588** | 11,492 |
|
||||
| PS | 0.8641 | **0.9105** | 12,397 |
|
||||
| QT | 0.9882 | 0.9590 | 7,530 |
|
||||
| TI | 0.7674 | **0.8308** | 16,674 |
|
||||
|
||||
> **구현 일치 확인** — `support` 합계 62,760 이 전 차수 성적서(8p)와 정확히 일치한다.
|
||||
> 동일한 평가 데이터에 동일한 방식으로 측정하였음을 의미한다.
|
||||
>
|
||||
> `klue/bert-base` 로도 0.8324 로 목표를 충족하나 여유가 0.24%p 에 불과해 재학습 시
|
||||
> 난수에 따라 미달할 수 있어, 4.5%p 여유가 확보되는 `roberta-large` 를 적용한다.
|
||||
|
||||
### 3.3 요약 성능 ROUGE (성능지표 #7)
|
||||
|
||||
@ -210,13 +281,42 @@ KLUE NER 학습 11,000건 / 테스트 2,000건으로 상대 평가. 평가 스
|
||||
|
||||
## 6.0 준비 현황
|
||||
|
||||
### 6.1 항목별 요약
|
||||
|
||||
| No | 지표 | 목표 | 사전 측정 | 상태 |
|
||||
|---|---|---|---|---|
|
||||
| 3 | 메타 데이터 추출 F1 | 83 | **87.50** | **시험 가능** |
|
||||
| 4 | 표절 판별 정밀도 | 97 | **98.40** | **시험 가능** |
|
||||
| 7 | 요약 ROUGE | 65 | 미측정 | **미준비** |
|
||||
|
||||
### 6.2 세부 현황
|
||||
|
||||
| 항목 | 상태 |
|
||||
|---|---|
|
||||
| 표절 시험셋 1,000건 | **완료** (`data/eval/testset_v2/`) |
|
||||
| 표절 평가 스크립트 | **완료** (`scripts/run_precision_eval.py`) |
|
||||
| 평가 전용 컨테이너 (python 3.9) | **완료** (`Dockerfile.eval`) |
|
||||
| 표절 사전 측정 | **완료** (0.9840) |
|
||||
| 메타 추출 — 측정 주체 확인 | 미완 (컨소시엄 문의 필요) |
|
||||
| 요약 정답셋 — 파일럿 20건 | 미완 |
|
||||
| 요약 정답셋 — 본 구축 300건 | 미완 |
|
||||
| 시험 서버 확정 (A100 환경) | 미완 |
|
||||
| **표절(No.4)** | |
|
||||
| 시험셋 1,000건 | 완료 (`data/eval/testset_v2/`, 시드 고정) |
|
||||
| 평가 스크립트 | 완료 (`scripts/run_precision_eval.py`) |
|
||||
| 평가 컨테이너 (python 3.9) | 완료 (`Dockerfile.eval`) |
|
||||
| 사전 측정 | 완료 (**0.9840**) |
|
||||
| 환경 간 재현성 | 완료 (두 환경 결과 완전 일치) |
|
||||
| **메타 추출(No.3)** | |
|
||||
| 학습·평가 스크립트 | 완료 (`scripts/train_klue_ner.py`) |
|
||||
| 학습 컨테이너 (GPU) | 완료 (`Dockerfile.ner`) |
|
||||
| 전 차수 구현 재현 | 완료 (support 62,760 일치) |
|
||||
| 사전 측정 | 완료 (**0.8750**) |
|
||||
| 측정 주체 확인 | **미완** — 성과물 목록상 요소 추출이 오투오와 고려대 양쪽에 걸쳐 있어 컨소시엄 확인 필요 |
|
||||
| **요약(No.7)** | |
|
||||
| 평가 스크립트 | 완료 (`scripts/eval_rouge.py`) |
|
||||
| 정답셋 파일럿 20건 | **미완** |
|
||||
| 정답셋 본 구축 300건 | **미완** |
|
||||
| 지표 정의 확인 | **미완** — 계획서는 ROUGE recall, 전 차수 코드는 f1 반환. 정의 일치 필요 |
|
||||
| 전 차수 방식 검토 | **미완** — 전 차수 로그에 `optimal_60_modification` / `success_rate 0.15` 기록. 목표치에 맞춘 요약문 수정으로 보여 그대로 승계하기 어려움 |
|
||||
| **공통** | |
|
||||
| 시험 서버 확정 | 표절·메타는 본 서버로 가능. No.7 은 A100 명시로 별도 협의 |
|
||||
|
||||
### 6.3 다음 작업
|
||||
|
||||
1. **요약 파일럿 20건** — 사람 간 일치도(IAA)로 사람 상한을 먼저 측정한다.
|
||||
상한이 65 미만이면 300건 구축 전에 규격 조정을 협의해야 한다.
|
||||
2. **No.3 측정 주체 확인** — 컨소시엄 문의.
|
||||
3. **No.7 시험 환경 협의** — A100 필요 여부 및 대체 가능성.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user