보여주려던 차이는 0.003이었고, 그냥 다시 돌리니 0.115가 움직였습니다
- AI활용
- 검증
- 데이터분석
- 실측
- 일하는방식
교육 자료를 만들면서 대조를 하나 넣었습니다. “이렇게 손보면 점수가 이만큼 올라갑니다.” 화면에는 숫자 두 개가 붙어 있었습니다. 전과 후요.
발표 전에 그 숫자들을 전부 실제로 돌려서 맞는지 재보기로 했습니다. 대부분은 정확히 재현됐습니다. 하나만 빼고요.
그 하나는 방향이 반대로 나왔습니다.
1. 틀린 줄 알았는데, 틀린 게 아니었습니다
처음엔 제가 계산을 잘못했다고 생각했습니다. 그래서 다시 돌렸습니다. 또 다르게 나왔습니다. 세 번째도 달랐습니다.
그때 알았습니다. 이 계산은 돌릴 때마다 값이 다릅니다. 안에 무작위가 들어 있으니까요.
그래서 세는 대신 스물다섯 번을 돌렸습니다. 양쪽 조건을 각각요.
결과가 이랬습니다.
- 두 조건의 평균 차이: 약 0.003
- 같은 조건 안에서 다시 돌릴 때의 흔들림 폭: 약 0.115
제가 보여주려던 차이보다, 아무것도 안 바꾸고 다시 돌렸을 때의 흔들림이 훨씬 컸습니다.
그러니까 제 자료에 적힌 그 두 숫자는 거짓말이 아니었습니다. 실제로 한 번 돌려서 나온 값들이었어요. 다만 그건 결과가 아니라 표본 하나였습니다. 그리고 저는 그 표본 하나를 결론처럼 화면에 박아뒀습니다.
무서운 건 이겁니다. 그 숫자를 다시 안 돌려봤으면 끝까지 몰랐습니다. 앞뒤가 맞고, 그럴듯하고, 이야기가 예쁘게 떨어졌거든요.
2. 점으로 찍는 순간 거짓말이 됩니다
여기서 제가 배운 규칙은 하나였습니다.
흔들리는 계산의 값은, 쓰기 전에 폭을 먼저 잰다. 폭이 보여주려는 차이보다 크면, 그건 숫자가 아니라 띠다.
띠를 점으로 찍으면 그때부터 거짓말이 됩니다. 화면에 0.780이라고 적으면 읽는 사람은 그걸 하나의 사실로 받습니다. 소수점 세 자리까지 있으면 더 그렇습니다. 정밀해 보이니까요.
그런데 그 값의 실제 정체는 “0.72와 0.84 사이 어딘가에서 이번에 뽑힌 하나”입니다. 그 사실이 화면 어디에도 없습니다.
그리고 이건 제 실수가 특별해서 생긴 게 아닙니다. 도구가 값을 하나만 주기 때문입니다. 돌리면 숫자 하나가 나옵니다. 폭은 안 알려줍니다. 물어보지 않으면요.
3. 이건 「같은 걸 시켰는데 답이 다르다」의 세 번째 원인입니다
제가 이 자리에서 비슷해 보이는 글을 두 번 썼습니다. 그런데 원인이 서로 다릅니다. 이번 것까지 세 개가 됩니다.
- ㉮ 내가 조건을 안 줬을 때 — 말하지 않은 기준은 AI가 대신 정합니다. AI가 조용히 하나를 골라 계산하고, 그 선택은 화면에 안 보입니다.
- ㉯ 규칙을 말로만 줬을 때 — 같은 명령을 다시 줘도, 같은 작업이 되지는 않습니다. 문장은 그대로인데 해석이 매번 조금씩 다릅니다.
- ㉰ 조건도 규칙도 고정인데 다를 때 — 이번 글입니다. 계산 자체에 무작위가 들어 있습니다.
셋을 구분해야 하는 이유는 처방이 다르기 때문입니다.
㉮는 조건을 적어주면 없어집니다. ㉯는 규칙을 코드로 옮기면 없어집니다. ㉰는 안 없어집니다. 없앨 수 있는 게 아니라 재야 하는 것입니다.
그래서 ㉰를 ㉮나 ㉯로 오해하면 엉뚱한 데를 고치게 됩니다. 프롬프트를 아무리 정교하게 써도 흔들림은 그대로 있습니다.
4. 어디에 흔들림이 들어 있나
“저는 모델을 만들지 않는데요”라고 생각하실 수 있습니다. 이 문제는 그보다 훨씬 넓게 깔려 있습니다.
우리가 매일 하는 것 중에도 있습니다.
- 프롬프트 두 개를 비교할 때. A로 한 번, B로 한 번 받아보고 “B가 낫네” 합니다. 그런데 A로 한 번 더 받으면 어땠을까요.
- 모델을 비교할 때. 같은 질문을 두 모델에 던져 답을 나란히 놓고 고릅니다. 한 번씩요.
- 요약·번역·분류 품질을 볼 때. 샘플 몇 개로 판단합니다.
- “이 설정으로 바꿨더니 좋아졌다” — 바꾸기 전 한 번, 바꾼 후 한 번.
전부 표본 하나 대 표본 하나입니다. 그리고 생성형 AI는 같은 입력에도 다른 출력을 내도록 설계돼 있습니다. 흔들림이 기본값입니다.
그러니 “B가 낫다”는 결론이 진짜 B가 나은 것인지, 이번에 B가 잘 나온 것인지 구분이 안 됩니다. 대부분의 경우 우리는 이 구분을 안 하고 넘어갑니다. 저도 그랬고요.
5. 그래서 무엇을 하나 — 세 번 돌리기
거창한 게 아닙니다. 통계를 배우자는 얘기도 아닙니다.
결론에 쓸 숫자는, 결론을 정하기 전에 세 번 돌려 보십시오.
세 번이면 됩니다. 스물다섯 번은 제가 자료에 박을 숫자여서 그랬던 거고, 판단만 하실 거면 세 번으로 대부분 갈립니다.
세 번을 돌리면 두 가지 중 하나가 보입니다.
- 세 번이 거의 같다 → 그 값을 써도 됩니다. 점으로 찍어도 됩니다.
- 세 번이 꽤 다르다 → 그럼 차이가 그 폭보다 큰지를 봐야 합니다. 폭 안에 있으면, 그건 아직 발견이 아닙니다.
AI에게 시키실 때는 이렇게 붙이십시오.
“같은 조건으로 세 번 반복해서 각각의 값을 다 보여줘. 평균만 주지 말고 가장 낮은 값과 가장 높은 값도 같이 적어줘. 그리고 내가 비교하려는 두 조건의 차이가 그 폭보다 큰지 말해줘.”
“평균만 주지 말고”가 핵심입니다. 평균만 받으면 점이 하나 더 생길 뿐이라 똑같은 함정에 다시 빠집니다. 필요한 건 폭입니다.
마무리 — 값이 틀린 게 아니라, 값이 하나였던 게 문제입니다
제 자료에 적혀 있던 숫자는 조작된 게 아니었습니다. 진짜로 나온 값이었습니다. 검증을 안 한 것도 아니었고요 — 다른 숫자들은 전부 정확히 재현됐습니다.
문제는 한 번 돌려 나온 값을, 한 번 돌려 나온 값인 줄 모르고 썼다는 것입니다.
이건 제가 눈으로 찾은 하나는 고칠 대상이 아니라 표본이라고 쓴 것과 같은 모양입니다. 그 글은 결함 하나가 표본이라는 얘기였고, 이 글은 결과 숫자 하나가 표본이라는 얘기입니다. 둘 다 하나를 전체로 읽었을 때 생기는 일이고요.
AI로 일할수록 숫자는 쉽게 나옵니다. 시키면 나옵니다. 그럴수록 그 숫자가 몇 번째 시도인지를 아는 사람이 줄어듭니다.
그러니 결론에 숫자를 넣기 전에 한 번만 물어보시면 좋겠습니다.
“이거, 다시 돌리면 같은 값이 나옵니까?”
물어보는 데 10초, 확인하는 데 1분입니다. 저는 이 질문을 안 해서 틀린 대조 하나를 자료에 넣어뒀고, 발표 이틀 전에 겨우 찾았습니다.
무료 이북
도구는 갈아타는 것이고, 실력은 실려 가는 것입니다
데이터임팩트 박상훈
AI 글은 많이 읽었는데 여전히 뭘 어떤 순서로 해야 할지 모르겠다면. 10년, 130여 건의 기업 교육 현장에서 정리한 순서 한 장을 담았습니다. 지금 내가 어디에 있는지, 도구가 바뀌어도 안 바뀌는 것은 무엇인지, 그리고 오늘 붙일 한 줄까지.
노트북용 데스크톱판과 휴대폰에서 확대 없이 읽히는 모바일판을 함께 보내드립니다. 화면 열람용이라 인쇄는 제한되어 있습니다.