참고문헌과 Reference 사용 기준¶
이 문서는 AI 품질 교육자료에서 reference를 고르는 기준과 본문에 연결하는 방식을 정리합니다. Reference는 본문을 꾸미기 위한 출처 목록이 아니라, 수강생이 데이터, 모델, 서빙, 운영 관측을 어떤 근거로 품질 판단에 연결해야 하는지 확인할 수 있게 하는 학습 지도입니다.
Reference의 역할¶
Reference는 본문 설명의 책임을 대신하지 않습니다. 본문은 수업 맥락에 맞게 개념, 이유, 예시, QA 확인 포인트를 설명하고, reference는 그 설명이 어떤 공개 자료와 연결되는지 보여줍니다. 따라서 단순히 abstract 문장을 가져오거나 권위 있는 이름을 붙이는 방식으로 사용하지 않습니다.
본문에 reference를 넣을 때는 먼저 “이 출처가 수강생의 판단을 무엇으로 도와주는가”를 확인합니다. 데이터 출처를 밝히는지, 개념의 출발점을 제공하는지, metric이나 도구의 공식 의미를 확인하게 하는지, 강의 후 추가 학습을 돕는지 중 하나가 분명해야 합니다.
| 역할 | 본문에서의 쓰임 | 예시 |
|---|---|---|
| 데이터 출처 | 실습 데이터가 어디에서 왔고 어떻게 교육용으로 가공되었는지 밝힘 | Kaggle Human Vital Sign Dataset |
| 개념 근거 | AI 품질, 데이터 문서화, 모델 문서화, ML 운영 리스크의 관점을 설명 | NIST AI RMF, Datasheets for Datasets, Model Cards |
| 공식 의미 확인 | metric, API contract, validation, telemetry 같은 용어와 산출물의 공식 의미를 확인 | scikit-learn, FastAPI, OpenTelemetry |
| 도구 산출물 해석 | QA가 도구 화면이나 파일에서 무엇을 확인해야 하는지 설명 | Great Expectations, MLflow, Docker, Kubernetes, Grafana |
| 확장 학습 | 본문에서 깊게 다루지 않는 주제를 수강생이 더 읽을 수 있게 안내 | Appendix 관련 공개 문서 |
선정 기준¶
수강생에게 제공하는 reference는 강의 후에도 직접 열람할 수 있어야 합니다. 유료 표준 문서, 기관 내부 자료, 로그인이나 구매가 필요한 자료는 본문 근거로 사용하지 않습니다. 공개 논문, 공식 문서, 공개 프레임워크, 실습 데이터 원본을 우선 사용합니다.
| 기준 | 적용 방식 |
|---|---|
| 무료 접근 가능성 | 수강생이 별도 구매 없이 열람할 수 있는 자료만 본문 근거로 사용 |
| 원자료 우선 | 블로그 요약보다 논문, 공식 문서, 프로젝트 공식 문서를 우선 사용 |
| 강의 맥락 적합성 | AI QA가 확인할 지표, 로그, 대시보드, 산출물과 연결되는 자료를 선택 |
| Canonical URL 사용 | 같은 자료는 reference 표와 본문에서 같은 대표 URL을 사용 |
| 세부 주제 일치 | metric 설명에는 metric 공식 문서, 도구 contract 설명에는 도구 공식 문서를 연결 |
| 의료적 오해 방지 | 생체신호 데이터는 classification 예제로만 다루며 의료 판단 근거 자료를 넣지 않음 |
본문 연결 기준¶
본문에는 모든 문장마다 reference를 달지 않습니다. 일반적인 설명은 교재의 자체 설명으로 충분합니다. Reference는 특정 관점의 출발점, 공식 용어의 의미, 실습 데이터 출처, 도구 산출물 해석처럼 수강생이 원문을 확인할 이유가 있을 때 연결합니다.
| 본문 상황 | 처리 방식 |
|---|---|
| 강의 흐름을 설명하는 일반 문장 | reference를 달지 않음 |
| 데이터셋 원본을 설명함 | 데이터셋 원문 링크와 교육용 가공 방식을 함께 설명 |
| 특정 metric이나 도구 의미를 설명함 | 공식 문서 reference를 연결 |
| 논문이나 프레임워크의 관점을 빌림 | 해당 자료명을 밝히고 우리 수업 맥락으로 해석 |
| 원문 표현 자체가 핵심 근거임 | 짧은 직접 인용과 정확한 원문 링크 사용 |
| 단순히 더 읽을 자료를 안내함 | 본문 말미나 장 index에서 전체 참고문헌으로 연결 |
| 같은 자료가 여러 절에서 반복됨 | 가장 직접 관련 있는 절에서만 자세히 연결 |
직접 인용 기준¶
직접 인용은 원문 문장 자체가 해당 절의 핵심 관점을 정확히 잡아 줄 때만 사용합니다. Abstract의 문장을 가져와 본문을 장식하거나, 자료를 읽었다는 표시로 quote를 넣지 않습니다. 원문 내용을 우리 말로 설명할 수 있다면 paraphrase를 우선합니다.
| 경우 | 처리 방식 |
|---|---|
| 원문 문장이 핵심 관점을 직접 뒷받침함 | 짧은 blockquote와 외부 원문 링크 사용 |
| 자료의 전반적 관점만 참고함 | 본문 paraphrase와 reference 링크 사용 |
| 원문이 paywall 뒤에 있음 | 직접 인용하지 않고 본문 근거로 사용하지 않음 |
| 링크가 요약 페이지와 원문 페이지로 나뉨 | 인용 문장이 보이는 원문 페이지나 텍스트 프래그먼트 사용 |
| 같은 자료를 여러 절에서 반복 사용함 | 가장 관련이 높은 절에만 직접 인용 |
직접 인용을 남길 때는 blockquote 안에 인용문만 둡니다. 출처 표기는 quote 바깥에 둡니다.
> 원문 문장
출처: [자료명](원문 URL)
실습 데이터 출처¶
실습 데이터 reference는 이론적 근거가 아니라 provenance 기록입니다. 본문에서는 원본 데이터셋 링크를 밝히되, 실습에서 생성한 train, validation, test, holdout, 품질 저하 validation, current batch 데이터가 교육용 가공 결과라는 점을 함께 설명합니다.
| ID | 참고문헌 | 문서에서의 역할 |
|---|---|---|
| D-01 | Kaggle, Human Vital Sign Dataset, 원본 파일 Human Vital Sign Dataset.zip |
생체신호 기반 위험 알림 classification 예제의 원본 데이터 출처 |
Kaggle 데이터셋은 이론적 근거가 아니라 실습 데이터의 출처입니다. 본 교재에서는 원본 데이터를 그대로 의료적 판단에 사용하지 않고, AI QA 개념 설명을 위한 교육용 classification 데이터로 가공합니다. 원본 CSV는 human_vital_signs_dataset_2024.csv이며, 실습에서는 vital_signs_train.csv, vital_signs_valid_baseline.csv, vital_signs_valid_degraded.csv, vital_signs_test.csv, vital_signs_operational_holdout.csv처럼 목적별 데이터로 나누어 사용합니다.
핵심 공개 프레임워크와 문서화 자료¶
이 그룹은 강의의 판단 관점을 세우는 자료입니다. 본문에서는 “AI 품질을 왜 데이터, 모델, 운영 관점으로 함께 봐야 하는가”를 설명할 때 사용합니다.
| ID | 참고문헌 | 문서에서의 역할 | 우선 적용 |
|---|---|---|---|
| R-01 | NIST AI Risk Management Framework, AI RMF 1.0 | AI 시스템 품질을 위험 관리와 신뢰성 관점으로 확장하는 기준 | 1장, 5장 |
| R-02 | Datasheets for Datasets | 데이터셋의 동기, 구성, 수집, 전처리, 유지관리 질문을 설명하는 근거 | 1장, 2장 |
| R-03 | Model Cards for Model Reporting | 모델의 intended use, 성능 특성, 제한 사항을 문서화하는 근거 | 2장, 5장 |
| R-04 | Andrej Karpathy, Software 2.0 | Software 1.0과 Software 2.0의 차이를 설명하는 개념 출처 | 1장 |
ML 시스템 품질과 운영 준비도¶
이 그룹은 모델 성능 숫자만으로 운영 품질을 판단하기 어렵다는 점을 설명할 때 사용합니다. 본문에서는 데이터 의존성, 설정 차이, train-serving skew, production readiness, monitoring test와 연결합니다.
| ID | 참고문헌 | 문서에서의 역할 | 우선 적용 |
|---|---|---|---|
| R-05 | Hidden Technical Debt in Machine Learning Systems | ML 시스템에서 데이터 의존성, 설정, feedback loop가 기술부채가 되는 이유를 설명하는 근거 | 1장, 3장 |
| R-06 | The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction | production readiness를 데이터, 모델, 인프라, 모니터링 테스트로 나누어 보는 기준 | 2장, 4장, 5장 |
| R-22 | Google Rules of Machine Learning | 학습-서빙 불일치(training-serving skew), 조용한 실패(silent failure), 모델 내보내기 전 기본 점검(sanity check) 같은 운영 장애 패턴을 설명하는 기준 | 5장 |
모델 평가와 실험 관리¶
이 그룹은 metric과 실험 기록의 공식 의미를 확인할 때 사용합니다. 본문에서는 계산법 전체를 옮기지 않고, QA가 metric을 해석할 때 필요한 기준과 주의점을 연결합니다.
| ID | 참고문헌 | 문서에서의 역할 | 우선 적용 |
|---|---|---|---|
| R-07 | scikit-learn User Guide, Model evaluation | Accuracy, Precision, Recall, ROC AUC, average precision 같은 metric 설명의 공식 기준 | 2장 |
| R-08 | scikit-learn User Guide, Probability calibration | score와 확률 해석, calibration 주의점을 설명하는 기준 | 2장 |
| R-09 | Great Expectations, GX Core introduction | validation workflow와 Expectation 기반 데이터 검증을 설명하는 도구 기준 | 2장 |
| R-10 | MLflow Tracking | run, parameter, metric, artifact, dataset 기록을 설명하는 도구 기준 | 2장 |
서빙, 배포, 운영 관측¶
이 그룹은 API contract, 실행 환경, 배포 단위, 로그와 지표를 설명할 때 사용합니다. 도구 사용법 자체보다 QA가 어떤 응답 field, 설정값, metric, log label을 확인해야 하는지 설명하는 데 초점을 둡니다.
| ID | 참고문헌 | 문서에서의 역할 | 우선 적용 |
|---|---|---|---|
| R-11 | Docker Docs, What is Docker? | image와 container를 재현 가능한 실행 단위로 설명하는 기준 | 3장 |
| R-12 | Docker Docs, What is an image? | container image가 코드, runtime, library, 설정을 담는 패키지라는 설명의 근거 | 3장 |
| R-13 | Kubernetes Documentation, Pods | Pod를 Kubernetes의 기본 배포 단위로 설명하는 기준 | 3장 |
| R-14 | OpenTelemetry Documentation | traces, metrics, logs를 포함한 telemetry 수집과 관측 개념의 기준 | 4장 |
| R-15 | OpenTelemetry, Signals | trace, metric, log의 역할 차이를 설명하는 기준 | 4장 |
| R-16 | Grafana Cloud documentation | Grafana Cloud에서 logs, metrics, traces를 수집하고 보는 운영 도구 기준 | 4장 |
| R-17 | FastAPI, Request Body | request body, Pydantic schema, 입력 검증, OpenAPI schema 생성을 설명하는 공식 기준 | 3장 |
| R-18 | FastAPI, Handling Errors | 잘못된 요청을 예측 로직 전에 차단하고 오류 응답으로 반환하는 흐름의 공식 기준 | 3장 |
| R-19 | Prometheus, Exposition formats | Prometheus text 형식 metric 예시와 metric 노출 형식을 설명하는 공식 기준 | 4장 |
| R-20 | Grafana Loki, Log queries | LogQL 기반 로그 조회, label/filter, JSON 파싱(parsing)을 설명하는 공식 기준 | 4장 |
| R-21 | OpenTelemetry, Logs Data Model | 로그 레코드(log record), 추적 컨텍스트(trace context), 속성(attribute)을 통해 이벤트를 설명하는 공식 기준 | 4장 |
| R-22 | Grafana, Dashboard HTTP API | Service Account Token으로 dashboard를 생성하거나 갱신하는 API 연결 기준 | 4장 |
| R-23 | Grafana Loki, HTTP API | /loki/api/v1/push로 구조화 로그를 전송하고 LogQL로 조회하는 API 기준 |
4장 |
| R-24 | Grafana Cloud, Prometheus metrics | Grafana Cloud Metrics에 Prometheus remote_write로 전송하는 설정 기준 |
4장 |
| R-25 | Grafana Cloud Traces | Tempo 기반 Cloud Traces와 OpenTelemetry tracing protocol 사용 기준 | 4장 |
| R-26 | Grafana, Service accounts | Dashboard import용 Service Account token 생성과 권한 확인 기준 | 4장 |
| R-27 | Grafana Alloy, Docker install | Alloy container 실행과 config mount 기준 | 4장 |
| R-28 | Grafana Alloy, loki.write |
Alloy에서 Loki/Grafana Cloud Logs로 전송하는 설정 기준 | 4장 |
| R-29 | Grafana Alloy, prometheus.remote_write |
Alloy에서 Grafana Cloud Metrics로 remote_write 전송하는 설정 기준 | 4장 |
| R-30 | Grafana Alloy, otelcol.exporter.otlp |
Alloy에서 Grafana Cloud Traces로 OTLP 전송하는 설정 기준 | 4장 |
| R-31 | Grafana Tempo, service graph metric queries | service graph가 trace-derived metric으로 그려지는 방식과 PromQL 확인 기준 | 4장 |
| R-32 | Grafana, Traces visualization | Grafana dashboard에서 trace waterfall을 패널로 확인하는 기준 | 4장 |
| R-33 | Grafana, Node graph | topology 화면에 필요한 node/edge 데이터 구조를 설명하는 기준 | 4장 |
| R-34 | Grafana Alloy, otelcol.connector.servicegraph |
Alloy가 trace에서 service graph metric을 만드는 설정 기준 | 4장 |
| R-35 | Grafana, Time series visualization | 운영 지표를 시간 흐름으로 추적하는 dashboard panel 기준 | 4장 |
| R-36 | Grafana, Histogram visualization | 값 분포와 outlier를 시각적으로 확인하는 panel 기준 | 4장 |
| R-37 | Prometheus, Histograms and summaries | 운영 metric에서 bucket, count, sum, quantile을 설계하는 기준 | 4장 |
| R-38 | Grafana, Dashboard best practices | dashboard가 하나의 질문에 답하고 인지 부하를 줄이도록 설계하는 기준 | 4장 |
| R-38 | Grafana, Folder HTTP API | dashboard를 교육 주제별 folder 아래에 묶어 생성하거나 조회하는 API 연결 기준 | 4장 |
| R-39 | Evidently AI, What is data drift in ML, and how to detect and handle it | data drift를 입력 feature 분포 변화로 보고, ground truth 지연 시 proxy signal과 시각적 분포 비교를 사용하는 기준 | 4장, 5장 |
| R-40 | Evidently AI, How to interpret data and prediction drift together | 입력 drift와 prediction drift를 따로 확정하지 않고 함께 해석해야 하는 판단 기준 | 4장, 5장 |
| R-41 | Evidently AI, Model monitoring for ML in production | ML 서비스 모니터링을 software health, data quality, model quality, business KPI로 나누는 기준 | 4장 |
장별 우선 적용¶
장별 우선 적용은 본문에 반드시 모두 인용하라는 뜻이 아닙니다. 각 장을 보강할 때 먼저 확인할 reference 후보를 뜻합니다. 본문에는 해당 절의 설명과 직접 연결되는 자료만 짧게 연결합니다.
| 장 | 우선 참고문헌 |
|---|---|
| 1장 | D-01, R-01, R-02, R-04, R-05 |
| 2장 | D-01, R-02, R-03, R-06, R-07, R-08, R-09, R-10 |
| 3장 | R-05, R-06, R-11, R-12, R-13, R-17, R-18 |
| 4장 | R-06, R-14, R-15, R-16, R-19, R-20, R-22, R-23, R-24, R-25, R-26, R-27, R-28, R-29, R-30, R-31, R-32, R-34, R-36, R-37, R-38, R-39, R-40, R-41 |
| 5장 | R-01, R-03, R-05, R-06, R-22, R-39, R-40, R-41 |
| Appendix | R-01, R-02, R-03, R-14, R-15 |
본문에 반영할 방식¶
각 장의 이론 보강은 다음 순서를 따릅니다. Reference는 이 흐름의 시작점이 아니라, 본문 설명을 읽은 뒤 수강생이 더 확인할 수 있는 근거로 붙입니다.
개념 정의
→ 왜 AI 품질에서 중요한가
→ QA가 확인해야 할 질문
→ 실습 또는 Demo 산출물과 연결
→ 필요한 경우 관련 reference로 연결
이 순서를 지키면 문서가 도구 사용법이나 체크리스트 나열에 머물지 않고, 교과서형 설명과 실무 판단을 함께 갖출 수 있습니다.
본문에서 reference를 넣을 때는 다음 문장 구조를 우선 사용합니다.
| 상황 | 권장 문장 구조 |
|---|---|
| 개념 관점 연결 | 자료명은 이 주제를 어떤 관점으로 볼 수 있게 합니다. 본문에서는 그 관점을 QA 확인 흐름으로 좁혀 설명합니다. |
| 도구 공식 문서 연결 | 자료명은 해당 도구가 제공하는 산출물의 공식 의미를 설명합니다. 실습에서는 운영자가 아니라 QA 관점에서 필요한 field와 결과를 확인합니다. |
| 데이터 출처 연결 | 실습 데이터는 데이터셋명을 기반으로 교육용 classification 예제로 가공합니다. 원본 데이터는 실제 의료 판단이 아니라 품질 개념 설명의 출발점입니다. |
| 직접 인용 연결 | 원문 quote를 짧게 제시한 뒤, 바로 아래 문단에서 우리 수업 맥락의 해석을 설명합니다. |
Reference를 넣지 않는 편이 나은 경우도 있습니다. 본문 흐름을 설명하는 일반 문장, 실습 파일 경로 안내, 수업 운영 방식, 이미 앞 절에서 충분히 설명한 반복 개념에는 reference를 붙이지 않습니다. Reference가 많아질수록 문서가 친절해지는 것이 아니라, 오히려 수강생이 무엇을 먼저 읽어야 하는지 흐려질 수 있습니다.
현재 본문 점검 기준¶
본문을 개선할 때는 다음 순서로 reference를 점검합니다.
| 점검 질문 | 판단 |
|---|---|
| 이 reference가 데이터 출처, 개념 근거, 공식 의미, 도구 산출물 해석 중 하나를 담당하는가? | 아니면 제거 |
| 본문 문장이 reference 없이도 먼저 이해되는가? | 아니면 본문 설명 보강 |
| 직접 인용이 원문 표현 자체를 보여줄 필요가 있는가? | 아니면 paraphrase로 전환 |
| 링크가 실제 원문이나 공식 문서로 가는가? | 아니면 canonical URL로 수정 |
| 같은 자료가 여러 절에서 반복되는가? | 가장 필요한 절만 유지 |
| reference가 의료적 판단 근거처럼 읽히지 않는가? | 생체신호 classification 예제라는 맥락 명시 |