임상 LLM에 계산을 맡기지 않는 법: 프로그램 풀이의 효과와 한계
들어가며
임상 계산기는 환자의 나이, 체중, 검사 수치 등을 바탕으로 점수와 위험도를 계산한다. 수식이 복잡하지 않더라도 중간 산술에서 한 번만 오류가 나면 최종 권고가 달라질 수 있다. 언어 모델에게 자연어로 계산을 맡기는 방식은 이런 환경에서 특히 취약하다. 이번 연구는 모델이 직접 계산하는 대신 사례에 맞는 Python 코드를 작성하고, 제한된 로컬 실행기가 실제 산술을 수행하도록 하는 ‘프로그램 풀이’ 방식을 검증했다.
핵심 결과
- 이해와 계산을 분리했다. 모델은 어떤 수식을 사용할지, 사례에서 어떤 값을 넣을지 판단하고 코드를 생성한다. 숫자 연산 자체는 결정론적 실행기가 담당한다.
- 비교 조건을 맞췄다. 연구진은 MedCalc-Bench Verified의 1,100개 사례와 55개 계산기를 사용해 Qwen2.5-7B와 Qwen2.5-32B-AWQ를 평가했다. 직접 계산과 프로그램 풀이 모두 같은 수식, 정답 변수, 전체 임상 노트를 제공받았다.
- 7B에서는 안정적인 우위가 확인되지 않았다. 프로그램 풀이는 75.31%, 직접 계산은 72.02%로 3.29%포인트 높았다. 하지만 계산기 단위 95% 구간이 [-3.49, 10.38]이어서 일관된 개선이라고 보기 어렵다.
- 32B에서는 차이가 더 분명했다. 프로그램 풀이는 90.53%, 직접 계산은 83.47%로 7.05%포인트 높았다. 95% 구간은 [0.47, 14.60]으로 0을 넘었다.
- 수기 라이브러리는 정확성과 범위를 맞바꾼다. 22개 계산기로 구성된 라이브러리는 지원하는 440개 사례에서 정확했지만, 나머지는 답변을 보류해 전체 정확도가 40.0%였다.
- 수식 자체도 검증 대상이다. 벤치마크 감사를 통해 55개 계산기 중 16개에서 버전, 사용 방식 또는 계수에 관한 우려가 제기됐다.
의미와 한계
이 연구의 결론은 Python 실행기를 추가하면 임상 LLM이 자동으로 신뢰할 수 있게 된다는 뜻이 아니다. 실행기는 모델이 문장 안에서 산술을 잘못 수행하는 오류를 줄일 수 있을 뿐이다. 모델은 여전히 임상 노트에서 올바른 변수를 추출하고, 적절한 계산기를 선택하며, 단위와 적용 조건을 이해해야 한다. 입력 변수나 수식이 잘못되면 실행기는 잘못된 문제를 정확하게 계산할 뿐이다.
모델 크기에 따른 차이도 주목할 만하다. 수식, 변수, 노트에 동일하게 접근한 조건에서 7B 모델은 확실한 이점을 얻지 못했지만, 32B 모델은 프로그램 풀이를 성능 향상으로 연결했다. 이는 코드 생성, 작업 분해, 도구 사용 판단 능력이 중요할 수 있음을 시사한다. 다만 이번 결과만으로 모델 크기가 차이의 유일한 원인이라고 단정할 수는 없다.
실제 임상 시스템에는 여러 겹의 안전장치가 필요하다. 임상 전문가가 검토하고 버전을 관리하는 수식, 제한된 실행 환경, 단위와 결측값 검사, 변수 추출 검증, 불확실할 때의 답변 보류를 함께 설계해야 한다. 결정론적 계산은 중요한 구성 요소지만, 신뢰할 수 있는 임상 의사결정 지원의 충분조건은 아니다.
댓글
로그인 상태 확인 중…
댓글 불러오는 중…