Executive Summary

혈당을 예측하는 AI가 임상 현장에 들어가기 직전에 받는 검증은 대개 전체 환자를 한 덩어리로 놓고 계산한 숫자 하나입니다. 8월 18일 arXiv에 올라온 FairGlucose 논문은 그 숫자가 무엇을 가리는지를 측정했습니다. 존스홉킨스 케어리 경영대학원과 당뇨 관리 앱 회사 웰닥의 연구진은 연령 세 구간과 성별, 1형·2형 당뇨를 교차한 12개 층에 25명씩 균형을 맞춘 300명 코호트를 만들고, 네 계열 33개 모델에 2시간 뒤 혈당을 맞히게 했습니다.

처음 보는 환자에게 얼마나 잘 일반화하는지를 나타내는 전체 지표는 1.0 근처에서 안정적이었습니다. 같은 값을 12개 층으로 갈라 계산하자 0.8에서 1.4까지 흩어졌습니다. 1형 환자의 예측 오차는 2형보다 6.3mg/dL 높았고, 이 격차는 통계 모델부터 프런티어 LLM까지 33개 모델 전부에서 같은 방향으로 나타났습니다. 저자들은 여기서 특정 아키텍처의 결함이 아니라 과제 자체의 성질을 읽습니다.

격차의 출처를 따라가면 예측이 어려운 구간이 어느 층에 몰려 있는지의 문제로 좁혀집니다. 모델을 바꿔서는 닫히지 않는 격차라면 손댈 자리는 하나 남습니다. 데이터를 어떤 층으로 모으고, 결과를 어떤 단위로 보고하느냐입니다.

주요 수치

첫 숫자가 집계 지표 하나가 가린 폭이고, 나머지 셋은 그 폭이 어디서 왔는지를 가리킵니다.

출처: Luo 외, arXiv:2608.18296 (2026-08-18)

0.8 ~ 1.4

12개 층별 일반화 성능비

같은 지표를 전체 평균으로 계산하면 1.0 근처에서 안정적으로 보였습니다

6.3mg/dL

1형과 2형의 예측 오차 차이

95% 부트스트랩 신뢰구간 4.3~8.2, 순열검정 p<0.001로 우연으로 보기 어려운 크기입니다

33개 중 33개

같은 격차가 나타난 모델 수

통계·머신러닝·신경망 시계열·프런티어 LLM 네 계열 전부에서 1형 쪽 오차가 더 컸습니다

63 vs 10mg/dL

어려운 사례와 쉬운 사례의 오차

층별 격차는 대체로 어려운 사례가 그 층에 얼마나 몰려 있는지의 차이였습니다

1

전체 지표만 보면 문제가 없었다

데이터는 시뮬레이션이 아닙니다. 미국의 당뇨 관리 모바일 플랫폼을 실제로 쓰던 사용자들의 비식별 연속혈당측정(CGM) 기록입니다. 통제된 임상시험이 아니라 사람들이 앱을 쓰며 남긴 자기관리의 흔적이고, 측정 기기도 Dexcom G6와 Abbott FreeStyle Libre가 섞여 있습니다. 여기서 연령 18~39세, 40~64세, 65세 이상 세 구간과 성별, 1형·2형 당뇨를 교차해 12개 층을 만들고 각 층에 25명씩 배치했습니다. 300명, 예측 샘플 132,480개, 81명이 앱에 남긴 식사·운동·투약 이벤트 3,945건입니다.

팔에 부착된 연속혈당측정(CGM) 센서 — 이 논문의 원자료를 만든 것과 같은 종류의 기기
▲ 이 코호트의 원자료를 만든 것과 같은 계열의 연속혈당측정 센서(Abbott FreeStyle Libre) | Source: Raimond Spekking, Wikimedia Commons (CC BY-SA 4.0)

