병리 보고서 구조화 데이터 추출을 위한 Large Language Model 종합 평가
Comprehensive testing of large language models for extraction of structured data in pathology
TL;DR Highlight
오픈소스 LLM이 병리 보고서 구조화 추출에서 GPT-4와 동급 성능을 보인다.
Who Should Read
의료 데이터 파이프라인을 구축하는 백엔드/ML 엔지니어, 또는 비정형 텍스트를 구조화된 포맷으로 변환하는 ETL 작업을 설계하는 개발자.
Core Mechanics
- Llama3 70B, Qwen2.5 7B 같은 오픈소스 모델이 GPT-4 수준의 병리 보고서 파라미터 추출 정확도를 달성
- 579개 독일어·영어 병리 보고서에서 11개 핵심 파라미터(진단명, 병기 등)를 자동 추출하는 벤치마크 데이터셋 공개
- 프롬프트 엔지니어링 전략(zero-shot vs few-shot vs chain-of-thought)에 따라 모델 간 정밀도가 크게 달라짐
- 양자화(quantization — 모델 크기를 줄여 일반 GPU에서 돌리는 기법) 수준별로 성능 변화를 실측해 실제 배포 시나리오 커버
- 클라우드 API 없이 온프레미스 배포 가능 → 환자 데이터 외부 전송 없이 GDPR·개인정보 규제 대응 가능
- Llama2 13B처럼 작은 모델은 특정 파라미터에서 성능이 크게 떨어져 모델 선택이 중요함을 확인
Evidence
- 오픈소스 최상위 모델(Llama3 70B)이 GPT-4와 동등한 추출 정밀도를 579개 보고서 기준으로 달성
- 6개 모델 × 다양한 프롬프트 전략 × 양자화 조합으로 수백 개 구성 실험, 구성별 정밀도 편차가 통계적으로 유의미하게 존재
- 독일어·영어 이중언어 데이터셋에서 모두 고정밀 추출 확인 — 단일 언어 편향 없음
How to Apply
- 비정형 텍스트(진료 기록, 법률 문서, 고객 리포트)에서 정형 필드를 뽑아야 한다면, GPT-4 API 대신 Llama3 70B나 Qwen2.5 7B를 로컬에 띄워 비용과 개인정보 문제를 동시에 해결할 수 있음
- 양자화는 4-bit Q4_K_M 정도에서 성능 손실이 크지 않으므로, 24GB VRAM 소비자용 GPU(RTX 4090 등)에서 70B 모델 추론이 가능한지 먼저 검증해볼 것
- few-shot 프롬프트에 실제 보고서 예시 2~3개를 넣으면 zero-shot 대비 정밀도가 올라가는 경향 — 추출 필드별로 예시 선별 후 A/B 테스트로 최적 전략 확정
Code Example
# Ollama + Llama3 70B로 병리 보고서에서 구조화 데이터 추출 예시
import ollama
import json
report = """
Diagnosis: Invasive ductal carcinoma, grade 2.
Tumor size: 1.8 cm. Lymph nodes: 0/5 positive.
ER: positive, PR: positive, HER2: negative.
"""
prompt = f"""Extract the following fields from the pathology report as JSON:
- diagnosis
- tumor_size_cm
- lymph_nodes_positive
- er_status
- pr_status
- her2_status
Return only valid JSON, no explanation.
Report:
{report}
Few-shot example output:
{{"diagnosis": "Invasive ductal carcinoma", "grade": 2, "tumor_size_cm": 1.8,
"lymph_nodes_positive": "0/5", "er_status": "positive",
"pr_status": "positive", "her2_status": "negative"}}
Now extract from the report above:"""
response = ollama.chat(
model="llama3:70b",
messages=[{"role": "user", "content": prompt}]
)
try:
structured = json.loads(response["message"]["content"])
print(structured)
except json.JSONDecodeError:
print("Parsing failed — add retry or output fixing logic")Terminology
관련 논문
LLM이 TLA+로 실제 시스템을 제대로 모델링할 수 있을까? — SysMoBench 벤치마크
LLM이 TLA+ 명세를 작성할 때 문법은 잘 통과하지만 실제 시스템과의 동작 일치도(conformance)는 46% 수준에 그친다는 걸 체계적으로 검증한 벤치마크 연구로, AI 기반 형식 검증의 현실적 한계를 보여준다.
Natural Language Autoencoders: Claude의 내부 활성화를 자연어 텍스트로 변환하는 기법
Anthropic이 LLM 내부의 숫자 벡터(활성화값)를 직접 읽을 수 있는 자연어로 변환하는 NLA 기법을 공개했다. AI가 실제로 무슨 생각을 하는지 해석하는 interpretability 연구의 새로운 진전이다.
ProgramBench: LLM이 프로그램을 처음부터 다시 만들 수 있을까?
LLM이 FFmpeg, SQLite, PHP 인터프리터 같은 실제 소프트웨어를 문서만 보고 처음부터 재구현할 수 있는지 측정하는 새 벤치마크로, 최고 모델도 전체 태스크의 3%만 95% 이상 통과하는 수준에 그쳤다.
MOSAIC-Bench:코딩 에이전트의 Compositional Vulnerability 유도 측정
티켓 3장으로 쪼개면 Claude/GPT도 보안 취약점 코드를 53~86% 확률로 그냥 짜준다.
LLM의 거절(Refusal) 동작은 단 하나의 방향(Direction)으로 제어된다
13개의 오픈소스 채팅 모델을 분석했더니, 모델이 유해한 요청을 거절하는 동작이 내부 활성화 공간에서 단 하나의 1차원 벡터 방향으로 인코딩되어 있었다. 이 방향을 제거하면 안전 파인튜닝이 사실상 무력화되므로, 현재 안전 학습 방식이 얼마나 취약한지 보여준다.
LLM의 구조화된 출력(Structured Output)을 테스트하는 새 벤치마크 SOB 공개
스키마 준수 여부만 보던 기존 벤치마크의 한계를 넘어, 실제 값의 정확도까지 7가지 지표로 평가하는 Structured Output Benchmark(SOB)가 공개됐다. 인보이스 파싱, 의료 기록 추출처럼 JSON 출력의 정확성이 중요한 프로덕션 시스템에서 어떤 모델을 써야 할지 판단하는 데 직접적으로 참고할 수 있다.
Original Abstract (Expand)
Pathology departments generate large volumes of unstructured data as free-text diagnostic reports. Converting these reports into structured formats for analytics or artificial intelligence projects requires substantial manual effort by specialized personnel. While recent studies show promise in using advanced language models for structuring pathology data, they primarily rely on proprietary models, raising cost and privacy concerns. Additionally, important aspects such as prompt engineering and model quantization for deployment on consumer-grade hardware remain unaddressed. We created a dataset of 579 annotated pathology reports in German and English versions. Six language models (proprietary: GPT-4; open-source: Llama2 13B, Llama2 70B, Llama3 8B, Llama3 70B, and Qwen2.5 7B) were evaluated for their ability to extract eleven key parameters from these reports. Additionally, we investigated model performance across different prompt engineering strategies and model quantization techniques to assess practical deployment scenarios. Here we show that open-source language models extract structured data from pathology reports with high precision, matching the accuracy of proprietary GPT-4 model. The precision varies significantly across different models and configurations. These variations depend on specific prompt engineering strategies and quantization methods used during model deployment. Open-source language models demonstrate comparable performance to proprietary solutions in structuring pathology report data. This finding has significant implications for healthcare institutions seeking cost-effective, privacy-preserving data structuring solutions. The variations in model performance across different configurations provide valuable insights for practical deployment in pathology departments. Our publicly available bilingual dataset serves as both a benchmark and a resource for future research. Pathology departments produce many diagnostic reports as free text, which is hard to analyze or use in research and computer projects. Converting this free text into more standard organized information like test results or diagnoses, makes it easier to use. This task often requires human experts and takes time. Large language models (LLMs), which are advanced computer systems designed to understand and generate human-like text, might simplify this process. Here, we tested six LLMs, including freely available models and the commercial GPT-4 model, using 579 pathology reports in English and German. Our results show that freely available models can perform as well as commercial, providing a cheaper solution while avoiding privacy concerns. The shared dataset will support future research in pathology data processing. Grothey et al. examine the performance of large language models in structuring pathology reports. Findings demonstrate similar accuracy between commercial and open-source models providing a cost-effective, privacy-conscious solution to extract structured data with high precision from bilingual datasets.