AI가 여전히 글을 잘 쓰지 못하는 이유와 그 문제의 절반이 실제로 당신의 책임인 이유
요약
AI의 글쓰기 품질 저하 원인에 대한 오해를 바로잡습니다. 추측 디코딩(Speculative Decoding)은 수학적으로 손실 없는 기술이며, 실제 품질 저하의 주된 원인은 RLHF 과정에서 모델이 안전하고 훑어보기 쉬운 특정 어조로 편향되는 현상입니다.
핵심 포인트
- 추측 디코딩은 수학적으로 품질 저하가 없는 손실 없는(lossless) 기술임
- 창의적 글쓰기는 높은 의외성 때문에 추측 수락률이 낮을 뿐 품질 문제는 아님
- 양자화(Quantization)는 품질 저하를 일으킬 수 있는 별개의 변수임
- RLHF가 모델의 응답 범위를 좁히고 단조로운 어조를 만드는 핵심 원인임
나는 내가 지금까지 출판한 모든 결과물에 맞춰 조정된, 내 초안에서 AI 특유의 흔적을 잡아내기 위한 36가지 패턴 체크리스트를 만들었습니다. 그래서 지난주에 AI가 왜 글을 잘 쓰지 못하는지에 대한 이론이 반쯤 바이럴(viral)되었을 때, 나는 그것을 버그 리포트를 읽는 방식으로 읽었습니다. 나는 그 설명이 내가 사용하는 도구에서 플래그(flagged)된 패턴들, 즉 내가 실제로 목격하고 있는 실패 사례와 실제로 일치하는지, 아니면 그저 그럴듯하게 들릴 뿐인지 알고 싶었습니다.
그 이론 중 하나는 일치하지 않았습니다. 그것은 틀렸으며, 검증되지 않을 만큼 충분히 기술적으로 들리기 때문에 퍼져나가는 종류의 오류입니다.
주장: 추론 시간 최적화(inference-time optimizations) — 연구소들이 모델의 응답 속도를 높이기 위해 사용하는 기술들 — 가 창의적인 글쓰기가 예전보다 못하게 들리는 이유라는 것입니다. 구체적으로는, 투기적 디코딩(speculative decoding)을 말합니다.
이것이 무엇인지에 대한 요약입니다. 왜냐하면 이 부분을 모르면 그 주장이 그저 그럴듯하게만 들리기 때문입니다. 하나의 거대한 모델이 토큰(token) 단위로 응답을 생성하는 대신, 작고 빠른 "초안(draft)" 모델과 쌍을 이룹니다. 작은 모델이 몇 단어를 앞서 예측하면, 큰 모델이 그 예측들을 병렬로 확인하고 동의하는 것들만 유지합니다. 이는 속도를 위한 지름길입니다. 현재 떠도는 주장은 이 지름길이 조용히 글쓰기의 품질을 저하시킨다는 것입니다.
그렇지 않습니다. Speculative decoding (추측 디코딩)은 설계 단계부터 손실이 없도록(lossless) 구축되었습니다 — 출력 분포는 거대 모델이 단어 하나하나를 생성할 때 만들어냈을 결과와 수학적으로 동일합니다. 수학적 계산 과정 어디에서도 품질 저하(quality trade)는 일어나지 않습니다. 실제로 발생하는 현상은 더 국한적입니다: 창의적인 글쓰기는 속도 향상의 이점을 덜 받는데, 이는 높은 온도(high-temperature)의 산문에는 진정한 의외성이 더 많이 포함되어 있어 소형 모델의 추측이 더 자주 거부되기 때문입니다. 한 추론 벤치마킹 보고서에 따르면, 코드의 추측 수락률이 75-85%인 것에 비해 창의적 소설의 수락률은 약 50-65%로 나타났습니다. 이는 동료 검토(peer-reviewed)를 거친 수치는 아니지만, 이 기술이 작동하는 방식과 일치합니다. 이는 당신의 글이 얼마나 더 빨리 제공되는지에 대한 이야기이지, 글의 품질이 얼마나 좋아지는지에 대한 이야기가 아닙니다.
양자화 (Quantization) — 메모리를 절약하기 위해 모델의 정밀도를 줄이는 것 — 는 실제로 출력 품질을 해칠 수 있습니다. 이는 별개의 실제적인 변수입니다. 하지만 이는 speculative decoding과 같은 것이 아니며, 저는 사람들이 이 두 가지를 혼동하는 모습을 한 오후 내내 지켜보다가 누군가 반박하고 나서야 상황이 종료되는 것을 보았습니다.
실제로 타당한 부분은 사람들이 논쟁하던 부분이 아닙니다.
모든 주요 모델은 RLHF (Reinforcement Learning from Human Feedback, 인간 피드백 기반 강화학습)라고 불리는 훈련 단계를 거치며, 이 과정에서 인간 평가자들이 높게 평가한 응답 쪽으로 모델이 유도됩니다. 평가자들이 실제로 보상하는 것을 알아차리기 전까지는 괜찮게 들릴 수 있습니다: 바로 훑어보기 편하고, 반박하기 어려운 응답들 말입니다. 충분한 훈련을 거치면, 모델은 단순히 나쁜 답변을 피하는 데 능숙해지는 것에 그치지 않습니다. 모델은 하나의 '안전한' 어조(register)로 좁혀지며, 원래 능력이 있었던 더 넓은 범위의 응답 생성을 중단합니다. 이를 모드 붕괴 (mode collapse)라고 하며, Kirk 등이 이를 직접 측정했습니다: RLHF로 훈련된 모델은 해당 연구의 모든 지표에서, 훈련 단계 이전의 동일한 모델보다 유의미하게 낮은 출력 다양성을 보여줍니다.
이것이 바로 "열 개의 초안을 작성한 뒤, 모델 패널이 점수를 매겨 가장 좋은 부분을 선택한다"는 트릭이 효과가 없는 이유이며, 저 또한 그와 유사한 방식을 직접 실행해 보았기에 잘 알고 있습니다. 만약 모든 초안이 이미 동일한 안전한 평균값으로 좁혀진 모델로부터 나온 것이라면, 그 초안들을 채점하고 병합하는 행위는 그저 평균의 평균을 내는 것에 불과합니다. 모드 붕괴 (mode collapse) 상태 내부에서 투표를 한다고 해서 그 상태를 벗어날 수는 없습니다. 그저 동일한 실패를 두 번 반복하며, 그것을 마치 엄격한 검증인 양 포장할 뿐입니다.
글쓰기에는 "코드가 컴파일된다"와 같은 데에 상응하는 개념이 없습니다. "이것은 통찰력이 있다"를 판별할 수 있는 자동화된 검증 신호가 없기 때문에, 훈련 과정에서 모델이 밀어붙일 수 있는 대상은 평가자 선호도 (rater preference) 외에는 없습니다. 그리고 대량의 평가자 선호도는 날카롭고 구체적인 것보다는 매끄럽고 안전한 것에 보상을 줍니다. 이것이 실제 병목 현상 (bottleneck)입니다. 프롬프트 (prompt)나 추론 트릭 (inference trick)의 문제가 아니라, 훈련 인센티브 (training incentive) 그 자체의 문제입니다.
모드 붕괴 (mode collapse)를 정의하고 나면, "AI가 글을 잘 쓰지 못한다"는 문제를 하나의 평면적이고 해결되지 않은 문제로 취급하고 싶은 유혹에 빠지기 쉽습니다. 하지만 그렇지 않습니다. 이 문제는 두 가지로 나뉘며, 저는 이번 주에 완전히 깨닫기 전까지 제가 그중 더 쉬운 절반의 영역에서 글을 쓰고 있었다는 사실을 인지하지 못했습니다.
비소설 — 기술 문서 (technical writing), 에세이, 논증 — 에는 명명 가능한 실패 모드 (failure mode)가 있습니다: 바로 상충하는 최적화 목표 (conflicting optimization objectives)입니다. 소비자용 채팅에서 모델을 유쾌하게 만드는 특성들(따뜻함, 완곡함)은 좋은 기술 문서가 필요로 하는 특성들(정확함, 직설적임)과 정면으로 충돌합니다. 하나의 보상 신호 (reward signal)가 서로 다른 것을 원하는 두 청중을 동시에 만족시키려다 보니, 모델은 양쪽의 중간 지점으로 끌려가 결국 어느 쪽도 만족시키지 못하게 됩니다. 이는 호환되지 않는 두 호출자를 서비스하려는 API 엔드포인트를 분리하는 것과 마찬가지로 해결 가능한 엔지니어링 문제입니다. 완전히 해결된 것은 아니지만, 연구소들이 정확히 이 문제를 겨냥한 부분적인 해결책을 출시하고 있다는 공개적인 증거가 이미 존재합니다 (OpenAI의 2024년 11월 GPT-4o 글쓰기 업데이트가 그 한 예입니다).
소설(Fiction)은 차원이 다른 어려움이 있으며, 제가 권위 있게 의견을 낼 수 있는 영역은 아니라고 생각합니다. 좋은 소설은 구조와 캐릭터를 수년에 걸쳐 반복적으로 수정하며 만들어지는데, 이는 Pixar의 스토리 팀이 단 한 프레임이 애니메이션화되기 전까지 수년간 영화의 플롯을 재작업하는 방식과 더 유사합니다. 출판된 소설은 오직 완성된 결과물만을 보여줍니다. 실패한 초안들과 수년간의 구조 재편 과정은 학습 데이터 (training data)로 보관되지 않았습니다. 설령 그런 데이터가 존재한다 하더라도, 이를 해결할 경제적 유인이 아직은 제한적입니다. 왜냐하면 "이 소설이 300페이지에 걸쳐 독자의 감정을 움직이는가"는 "이 코드가 테스트를 통과하는가"를 측정하는 방식처럼 현재로서는 측정할 수 있는 것이 아니기 때문입니다.
두 가지 서로 다른 문제가 동일한 불만 사항의 탈을 쓰고 나타나고 있습니다. 하나는 이름이 있고 이미 어딘가에서 대략적인 해결책이 배포되고 있는 문제입니다. 다른 하나는 아직 데이터셋 (dataset)이 없거나, 이를 구축할 비즈니스 케이스 (business case)가 없는 문제입니다.
저는 오직 첫 번째 종류의 글만 씁니다. 튜토리얼(Tutorials), 그리고 제가 실제로 만들고 망가뜨려 본 것들을 바탕으로 구축된 논증들 말입니다. 이는 저를 이 경계선 중 '해결 가능한' 쪽에 두게 합니다. 그리고 이번 주 내내 이 논쟁을 따라가는 동안, 저는 그것을 사람들이 실제로 화를 내고 있는 더 어렵고, 어쩌면 해결 불가능할지도 모르는 나머지 절반과 분리해서 생각하지 못했습니다.
하지만 "해결 가능하다"는 것이 "해결되었다"는 뜻은 아닙니다. 그리고 오늘날 존재하는 해결책은 제가 접근할 수 있는 모델 재학습 (model retrain)이 아닙니다. 그것은 편집 과정 (editing pass)입니다. 이것이 바로 제가 서두에서 언급했던 그 36가지 패턴 체크리스트를 만든 실제 이유입니다. 이 체크리스트는 제 문장들이 일반적인 "좋은 글쓰기"의 평균치로 매끄럽게 다듬어지지 않도록, 특히 저의 출판된 작업물들을 기준으로 조정되었습니다. 그 안에는 매끄럽게 다듬을 만한 '평균'이란 존재하지 않습니다. 오직 저의 말뭉치 (corpus)만 있을 뿐입니다. 이것은 저를 위해 근본적인 논증을 생성해 주지는 않습니다. 아직은 그 어떤 것도 그렇게 할 수 없으며, 그래서도 안 됩니다. 이 체크리스트가 잡아내는 것은 초안이 작성된 후 다시 스며드는 RLHF (인간 피드백 기반 강화학습)식 회피 언어 (hedge-language)입니다. 즉, 문장이 그냥 끝나는 대신 쉼표와 "-ing" 절로 흐지부지 끝나는 문장이나, 누군가의 이름을 명시해야 할 자리에 모호하게 사용하는 "많은 사람들 (many people)"과 같은 주장들을 잡아냅니다.
제가 AI의 글쓰기가 해결되었다고 주장하는 것은 아닙니다. 제가 말하고자 하는 바는, 똑똑한 사람들이 약 10분이면 확인 가능한 수학적 주장(math claim)을 두고 논쟁하는 것을 일주일 동안 지켜보았고, 문제의 절반에 해당하는 제 쪽의 실제 해결책은 그날 오후에 바로 초안(draft)에 적용할 수 있는 것이었다는 점입니다.
AI는 이 글을 조사(research), 구조화(structure), 편집(edit)하는 데 도움을 주었습니다. 논거와 예시, 그리고 의견은 저의 것입니다. 그 내용 중 잘못된 부분 또한 저의 책임입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기