표본을 고르는 기준은 느슨하지 않았습니다. 하루치가 통째로 쓰이려면 24시간 288개 값이 빠짐없이 있어야 하고 앞뒤로 붙은 24시간과 8시간도 연속이어야 합니다. 같은 값이 40% 넘게 이어지거나 20mg/dL 아래가 하나라도 있거나 400mg/dL을 넘는 값이 20%를 웃돌면 그 하루를 통째로 버렸고, 빠진 값은 채워 넣지 않았습니다. 이렇게 남은 하루에서 1시간 간격으로 24개 쌍을 뽑았습니다. 한 쌍은 24시간 입력과 8시간 출력으로 이루어져 있고, 논문이 본문에서 채점한 것은 그 출력의 앞 2시간입니다. 층마다 사람 수만 맞춘 것이 아니라, 데이터 품질 기준도 층과 무관하게 똑같이 걸렀습니다.

검증 설계에서 눈여겨볼 대목은 층마다 환자를 두 갈래로 나눈 부분입니다. 25명 중 20명은 훈련과 검증에 참여시키되 쓰지 않은 날짜를 남겨 두었고, 나머지 5명은 훈련에서 완전히 빼 두었습니다. 앞쪽에서 잰 오차가 훈련에 참여한 환자의 새 날짜에 대한 성적이고, 뒤쪽에서 잰 오차가 모델이 한 번도 본 적 없는 환자에 대한 성적입니다. 두 값의 비율이 이 논문의 일반화 지표입니다. 1.0이면 처음 보는 환자에게도 훈련 때와 비슷하게 작동한다는 뜻이고, 1.4면 새 환자에서 40% 더 틀린다는 뜻입니다.

과제는 24시간치 혈당 기록을 넣고 2시간 뒤 값을 맞히는 것입니다. 33개 모델을 이 과제에 올려놓고 전체 코호트 기준으로 두 오차를 비교했더니, 모든 모델에서 두 신뢰구간이 겹쳤고 비율은 1.0 근처에 모였습니다. 통상적인 외부 검증 보고서라면 여기서 문장이 끝납니다. 일반화가 견고하다는 결론입니다.

2

12개 층으로 가르자 0.8에서 1.4로 흩어졌다

같은 계산을 12개 층에서 따로 하면 그림이 바뀝니다. 65세 이상 2형 남성 층에서는 비율이 0.90이었습니다. 처음 보는 환자가 오히려 조금 더 쉬웠다는 뜻입니다. 40~64세 2형 여성 층에서는 1.42였습니다. 코호트 안에서 가장 벌어진 두 값이고, 이 둘을 평균 내면 다시 1.0 부근이 됩니다.

같은 지표, 두 개의 보고 단위 0.8 1.0 1.2 1.4 처음 보는 환자의 오차 ÷ 훈련에 참여한 환자의 오차 전체 코호트 환자 300명 한 덩어리 ≈ 1.0 12개 인구 층 층마다 25명씩 0.90 2형·65세 이상·남성 1.42 2형·40~64세·여성
▲ arXiv:2608.18296이 보고한 전체 평균과 층별 성능비의 관계를 개념 도식으로 옮김 | 페블러스 원본 도식

오차의 절대 크기에서도 층이 갈립니다. 1형 환자의 오차는 2형보다 6.3mg/dL 높았고, 95% 부트스트랩 신뢰구간은 4.3에서 8.2, 순열검정 p값은 0.001 미만입니다. 훈련에서 완전히 빠져 있던 환자들만 따로 봐도 격차는 5.6mg/dL로 남았습니다. 임상 정확도 지표인 클라크 오차 격자 A 구역 비율에서도 상위 5개 모델 기준 2형 80.1%, 1형 72.2%로 갈렸습니다. 1형 당뇨의 혈당 변동성과 인슐린 동태가 예측을 더 어렵게 만든다는 임상적 상식이 그대로 수치에 찍힌 셈입니다. 겹치는 슬라이딩 창 때문에 샘플 단위로 계산한 신뢰구간은 불확실성을 실제보다 좁게 잡습니다. 그래서 저자들은 환자를 복원추출하는 방식으로 1,000회 부트스트랩과 10,000회 순열검정을 돌려 이 값을 냈습니다.

