건강 AI의 안전 계층에 HealthBench를 적용해 보니, 베어 모델보다 점수가 낮았습니다.
요약
건강 정보 비서 Tabibu를 개발하고 안전 계층을 적용한 후, HealthBench 벤치마크를 통해 성능을 평가했습니다. 그 결과, 안전성을 높인 파이프라인의 점수가 기반 모델보다 낮게 나왔습니다. 이는 안전성이 완전성(completeness) 중심의 벤치마크와 상충하기 때문이며, 이 과정에서 실제 안전 버그도 발견되었습니다.
핵심 포인트
- 안전 계층은 완전성 평가가 중요한 HealthBench에서 낮은 점수를 받을 수 있습니다.
- 파이프라인 설계는 '더 안전함'에 초점을 맞추어 구조적으로 점수 감점 요인이 됩니다.
- 벤치마크의 점수가 곧 제품의 안전성을 의미하지 않으므로 주의해야 합니다.
저는 건강 정보 비서인 Tabibu를 만들었습니다. 이 서비스는 언어 모델 위에 안전 계층을 추가합니다. 여기에는 응급 상황 에스컬레이션(emergency escalation), 처방 용량 거부, 검색된 출처 기반 답변, 그리고 출력물을 검토하는 리뷰어가 포함됩니다. 저는 이 안전 계층이 공개 벤치마크에서 어느 정도의 비용을 발생시키는지 알고 싶어서 HealthBench를 적용해 보았습니다.
요약하자면, 전체 파이프라인의 점수가 기반이 된 베어 모델보다 낮게 나왔고, 정책 중 하나를 변경했을 때 그 격차가 줄어들었으며, 이 측정 과정에서 실제 안전 버그가 발견되었습니다. 제가 무엇을 했고 이것이 무엇을 의미하는지 설명하겠습니다.
테스트 내용
HealthBench는 OpenAI의 공개 벤치마크로, 의사들이 작성한 루브릭 기준에 따라 평가된 5,000개의 다중 턴 건강 대화로 구성되어 있습니다. 이 기준들은 점수를 추가하거나 빼며, 답변의 점수는 획득한 점수를 이용 가능한 최대 양수 점수로 나눈 값입니다.
저는 주제별로 분류하여 150개 대화 세트를 테스트에 사용했습니다. 임상 기록 작성(clinical note-writing) 주제는 일반 사용자 시나리오가 아니기 때문에 제외했습니다. 평가 도구로는 제가 논문 설명에서 재구현한 프롬프트를 사용한 gpt-4.1-mini를 사용했습니다. 따라서 이 수치들은 공식 리더보드와 비교할 수 없습니다. 오직 동일한 대화 세트 내에서 후보들끼리 비교하는 데만 유용합니다.
세 가지 후보 모델은 다음과 같습니다:
- 전체 Tabibu 파이프라인: 검색(retrieval), 입력 및 출력 가드레일(input and output guardrails), 안전 계층(safety layer).
- 기반 모델 자체 (설정에서 gpt-6-luna 사용): 중립적인
주제별 분석(theme breakdown)이 헤드라인보다 더 흥미로웠습니다. 응급_의뢰(emergency_referrals) (16개 대화)에서는 파이프라인이 베어 모델 대비 0.553점, 그리고 gpt-4o-mini 대비 0.542점을 기록했는데, 이는 노이즈 범위 내에 있습니다. 글로벌_건강(global_health) (36개 대화)에서는 파이프라인이 0.230점을 기록하여 이전 점수와 큰 차이를 보였습니다.
안전 계층이 이 벤치마크에서 낮은 점수를 받는 이유
HealthBench는 완전성(completeness)을 중요하게 평가합니다: 특정 용량, 감별 진단, 광범위한 범위의 커버리지를 말이죠. 제 파이프라인은 더 안전하도록 설계되었지, 더 완벽하기 위함은 아닙니다. 처방약에 대한 수치적 용량을 제공하는 것을 거부하고, 진단을 내리지 않으며, 모델의 일반 지식보다는 검색된 출처에서 답변하는 것을 선호합니다. 이 모든 선택들이 구조적으로 루브릭 점수를 깎아내립니다.
글로벌_건강에서의 격차는 더 평범한 원인을 가지고 있었습니다. 제 검색 코퍼스는 한 국가를 깊이 있게 다루고 있기 때문에, 질문이 그 범위를 벗어날 경우 파이프라인은 출처에서 답변을 찾을 수 없다고 말했습니다. 기준선(baseline)에서는 150개 대화 중 48개에서 이런 일이 발생했고, 바로 이 대화들에서 베어 모델이 앞서 나갔습니다.
이 모든 것이 베어 모델이 더 안전하다는 것을 의미하지는 않습니다. 이 벤치마크는 그것을 측정하지 않기 때문입니다. 다만, 완전성 벤치마크만 주시하는 팀은 제품을 더 안전하게 만드는 계층(layer)을 제거하도록 유혹될 수 있다는 것을 의미합니다.
점수를 변화시킨 요소들
저는 하나의 정책을 변경했습니다: 어시스턴트가 거부하는 대신, 모델 자체의 지식으로 일반적이고 위험도가 낮은 질문에 답변하게 하되, 그 답변이 큐레이션된 출처에서 나온 것이 아님을 명확히 라벨링하도록 했습니다. 또한 처방약, 아동용, 고위험 용량은 보류한 채로(deferred), 단기적인 저위험 품목(일반 영양소, 경구 수액, 일상적인 일반의약품 진통제)에 대해서는 성인 용량을 허용했습니다.
| Run | Mean (95% CI) |
|---|---|
| Baseline | 0.383 ± 0.049 |
| ... | |
| Run-to-run noise from non-deterministic generation was about ±0.03, so I would not read anything into differences smaller than that. The policy change was worth about +0.09 over baseline. The final number is lower than the intermediate one after the safety fix described in the next section. |
발견된 버그 측정
기준별(Per-criterion) 결과는 평균치 대신 실패 사례를 읽을 수 있게 했습니다. 그렇게 하면서, 원래 규칙으로는 파이프라인이 검색된 국가 처방 목록에서 처방 용량을 바로 인용할 수 있다는 것을 알게 되었습니다. 예를 들어, 모르핀 투여 간격, 주 1회 메토트렉세이트 복용량, 리튬 범위, 아동용 아목시실린 복용량 등이 있었습니다. 제 용량 규칙은 숫자 근처에 알려진 약물 이름과 지침 동사(instruction verb)가 필요했는데, 이 구절들은 일치하지 않았습니다.
저는 이를 양(amount)에 대한 규칙과 함께 투여량을 나타내는 규칙으로 대체했습니다.
– 이는 150개의 대화에 대해 후보군별로 한 번 실행되며, ±0.03의 생성 노이즈가 있습니다.
– 평가자는 제가 다시 작성한 프롬프트를 사용한 더 작은 모델입니다. 공식적인 것은 아니며, 사람의 검토는 없습니다.
– 최종 실행은 투여 규칙(dose rule)에 대한 마지막 작은 수정 전에 측정되었으며 재실행되지 않았습니다.
– 대부분의 HealthBench 대화는 일반적이거나 미국 중심적이며, 제 코퍼스(corpus)는 좁기 때문에 파이프라인이 범위(scope) 측면에서 부분적으로 점수를 받고 있습니다.
– 점수가 안전 인증을 의미하지 않습니다. 저는 아직 안전 규칙에 대한 임상의 검토를 받지 못했습니다.
– API 지출액 약 US$6.60으로, 이는 결정적인 평가라기보다는 저렴한 실험입니다.
제가 얻고자 하는 것 (What I would take from it)
모델을 기반으로 구축한다면, 안전 계층(safety layer) 유무에 따라 동일한 대화로 벤치마크를 실행하고 두 수치를 모두 발표하십시오. 평균 점수뿐만 아니라 각 기준별 실패 사례를 읽으십시오. 왜냐하면 실제 버그는 그곳에 있기 때문입니다. 그리고 더 많이 말하는 것을 보상하는 벤치마크만을 보고하는 건강 비서(health assistant)에 대해서는 의심해야 합니다.
저는 Tabibu의 개발자이며, 그 한계와 테스트 결과는 tabibu.health/trust에서 확인할 수 있습니다. 여러분 자신의 건강 AI 작업에서 안전성을 어떻게 측정하고 있는지 듣고 싶습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기