이 상식은 모델을 돌리기 전 원자료에도 이미 찍혀 있었습니다. 혈당 변동계수는 1형이 0.29, 2형이 0.23이고 목표 범위 안에 머문 시간은 1형 65.3%, 2형 68.9%입니다. 12개 층 가운데 변동성이 가장 큰 층은 18~39세 1형 남성으로 평균 혈당 174.6mg/dL, 변동계수 0.30이었습니다. 저자들이 층별 분해 평가의 근거로 가장 먼저 든 것이 이 표입니다. 모델 성능의 격차를 대볼 기준선이 신호 자체에 이미 들어 있었습니다.

2.1축 하나씩 보면 성별 차이는 사라진다

더 까다로운 것은 성별입니다. 환자 단위로 남녀를 통째로 비교하면 차이가 0.19mg/dL, p값 0.86입니다. 성별로는 아무 문제가 없다는 결론이 나옵니다. 그런데 당뇨 유형별로 갈라 보면 방향 자체가 뒤집힙니다. 1형에서는 18~39세와 40~64세 구간에서 여성의 오차가 남성보다 각각 3.3mg/dL, 2.1mg/dL 높았습니다. 2형에서는 반대로 40~64세와 65세 이상 구간에서 여성이 3.4mg/dL, 2.4mg/dL 낮았습니다. 부호가 반대인 두 효과가 전체 평균에서 서로를 지웠습니다. 65세 이상 1형에서는 남성의 우위가 0.5mg/dL로 사실상 사라져, 같은 유형 안에서도 연령대에 따라 방향이 다시 달라집니다. 연령 축만 따로 세워도 마찬가지입니다. 18~39세와 65세 이상의 차이는 1.85mg/dL, p값 0.16으로 유의하지 않습니다.

이 대목이 논문이 교차 분석을 강조하는 이유입니다. 성별만 보는 공정성 점검, 연령만 보는 공정성 점검은 이 코호트에서 모두 통과합니다. 축을 겹쳐야만 보이는 격차이고, 균형 표본으로 설계했기 때문에 표본 수 차이로 둘러댈 수도 없습니다. 정확도가 가장 나쁜 층과 일반화가 가장 나쁜 층이 서로 다른 층이라는 점도 함께 봐야 합니다. 훈련에 참여한 환자 기준 오차가 가장 큰 층은 18~39세 1형 여성으로 31.9mg/dL였고, 가장 좋은 층은 19.9mg/dL였습니다. 반면 일반화가 가장 나쁜 층은 앞서 본 40~64세 2형 여성입니다. 두 종류의 위험군을 한 지표로 동시에 잡을 방법은 없습니다.

3

33개 모델 전부가 같은 방향으로 틀렸다

비교 대상은 네 계열입니다. ARIMA와 AutoETS 같은 통계 모델, LightGBM과 XGBoost 같은 부스팅 계열, PatchTST와 TFT를 비롯한 신경망 시계열 모델 20종(학습 없이 바로 쓰는 파운데이션 모델 Chronos2가 여기 포함됩니다), 그리고 GPT-5.1과 Claude 4.5 Sonnet, Gemini 3 Flash 같은 프런티어 LLM에 시계열 전용 파운데이션 모델 TimeGPT를 묶은 6종입니다. 성적 자체는 널찍하게 갈렸습니다. 가장 정확한 NS-Transformer가 25.62mg/dL, 가장 부정확한 Chronos2가 39.70mg/dL입니다.

계열 사이의 순위 자체는 익숙한 그림입니다. 어텐션 계열 신경망이 상위를 차지했고, 부스팅 계열 LightGBM은 PatchTST와 오차 차이가 0.2mg/dL 이내인데다(25.96 대 25.75) 임상 정확도 지표에서는 오히려 앞섰습니다(클라크 A 76.8% 대 76.0%). 통계 기준선 ARIMA도 27.44mg/dL로 프런티어 LLM 여러 개보다 나았습니다. 클라크 A는 Chronos2의 54.2%부터 33개 중 가장 높은 LightGBM의 76.8%까지 벌어졌고, A 구역에 들지 못한 23~24%는 대부분 치료를 바꿀 필요가 없는 B 구역이었습니다. 네 계열에서 하나씩 뽑아 이 순위를 아래 표에 정리했습니다.

그런데 1형 열과 2형 열을 나란히 놓으면 순위와 무관하게 같은 부등호가 반복됩니다.

계열 모델 전체 1형 2형
신경망 NS-Transformer 25.62 28.46 22.79
머신러닝 LightGBM 25.96 29.07 22.84
신경망 PatchTST 25.75 28.68 22.83
통계 ARIMA 27.44 30.78 24.10
LLM GPT-5.1 27.57 30.62 24.52
LLM Claude 4.5 Sonnet 28.20 30.87 25.53
신경망(무학습) Chronos2 39.70 44.21 35.18

▲ 논문 Table 3에서 계열별로 뽑은 7개 모델의 2시간 예측 오차(rMSE, mg/dL). 전체 33개 모델 모두에서 1형 열이 2형 열보다 높았습니다

아키텍처를 바꿔도, 계열을 통째로 바꿔도, 심지어 학습 없이 프롬프트로만 예측하는 LLM으로 갈아타도 부등호는 뒤집히지 않았습니다. 저자들이 이 격차를 개별 모델의 결함이 아니라 과제의 성질로 읽는 근거가 이 반복입니다. 모델을 더 잘 만들어서 닫을 수 있는 격차도 아닙니다.

3.1층별 분산이 낮다고 공정한 모델은 아니다

저자들은 여기서 축을 하나 더 세웁니다. 가로축에 평균 오차를 놓고, 세로축에 12개 층 사이의 오차 표준편차를 놓아 정확도와 층별 균등함을 따로 봤습니다. 이 평면에서 프런티어 LLM의 위치가 묘합니다. Claude 4.5 Sonnet의 층별 분산은 5.34로 비교한 15개 모델 중 가장 낮았고 Gemini 3 Flash가 5.73으로 세 번째였는데, 두 모델의 평균 오차는 28.2mg/dL와 31.3mg/dL로 상위권 신경망보다 3~6mg/dL 높습니다.

정확도와 층별 균등함은 다른 축이다 평균 오차 (rMSE, mg/dL) → 12개 층 사이 분산 → 25 30 35 5.0 6.5 8.0 LightGBM 6.23 TimeGPT 6.21 N-HiTS 6.58 ARIMA 6.68 Naive 6.79 Claude 4.5 · 5.34 Gemini 3 · 5.73 Autoformer 8.14 PatchTST · TFT 두 축 모두 양호 분산이 가장 낮은 두 모델은 오차가 가장 큰 축에 속한다
▲ 논문 Figure 4의 정확도-공정성 평면을 본문에 수치가 명시된 모델만 추려 옮김. PatchTST와 TFT는 좌하단에 위치한다고만 보고돼 좌표 대신 영역으로 표시 | 페블러스 원본 도식

저자들은 이 위치를 칭찬으로 읽지 말라고 못 박습니다. 여기서의 낮은 분산은 공평한 유능함이 아니라 고르게 평범한 무학습 예측을 반영하므로 배포 준비의 근거가 되지 않으며, 다만 오차의 크기와 오차의 균등함이 리더보드 한 열이 가려 버릴 서로 다른 성질이라는 사실은 보여 준다고 적었습니다. 실제로 두 축이 함께 좋은 자리도 비어 있지 않았습니다. PatchTST와 TFT는 정확도와 층별 균등함을 모두 확보했고, 통계 기준선인 ARIMA와 Naive는 15개 중 13위와 14위로 오히려 가장 덜 균등한 쪽에 있었습니다.

4

격차의 정체는 어려운 사례의 비율이었다

층별 격차가 어디서 생기는지 캐 들어가면 예상 밖의 답이 나옵니다. 저자들은 예측 샘플 하나하나를 여러 모델의 다수결로 어려운 사례와 쉬운 사례로 나눴습니다. 대부분의 모델이 크게 틀린 샘플이 어려운 사례입니다. 그렇게 나눠 놓고 보니 난이도 안에서의 평균 오차는 층을 옮겨도 꽤 안정적이었습니다. 어려운 사례는 63mg/dL 언저리, 쉬운 사례는 10mg/dL 언저리입니다.

달라지는 것은 두 종류가 섞인 비율이었습니다. 어려운 사례는 1형 층에 몰려 있습니다. 젊은 남성 1형과 중년 여성 1형 층에서 비중이 가장 높았고, 65세 이상 2형 남성 층에서 쉬운 사례 비중이 가장 높았습니다. 저자들은 층별 성능 격차가 대체로 이 구성비의 차이에서 온다고 결론지었습니다. 어려운 사례는 혈당이 급변하는 구간, 식후 스파이크, 운동 후 급락처럼 예측이 가장 쓸모 있어야 할 순간들입니다.

그래서 상위 모델의 개선폭을 난이도별로 갈라 보면 방향이 어긋납니다. Naive 기준선 대비 상위 신경망의 오차 비는 쉬운 사례에서 0.77에서 0.89까지 내려갔지만 어려운 사례에서는 0.89에서 0.92에 머물렀습니다. 어려운 사례에서 가장 좋은 성적은 PatchTST의 0.89, 쉬운 사례에서 가장 좋은 성적은 TimeXer의 0.77입니다. 평균 지표가 좋아지는 대부분의 몫이 쉬운 구간에서 나왔고, 임상적으로 중요한 구간의 개선은 그보다 훨씬 작았습니다. 비교 대상을 하나 더 놓으면 크기가 실감납니다. 통계 기준선인 ARIMA와 AutoETS는 두 난이도 모두에서 비가 1.0 근처에 머뭅니다. 어려운 사례만 떼어 보면 최신 신경망이 고전적 기준선보다 10% 남짓 나은 데 그칩니다.

4.1식사와 운동을 다 알려줘도 0.1mg/dL

어려운 사례가 식사와 운동 때문에 생긴다면, 그 정보를 모델에 넣어 주면 될 것 같습니다. 저자들은 이 직관을 가장 유리한 조건에서 시험했습니다. 앱에 기록된 식사·운동·투약 이벤트를 넣되, 예측 시점 이후에 일어난 이벤트까지 함께 준 것입니다. 실제 배포에서는 알 수 없는 정보를 미리 알려 준 셈이라 성능 향상의 상한선에 해당합니다.

상한선이 0.1mg/dL 남짓이었습니다. PatchTST가 0.11mg/dL, TFT가 0.08mg/dL 좋아졌습니다. 65세 이상 층에서는 PatchTST가 오히려 0.16mg/dL 나빠졌습니다. 이벤트가 실린 샘플이 전체의 16.8%로 적지 않았고 그중 투약이 72.8%, 식사가 15.9%, 운동이 11.3%였는데도 그렇습니다. 이벤트 기록 밀도 자체에도 층 차이가 있어서 65세 이상은 젊은 층보다 22% 적게 기록했고 2형이 1형보다 12% 많이 기록했지만, 그 차이가 예측 오차로 이어지지는 않았습니다.

이벤트가 왜 이렇게 힘을 못 쓰는지는 시점 분포에 단서가 있습니다. 창 단위로 세어 보면 이벤트 발생의 33.8%만 24시간 입력 구간에 들어 있고, 정작 채점 대상인 2시간 예측 구간에 걸친 것은 3.0%뿐입니다. 나머지 63.2%는 예측 시점에서 2시간에서 24시간 사이에 일어납니다. 오라클 조건이 넉넉해 보여도 채점 구간과 겹치는 이벤트 자체가 드뭅니다. 그런데도 모델 4개와 층 8개를 교차한 32개 비교 중 31개에서 이벤트를 넣은 쪽이 같거나 나았습니다. 방향은 일관되지만 크기가 임상적 유의 기준인 5mg/dL 근처에도 가지 못합니다. 이득이 눈에 띈 쪽은 오히려 약한 모델이었습니다. Autoformer는 0.77mg/dL 좋아졌습니다. 상위 모델은 이벤트를 따로 알려 주지 않아도 24시간 혈당 곡선에서 그 흔적을 이미 읽고 있었다고 저자들은 해석합니다.

입력 길이에서는 층별 차이가 분명하게 나타났습니다. 18~39세, 특히 1형 환자는 최근 기록만 짧게 넣어도 24시간을 다 넣은 것과 비슷한 성적이 나왔습니다. 65세 이상, 특히 2형 환자는 입력을 줄일수록 성능이 크게 떨어졌습니다. 모든 환자에게 같은 길이의 입력 창을 고정해 쓰면, 어떤 층에서는 데이터를 낭비하고 어떤 층에서는 성능을 잃습니다. 모델 쪽에서도 갈립니다. PatchTST와 TFT, N-HiTS 같은 신경망은 입력을 늘릴수록 이득이 컸고 선형 모델과 파운데이션 모델은 거의 늘지 않았습니다. CGM 입력을 길게 줘도 얻는 것이 적다던 기존 보고와 달리, 이득의 크기는 아키텍처에 달려 있었다고 저자들은 반박합니다.

5

고칠 대상은 모델이 아니라 보고 단위다

논문의 권고는 아키텍처 제안이 아닙니다. 서브그룹별로 분해한 보고를 디지털 헬스 AI 평가의 기본값으로 삼자는 것입니다. 임상시험이 인구 집단별로 결과를 나눠 보고하는 관행과 같은 자리에 두자는 제안이고, 난이도별로 분해한 보고도 함께 붙이자고 덧붙였습니다. 33개 모델을 전부 갈아 봐도 격차가 그대로였다면, 남은 손잡이는 코호트 구성과 보고 단위뿐입니다.

기존 CGM 벤치마크와 비교하면 이 코호트가 무엇을 새로 한 것인지 분명해집니다. GlucoBench는 공개 데이터셋 다섯 개를 묶어 461명 규모를 확보했지만 인구 균형을 강제하지 않았고, OhioT1DM은 1형 환자 12명뿐입니다. GluFormer는 CGM 측정치 1,000만 건으로 학습한 파운데이션 모델이면서 서브그룹 평가를 수행하지 않았습니다. 균형을 미리 설계에 넣어 두지 않으면 나중에 층별로 갈라 보고 싶어도 갈라볼 표본이 없습니다.

저자들은 자기 한계도 적어 두었습니다. 이벤트는 앱에 직접 기록된 것뿐이라 수면이나 스트레스 같은 수동 센싱 데이터가 빠져 있고, 데이터가 미국 단일 플랫폼에서 나왔으므로 다른 지역과 인구, 다른 CGM 기기로의 일반화는 따로 검증해야 합니다. 12개 층은 연령·성별·당뇨 유형만 교차한 것이라 인종이나 사회경제적 지위, 동반질환 같은 축은 담기지 않았습니다. 단일 데이터셋에 과적합될 위험도 있어 다른 데이터셋과 병행 검증을 권합니다. 코호트 메타데이터와 분할, 코드, 참조 리더보드는 GitHub에 공개될 예정이고, 원시 CGM 데이터는 웰닥과의 데이터 사용 협약으로만 요청할 수 있습니다.

Editor's Note: 페블러스가 데이터 품질 현장에서 자주 보는 장면과 겹칩니다. 검증이 끝났다는 보고는 대개 숫자 하나로 도착합니다. 그 숫자가 어떤 단위로 집계됐는지는 잘 따라오지 않습니다. 이 논문이 보여 준 것은 집계 단위를 바꾸는 것만으로 같은 데이터에서 없던 격차가 드러난다는 사실입니다. 모델을 33개 바꿔도 안 보이던 것이 보고 단위를 한 번 바꾸자 보였습니다. 어떤 층으로 나눠 볼 것인지는 데이터를 모으기 전에 정해 두어야 하는 항목이고, 이 코호트가 층마다 25명씩을 미리 배치해 둔 이유이기도 합니다.

원문은 arXiv:2608.18296에서 볼 수 있습니다.

R

참고문헌