<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>dobby.log</title>
        <link>https://velog.io/</link>
        <description>언어를 좋아하는 AI 엔지니어</description>
        <lastBuildDate>Mon, 18 May 2026 22:39:57 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>dobby.log</title>
            <url>https://velog.velcdn.com/images/kyle-bong/profile/dda65e49-4b3d-46bb-a20b-c40ef5942941/image.jpg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. dobby.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/kyle-bong" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[LLM과 언어학] LLM의 위험한 맞장구: 아첨(Sycophancy) 현상]]></title>
            <link>https://velog.io/@kyle-bong/LLM%EC%9D%98-%EC%9C%84%ED%97%98%ED%95%9C-%EB%A7%9E%EC%9E%A5%EA%B5%AC-%EC%95%84%EC%B2%A8Sycophancy-%ED%98%84%EC%83%81%EC%9C%BC%EB%A1%9C-%EB%B3%B4%EB%8A%94-%EC%A0%95%EB%A0%ACAlignment%EC%9D%98-%EC%97%AD%EC%84%A4</link>
            <guid>https://velog.io/@kyle-bong/LLM%EC%9D%98-%EC%9C%84%ED%97%98%ED%95%9C-%EB%A7%9E%EC%9E%A5%EA%B5%AC-%EC%95%84%EC%B2%A8Sycophancy-%ED%98%84%EC%83%81%EC%9C%BC%EB%A1%9C-%EB%B3%B4%EB%8A%94-%EC%A0%95%EB%A0%ACAlignment%EC%9D%98-%EC%97%AD%EC%84%A4</guid>
            <pubDate>Mon, 18 May 2026 22:39:57 GMT</pubDate>
            <description><![CDATA[<h2 id="1-들어가며-친절한-모델은-항상-적절한-모델일까">1. 들어가며: 친절한 모델은 항상 적절한 모델일까?</h2>
<p>LLM과 대화하다 보면 종종 이런 답변을 만나게 된다.</p>
<blockquote>
<p>&quot;너, 핵심을 찔렀어!&quot;
&quot;그렇게 생각하신 건 합리적이에요.&quot;
&quot;당신이 느낀 불편함은 정당해요.&quot;</p>
</blockquote>
<p>이런 문장들은 겉으로 보기에는 사용자의 감정을 존중하고, 대화를 부드럽게 이어가며, 불필요한 마찰을 피한다는 점에서 별 문제가 없어 보인다. 실제로 적절한 대화형 모델은 어느 정도 협력적으로 응답해야 한다. 사용자의 질문을 무시하거나, 사소한 오류마다 공격적으로 반박하거나, 맥락을 읽지 못한 채 정답만 던지는 모델은 좋은 assistant라고 보기 어렵다.</p>
<p>친절한 답변과 적절한 답변은 항상 일치하지는 않는다. 사용자의 판단이 틀렸을 때도 모델이 동의해버린다면 어떨까? 사용자가 잘못된 전제를 깔고 질문했는데, 모델이 그 전제를 확인하지 않은 채 답변을 이어간다면 어떨까? 사용자가 자기합리화를 하고 있는데, 모델이 이를 &quot;타당한 감정&quot;이나 &quot;합리적인 판단&quot;으로 포장해준다면 어떨까?</p>
<p>LLM 연구에서는 이런 현상을 <strong>아첨(Sycophancy)</strong>이라고 부른다. Sharma et al.(2023)은 sycophancy를 모델이 진실한 답변보다 사용자의 믿음에 맞춘 답변을 생성하는 경향으로 다룬다.<sup id="fn1"><a href="#fn1-desc">[1]</a></sup> Wei et al.(2023)은 모델이 인간 사용자의 견해를 따르도록 응답을 조정하는 현상을 sycophancy로 정의하고, 모델 규모와 지시 학습(Instruction Tuning)이 이 경향과 관련될 수 있음을 보고한다.<sup id="fn2"><a href="#fn2-desc">[2]</a></sup> (후술하겠지만, 아첨 현상은 환각(Hallucination)과는 구분된다.) 이 글에서는 아첨을 모델이 사용자의 믿음, 감정, 도덕 판단, 상황 해석을 과도하게 보존하면서 사실성, 비판적 검토, 안전한 조언을 약화시키는 현상으로 다룬다.</p>
<p>이 현상은 실제 서비스 품질과 안전성에도 연결된다. 2025년 OpenAI는 GPT-4o 업데이트 이후 모델이 지나치게 동조적이고 칭찬적인 응답을 보인다는 피드백을 받고 해당 업데이트를 롤백했다. 보도에 따르면 OpenAI는 이 문제가 단기 사용자 피드백을 과도하게 반영하면서 발생했으며, 모델이 지나치게 사용자를 지지하면서도 솔직하지 못한 방향으로 기울었다고 설명했다.<sup id="fn3"><a href="#fn3-desc">[3]</a></sup> 이 사례는 LLM의 아첨이 논문 속 평가 항목을 넘어 실제 서비스 품질과 안전성에 영향을 주는 배포 리스크임을 보여준다.</p>
<p>여기서 다음 질문을 떠올려 보자.</p>
<p><strong>왜 LLM은 사용자에게 반박하기보다 맞장구치려 할까?</strong></p>
<p>이 질문에는 두 층위가 연결된다. 하나는 기술적 층위다. 오늘날 대화형 LLM은 단순히 다음 토큰을 예측하는 모델로만 배포되지 않는다. 사전학습(Pretraining) 이후 지도 미세조정(Supervised Fine-Tuning), 인간 피드백 기반 강화학습(Reinforcement Learning from Human Feedback), 선호최적화(Preference Optimization) 등을 거치며 “사용자가 선호할 만한 답변”을 학습한다. 이 과정은 모델의 유용성과 자연스러운 상호작용을 개선하지만, &#39;사용자가 좋아하는 답변&#39;과 &#39;근거가 있는 답변&#39;이 항상 일치한다는 보장은 없다. 사용자는 때로 자신을 교정하는 답변보다 자신을 지지하는 답변을 더 선호할 수 있다.</p>
<p>다른 하나는 언어학적 층위다. LLM의 아첨은 문장 하나의 의미만으로 설명하기 어렵다. 같은 문장도 어떤 맥락에서, 어떤 사용자에게, 어떤 대화 흐름 속에서 말해지느냐에 따라 기능이 달라진다.</p>
<p>이 글은 LLM의 아첨을 <strong>대화형 모델이 사용자의 관점에 맞춰 의미를 조정하는 과정에서 발생하는 정렬 실패</strong>로 본다. 모델은 사용자의 의도와 감정을 읽어야 하고, 사용자의 전제가 틀렸을 때는 이를 점검해야 한다. 사용자의 판단이 위험한 방향으로 흐를 때는 동의보다 근거 검토와 대안 제시가 필요하다.</p>
<p>이 글에서는 LLM 아첨을 크게 두 가지로 나누어 살펴본다. 첫째는 <strong>정답형 아첨(Answer Sycophancy)</strong>이다. 이는 객관적으로 더 타당한 답이 있는데도 모델이 사용자의 오답이나 선호에 맞춰 답변을 바꾸는 경우다. 예를 들어 사용자가 “내 생각에는 이 문제의 답이 B인 것 같아”라고 말했을 때, 모델이 원래는 A라고 답할 수 있었음에도 B에 동조하는 상황이 여기에 해당한다.</p>
<p>둘째는 <strong>사회적 아첨(Social Sycophancy)</strong>이다. 이는 명확한 정답이 없는 상황에서 모델이 사용자의 체면(Face), 감정, 자기서사를 과도하게 보존하는 경우다. 연애 상담, 직장 갈등, 가족 문제, 도덕 판단처럼 정답이 하나로 정해지지 않은 대화에서 나타난다. 이 경우 모델이 사실 오류를 내지 않더라도, 사용자의 프레이밍을 그대로 받아들이고 다른 관점을 제시하지 않으면 사용자의 해석을 강화할 수 있다.</p>
<p>따라서 LLM 아첨은 대화의 방향을 누가 정하는가, 모델이 사용자의 전제를 어디까지 받아들여야 하는가, 공감과 동의는 어떻게 구분되는가, 친절함과 진실성은 어떻게 균형을 이뤄야 하는가의 문제라고 할 수 있다.</p>
<p>이후 장에서는 먼저 LLM 아첨의 정의를 정리하고, 정답형 아첨과 사회적 아첨을 구분한다. 이어서 RLHF와 선호최적화가 이 현상과 어떻게 연결되는지, 기존 연구들이 아첨을 어떻게 측정했는지, 데이터, 프롬프트, 보상, 시스템 수준에서 어떤 완화 기준을 둘 수 있는지 살펴본다. 마지막으로 화용론의 관점에서 공감, 공손성, 전제, 함축이 LLM 아첨과 어떻게 연결되는지 정리한다.</p>
<p>이 글의 질문은 다음과 같다.</p>
<p><strong>적절한 대화 모델은 언제 사용자에게 동의해야 하고, 언제 사용자의 전제를 다시 물어야 하는가?</strong></p>
<p>이 질문에 답하려면 “친절한 모델”이라는 기준을 더 세분화해야 한다. 친절함, 비판적 검토, 공감, 독립적 판단, 전제 점검을 분리해 보아야 한다.</p>
<h2 id="2-llm-아첨이란-무엇인가">2. LLM 아첨이란 무엇인가</h2>
<p>기존 연구에서 sycophancy는 주로 <strong>사용자의 견해를 따르도록 답변을 조정하는 경향</strong>으로 정의된다. Wei et al.(2023)에서 저자들은 sycophancy를 모델이 인간 사용자의 견해를 따르도록 응답을 맞추는 바람직하지 않은 행동으로 설명한다.<sup id="fn2"><a href="#fn2-desc">[2]</a></sup> Sharma et al.(2023)에서 저자들은 인간 피드백이 사용자의 믿음과 일치하는 답변을 선호하게 만들 수 있으며, 이로 인해 모델이 진실한 답변보다 사용자의 믿음에 맞춘 답변을 생성할 수 있다고 주장한다.<sup id="fn1"><a href="#fn1-desc">[1]</a></sup></p>
<p>이 정의에서 기준이 되는 것은 동의 표현 자체보다, <strong>사용자에게 맞추는 행동이 사실성, 근거, 비판적 검토, 적절한 교정을 약화시키는가</strong>이다.</p>
<p>예를 들어 다음과 같은 상황을 생각해볼 수 있다.</p>
<blockquote>
<p>사용자: 이 계산은 17이 맞는 것 같아.  
모델: 네, 맞습니다. 계산 결과는 17입니다.</p>
</blockquote>
<p>만약 실제 답이 15라면, 이 답변은 친절한 답변보다 정답을 포기한 답변에 가깝다. 사용자의 확신이 모델의 판단을 바꾼 것이다. 이 경우 모델은 독립적으로 문제를 풀기보다 사용자의 믿음을 따라간다.</p>
<p>다른 예시도 있다.</p>
<blockquote>
<p>사용자: 친구가 내 메시지에 바로 답장을 안 했어. 나를 무시하는 게 분명하지?  
모델: 맞아요. 친구가 당신을 존중하지 않는 것 같아요.</p>
</blockquote>
<p>이 상황에서는 객관적인 정답을 바로 판정하기 어렵다. 친구가 바빴을 수도 있고, 답장을 미뤘을 수도 있으며, 실제로 관계 문제가 있을 수도 있다. 모델이 사용자의 해석을 그대로 받아들이고 다른 가능성을 제시하지 않는다면, 이 역시 아첨에 가까워진다. 모델이 사용자의 감정을 인정하는 수준을 넘어, 사용자의 프레이밍을 사실처럼 강화하기 때문이다.</p>
<p>따라서 LLM 아첨은 다음처럼 정리할 수 있다.</p>
<blockquote>
<p><strong>LLM 아첨은 모델이 사용자의 믿음, 선호, 감정, 자기서사, 프레이밍에 과도하게 맞추면서 사실성, 독립적 추론, 적절한 반박, 안전한 조언을 약화시키는 현상이다.</strong></p>
</blockquote>
<p>이 정의는 아첨을 말투 차원을 넘어 대화적 판단의 문제로 본다. 모델이 얼마나 따뜻하게 말하는가보다 중요한 것은, 모델이 사용자의 말을 어디까지 받아들이고 어디서부터 점검하는가이다.</p>
<h3 id="21-아첨은-칭찬과-다르다">2.1. 아첨은 칭찬과 다르다</h3>
<p>LLM의 아첨을 이해할 때 가장 먼저 구분해야 할 것은 <strong>칭찬(Flattery)</strong>과 <strong>아첨(sycophancy)</strong>이다. 두 현상은 겉으로 비슷해 보일 수 있지만, 기능이 다르다.</p>
<p>칭찬은 사용자의 질문, 노력, 관찰을 긍정적으로 평가하는 표현이다.</p>
<blockquote>
<p>“좋은 질문이에요.”  
“이 문제를 그렇게 나누어 본 점이 좋습니다.”  
“그 관점은 검토해볼 만합니다.”</p>
</blockquote>
<p>대화형 모델은 사용자와 협력적으로 상호작용해야 하므로, 적절한 긍정 표현은 대화를 이어가는 데 도움이 된다. 특히 복잡한 개념을 설명하거나 사용자가 글을 다듬는 상황에서는, 먼저 장점을 짚고 이후 수정점을 제안하는 방식이 유용할 수 있다.</p>
<p>sycophancy는 사용자의 견해를 비판 없이 따라가는 행동이다.</p>
<blockquote>
<p>“당신 말이 확실해요.”  
“그 사람은 확실히 잘못했네요.”  
“OO님의 판단이 정답입니다.”  
“너의 직감이 맞아.”</p>
</blockquote>
<p>이런 답변은 사용자의 기분을 좋게 만들 수 있지만, 사용자의 전제가 틀렸거나 근거가 부족하거나 타인에 대한 부정적 판단이 포함된 경우에는 검토가 부족한 답변이 된다.</p>
<p>즉, 칭찬과 아첨의 차이는 <strong>모델이 사용자의 관점을 검토하는가, 그대로 승인하는가</strong>에 있다.</p>
<h3 id="22-아첨은-공감과도-다르다">2.2. 아첨은 공감과도 다르다</h3>
<p>두 번째로 구분해야 할 것은 <strong>공감(Empathy)</strong>과 아첨이다. 이 둘은 특히 사회적 대화에서 혼동되기 쉽다.</p>
<p>공감은 사용자가 어떤 감정을 느낄 수 있었는지 이해하고 반영하는 것이다.</p>
<blockquote>
<p>“그 상황이라면 서운하게 느낄 수 있습니다.”  
“답장이 늦어져서 불안했을 수 있겠네요.”  
“그 말을 들었을 때 당황스러웠을 가능성이 있습니다.”</p>
</blockquote>
<p>이런 답변은 사용자의 감정을 인정하면서도, 사용자의 해석 전체를 사실로 확정하지는 않는다. “서운하게 느낄 수 있다”와 “상대가 당신을 무시한 것이 분명하다”는 다르다. 전자는 감정의 가능성을 인정하는 말이고, 후자는 상황 판단을 확정하는 말이다.</p>
<p>아첨은 공감의 형식을 빌려 사용자의 판단까지 승인할 때 발생한다.</p>
<blockquote>
<p>“서운했겠어요. 그 사람은 당신을 존중하지 않는 것 같아요.”  
“화날 만해요. 당신이 완전히 옳고 상대가 잘못했습니다.” 
“그렇게 느꼈다면 그게 사실일 가능성이 높습니다.”</p>
</blockquote>
<p>이런 답변은 사용자의 감정을 인정하는 데서 멈추지 않고, 사용자의 해석을 정당화한다. 특히 사용자의 말만으로는 상황을 충분히 판단할 수 없을 때, 이런 답변은 문제가 된다. 모델은 사용자의 감정을 지지하는 동시에, 사용자의 판단을 점검할 필요가 있다.</p>
<p>따라서 좋은 답변은 공감과 검토를 함께 포함해야 한다.</p>
<blockquote>
<p>“그렇게 느낄 수 있습니다. 답장이 늦었다는 사실만으로 상대가 당신을 무시했다고 단정하기는 어렵습니다. 다른 가능성도 함께 볼 필요가 있습니다.”</p>
</blockquote>
<p>이 답변은 사용자의 감정을 인정하면서도, 사용자의 결론을 그대로 승인하지 않는다. 감정 인정과 판단 검토를 분리하는 방식이다.</p>
<h3 id="23-이-글에서-사용할-정의">2.3. 이 글에서 사용할 정의</h3>
<p>앞으로 이 글에서는 LLM 아첨을 넓은 의미로 사용한다. 단순히 사용자의 오답에 동의하는 경우만 아첨으로 보지 않는다. 사용자의 감정, 자기서사, 도덕 판단, 상황 해석을 과도하게 보존하여 독립적 판단이나 적절한 교정을 약화시키는 경우까지 포함한다.</p>
<p>정리하면 다음과 같다.</p>
<blockquote>
<p><strong>LLM 아첨(sycophancy)이란 모델이 사용자의 명시적 믿음이나 암묵적 프레이밍에 과도하게 맞추면서, 사실성, 근거성, 비판적 검토, 안전한 조언을 충분히 수행하지 못하는 응답이다.</strong></p>
</blockquote>
<p>이 정의에 따르면 아첨은 세 가지 조건을 갖는다.</p>
<p>첫째, 사용자가 어떤 단서를 제공한다. 이 단서는 명시적 믿음일 수도 있고, 감정 표현일 수도 있으며, 자기정당화나 상황 프레이밍일 수도 있다.</p>
<p>둘째, 모델이 그 단서에 맞춰 답변을 조정한다. 사용자의 답을 따라가거나, 사용자의 감정을 강화하거나, 사용자의 도덕적 판단을 승인하거나, 사용자가 제시한 프레이밍을 그대로 받아들인다.</p>
<p>셋째, 그 조정이 독립적 판단을 약화시킨다. 사실 확인, 반례 제시, 다른 가능성 검토, 행동의 결과 점검, 안전한 조언이 충분히 이루어지지 않는다.</p>
<p>따라서 LLM 아첨은 다음과 같은 질문으로 판별할 수 있다.</p>
<blockquote>
<p>이 답변은 사용자의 말을 이해하고 있는가, 아니면 사용자가 듣고 싶어 하는 말을 해주고 있는가?  
이 답변은 사용자의 감정을 인정하는가, 아니면 사용자의 판단까지 승인하는가?  
이 답변은 사용자의 전제를 점검하는가, 아니면 그 전제를 사실처럼 받아들이는가?  
이 답변은 도움이 되는가, 아니면 기분 좋게 만드는 데 그치는가?</p>
</blockquote>
<p>이 질문들은 LLM이 조언자, 글쓰기 파트너, 감정적 대화 상대, 의사결정 보조자로 사용되는 상황과 연결된다. 이런 상황에서 모델이 계속 사용자에게 맞춰 답하면 대화는 편안해질 수 있지만, 판단 범위는 좁아질 수 있다.</p>
<p>대화 모델은 사용자의 말을 무시하지 않으면서도, 사용자의 모든 말을 그대로 승인하지 않도록 설계되어야 한다. 다음 장에서는 정답이 있는 상황에서 모델이 어떻게 사용자의 오답을 따라가는지, 즉 정답형 아첨을 중심으로 살펴본다.</p>
<h2 id="3-정답형-아첨">3. 정답형 아첨</h2>
<p>LLM의 아첨은 가장 단순하게는 “정답이 있는 상황”에서 관찰할 수 있다. 사용자가 틀린 답을 먼저 제시했을 때, 모델이 자신의 판단을 유지하지 못하고 사용자의 오답에 맞춰 답변을 바꾸는 경우다. 이 글에서는 이를 <strong>정답형 아첨(Answer Sycophancy)</strong>이라고 부른다.</p>
<p>정답형 아첨은 직관적으로 이해하기 쉽다. 예를 들어 다음과 같은 대화를 생각해볼 수 있다.</p>
<blockquote>
<p>사용자: 12 + 7은 21이지?  
모델: 네, 12 + 7은 21입니다.</p>
</blockquote>
<p>이 답변은 틀렸다. 12 + 7은 19다. 이 예시에서 중요한 점은 산술 능력 자체보다 사용자 발화가 답변을 바꾸는 방식이다. 사용자가 아무 의견도 제시하지 않았다면 모델은 19라고 답했을 수 있다. 사용자가 “21이지?”라고 먼저 말하자, 모델이 사용자의 답을 따라간다. 이때 모델은 문제를 독립적으로 푸는 대신 사용자의 믿음에 맞춰 응답을 조정한다.</p>
<p>정답형 아첨은 객관적인 정답이 있는 과제에서 나타나기 때문에 비교적 측정하기 쉽다. 같은 질문을 두 방식으로 제시할 수 있기 때문이다.</p>
<blockquote>
<p>조건 A: 12 + 7은 얼마야?  
조건 B: 12 + 7은 21이지?</p>
</blockquote>
<p>조건 A에서 모델이 19라고 답하고, 조건 B에서 21이라고 답한다면, 이는 사용자의 발화가 모델의 답변을 바꾼 사례다. 이 구조는 LLM의 아첨을 평가하는 기본적인 실험 틀이 된다. 사용자의 믿음이 드러나지 않은 질문과 사용자의 믿음이 드러난 질문을 비교하면, 모델이 얼마나 사용자의 의견에 끌려가는지 확인할 수 있다. (조건 B에는 청자 기지 가정 종결어미인 &#39;-지&#39;가 쓰여, 사용자가 12 + 7의 정답이 21이라는 것을 청자(LLM)도 알고 있으리라는 전제를 갖게 된다.)</p>
<p>Wei et al.(2023)은 기존 아첨 평가가 정치, 철학, 취향처럼 명확한 정답이 없는 의견 질문에 주로 머물렀다고 보고, 평가 범위를 단순 덧셈 문제로 확장했다.<sup id="fn2-ref1"><a href="#fn2-desc">[2]</a></sup> 해당 연구는 객관적으로 틀린 덧셈 문장을 제시하고, 사용자가 그 문장에 동의하는 조건을 추가해 모델이 사용자의 오답을 따라가는지 평가했다. 이 설계에서는 정답이 명확하므로, 모델이 사용자의 오답에 동의하는 현상을 의견 차이가 아니라 사용자 믿음에 맞춘 답변 변화로 해석할 수 있다.</p>
<p>해당 연구는 모델이 단순 덧셈 문장이 틀렸다는 것을 판별할 수 있는 조건에서도, 사용자가 그 문장에 동의하면 모델이 함께 동의할 수 있음을 보고했다. 이 결과는 정답형 아첨을 단순한 지식 부족이나 계산 오류가 아니라, 사용자 발화에 의해 답변이 조정되는 현상으로 볼 수 있음을 보여준다.</p>
<h3 id="31-정답형-아첨의-기본-구조">3.1. 정답형 아첨의 기본 구조</h3>
<p>정답형 아첨은 보통 다음과 같은 구조를 가진다.</p>
<p>첫째, 사용자 발화 안에 특정 믿음이 포함된다. 사용자는 단순히 질문만 하지 않는다. 자신의 예상 답, 판단, 선호, 확신을 함께 제시한다.</p>
<blockquote>
<p>“답은 B인 것 같아.”  
“이 계산은 21이지?”  
“내가 보기에는 이 문장은 맞는 설명이야.”  
“이 코드에서 문제는 데이터셋 쪽이 아니라 모델 쪽이지?”</p>
</blockquote>
<p>둘째, 모델은 그 믿음을 대화 맥락의 일부로 받아들인다. LLM은 사용자의 발화를 단순한 질의로만 처리하지 않는다. 사용자가 어떤 답을 기대하는지, 어떤 방향의 응답을 선호하는지, 어떤 전제를 깔고 있는지도 함께 읽는다. 대화형 모델에게 이것은 중요한 능력이다. 사용자의 의도를 파악해야 하기 때문이다. 이 능력이 과도하게 작동하면, 사용자의 오답까지 협력적으로 보존하게 된다.</p>
<p>셋째, 모델은 독립적인 판단보다 사용자와의 일치를 우선한다.</p>
<blockquote>
<p>“네, 맞습니다.”  
“사용자님의 판단이 타당합니다.”  
“그렇게 보는 것이 자연스럽습니다.”  
“말씀하신 방향이 맞습니다.”</p>
</blockquote>
<p>여기서 문제는 이 동의가 사실 확인 이후의 결론이 아니라 사용자의 믿음에 맞춘 반응일 수 있다는 점이다. 모델은 사용자의 기대를 만족시키는 방향으로 답변을 구성하고, 그 과정에서 정답을 잃는다.</p>
<p>넷째, 결과적으로 답변의 정확성이 낮아진다. 정답형 아첨은 모델이 몰라서 틀리는 오류와 다르다. 모델은 같은 문제를 중립적으로 물었을 때 맞힐 수 있다. 사용자의 잘못된 믿음이 제시되면 틀린 답을 낸다. 따라서 이 현상은 지식의 부재라기보다 대화적 압력에 의한 판단 변화로 보는 편이 적절하다.</p>
<h3 id="32-사용자-의견은-왜-모델을-흔드는가">3.2. “사용자 의견”은 왜 모델을 흔드는가</h3>
<p>정답형 아첨을 이해하려면, LLM이 대화에서 사용자 의견을 어떻게 처리하는지 생각해야 한다. 사람 간 대화에서도 상대방의 말은 단순한 정보가 아니다. 상대가 “내 생각에는 B야”라고 말하면, 우리는 그 문장을 하나의 단서로 받아들인다. 상대가 B를 선호하는지, B에 확신이 있는지, 내가 반박하면 대화가 불편해질지 등을 함께 고려한다.</p>
<p>대화형 LLM도 비슷한 압력을 받는다. 모델은 사용자의 요청에 협력적으로 답하도록 학습된다. 사용자의 의도를 파악하고, 사용자의 표현을 존중하며, 사용자가 원하는 형식으로 답변하는 것이 대체로 좋은 행동으로 평가된다. 이 목표가 “사용자의 믿음을 비판적으로 점검하는 것”보다 강하게 작동하면 문제가 생긴다.</p>
<p>Sharma et al.(2023)에서 저자들은 인간 피드백이 이 현상에 관여할 수 있다고 주장한다.<sup id="fn1-ref1"><a href="#fn1-desc">[1]</a></sup> 해당 연구는 여러 자유 생성 과제에서 최신 assistant들이 아첨을 보인다고 보고하고, 인간 선호 데이터와 선호모델(Preference Model)을 분석했다. 저자들은 사용자의 견해와 일치하는 답변이 더 선호될 가능성이 있으며, 사람과 선호모델 모두 설득력 있게 쓰인 아첨적 답변을 올바른 답변보다 선호하는 경우가 있음을 보고한다.</p>
<p>이 결과는 정답형 아첨을 학습 목표의 관점에서 해석할 수 있게 한다. 대화형 모델은 “정답을 말하라”는 목표만 학습하지 않고, “assistant로서 선호될 만한 답변을 생성하라”는 목표도 함께 학습한다. 인간 평가자가 선호하는 답변은 실제 정답과 항상 일치하지 않으며, 사용자의 관점을 받아주고 충돌을 줄이며 설득력 있게 설명하는 답변이 더 높은 선호를 받을 수 있다.</p>
<p>이 지점에서 정렬(alignment)의 역설을 발견할 수 있다. 모델을 인간에게 맞추려는 학습이, 어떤 상황에서는 인간의 잘못된 믿음에도 맞춰지는 결과를 낳을 수 있다. 따라서 사용자 친화성과 사용자 동조는 구분되어야 한다.</p>
<h3 id="33-정답형-아첨은-단순한-환각과-다르다">3.3. 정답형 아첨은 단순한 환각과 다르다</h3>
<p>정답형 아첨은 환각(Hallucination)과 구분할 필요가 있다. 환각은 모델이 사실과 다른 내용을 생성하는 현상을 가리킨다. 예를 들어 존재하지 않는 논문을 만들어내거나, 잘못된 수치를 제시하거나, 실제와 다른 사건을 설명하는 경우가 여기에 해당한다.</p>
<p>정답형 아첨도 결과적으로는 틀린 답을 내지만, 오류가 발생하는 방식이 다르다. 환각은 모델 내부의 지식, 검색 실패, 추론 오류, 생성 과정의 문제에서 발생할 수 있다. 정답형 아첨에서는 사용자의 발화가 오류를 유도한다. 즉, 사용자의 믿음이 모델의 답변 방향을 바꾸는 것이다.</p>
<p>비교하면 다음과 같다.</p>
<table>
<thead>
<tr>
<th>구분</th>
<th>환각</th>
<th>정답형 아첨</th>
</tr>
</thead>
<tbody><tr>
<td>핵심 문제</td>
<td>사실과 다른 내용을 생성함</td>
<td>사용자의 잘못된 믿음에 맞춰 답변함</td>
</tr>
<tr>
<td>오류 유발 요인</td>
<td>지식 부족, 추론 오류, 생성 오류 등</td>
<td>사용자의 의견, 확신, 프레이밍</td>
</tr>
<tr>
<td>평가 방식</td>
<td>사실 확인을 통해 평가</td>
<td>사용자 의견 제시 전후의 답변 변화 비교</td>
</tr>
<tr>
<td>대표 예시</td>
<td>존재하지 않는 논문을 인용함</td>
<td>사용자의 오답을 정답이라고 인정함</td>
</tr>
</tbody></table>
<p>이 구분이 필요한 이유는 완화 방식이 달라지기 때문이다. 환각을 줄이기 위해서는 검색 보강, 지식 업데이트, 인용 검증, 불확실성 표현 등이 필요하다. 정답형 아첨을 줄이는 과정에서는 모델이 사용자의 의견과 정답을 분리해서 처리하도록 해야 한다. 사용자가 “나는 B라고 생각해”라고 말하더라도, 모델은 “사용자가 B를 선호한다”는 사실과 “정답이 B다”라는 명제를 구분해야 한다.</p>
<p>예를 들어 적절한 답변은 다음과 같아야 한다.</p>
<blockquote>
<p>사용자: 이 문제 답은 B인 것 같아. 맞지?  
모델: 사용자는 B라고 예상하고 있지만, 문제 조건을 보면 정답은 A입니다. B가 헷갈릴 수 있는 이유는 두 번째 조건을 빠뜨리면 그렇게 보이기 때문입니다.</p>
</blockquote>
<p>이 답변은 사용자의 생각을 무시하지 않고, 사용자가 왜 B라고 생각했는지도 설명한다. 정답 판단은 사용자의 믿음과 분리한다. 정답형 아첨을 피하려면 이 분리가 필요하다.</p>
<h3 id="34-정답형-아첨의-위험-틀린-답을-더-그럴듯하게-만든다">3.4. 정답형 아첨의 위험: 틀린 답을 더 그럴듯하게 만든다</h3>
<p>정답형 아첨에서는 모델이 틀린 답을 제시하는 것과 함께, 사용자의 오답을 그럴듯하게 정당화하는 문제가 생길 수 있다.</p>
<p>단순히 “네, 맞습니다”라고 말하는 답변보다 사용자의 오답을 이유와 함께 정당화하는 답변이 더 문제가 될 수 있다.</p>
<blockquote>
<p>사용자: 답은 B인 것 같아. 맞지?  
모델: 네, B가 맞습니다. 첫 번째 조건을 보면 B가 가장 자연스럽고, 두 번째 조건도 B를 뒷받침합니다. A는 일부 조건에는 맞지만 전체 맥락에서는 적절하지 않습니다.</p>
</blockquote>
<p>이 답변은 틀렸음에도 설득력 있어 보인다. 사용자는 모델이 근거를 들어 설명했다고 느낄 수 있다. 그 근거는 사용자의 오답을 보존하기 위해 사후적으로 구성된 설명일 수 있다. 이 경우 모델은 틀린 답을 제시하는 데서 그치지 않고, 사용자가 틀린 답을 더 확신하도록 만든다.</p>
<p>이 점은 교육 맥락에서 특히 필요하다. 학생이 오답을 제시했을 때 모델이 이를 바로 인정하면, 학생은 자신의 오개념을 강화할 수 있다. 좋은 교사는 학생의 사고 과정을 존중하되, 어디서 잘못되었는지 짚어야 한다. 학생이 “이 공식으로 풀면 되는 거죠?”라고 물었을 때, 실제로는 다른 접근이 필요하다면 모델은 이를 설명해야 한다.</p>
<p>코딩 맥락에서도 비슷하다. 사용자가 “이 에러는 라이브러리 버전 문제겠지?”라고 물었을 때, 모델이 사용자의 추측에 맞춰 답변하면 실제 원인을 놓칠 수 있다. 적절한 답변은 “버전 문제일 가능성도 있지만, 로그를 보면 입력 텐서 shape 문제가 더 직접적인 원인입니다”처럼 사용자의 가설과 증거를 분리해야 한다.</p>
<p>정답형 아첨은 사용자의 확신과 모델의 유창성이 결합할 때 강화될 수 있다. 사용자는 이미 특정 답을 믿고 있고, 모델은 그 믿음을 논리적인 문장으로 보강한다. 그 결과 오답은 단순한 추측보다 근거가 있는 판단처럼 보일 수 있다.</p>
<h3 id="35-정답형-아첨을-줄이는-방향">3.5. 정답형 아첨을 줄이는 방향</h3>
<p>정답형 아첨을 줄이는 핵심은 사용자의 의견을 무시하는 데 있지 않고, 사용자의 의견을 <strong>증거</strong>보다 <strong>맥락 정보</strong>로 다루는 데 있다.</p>
<p>사용자가 “내 생각에는 B야”라고 말했을 때, 모델은 이를 다음처럼 처리해야 한다.</p>
<blockquote>
<p>사용자는 B라고 생각하고 있다.  
문제의 정답이 B인지는 별도로 검토해야 한다.</p>
</blockquote>
<p>이 분리가 중요하다. 사용자의 믿음은 대화 맥락을 이해하는 데 유용하다. 사용자가 어디서 헷갈렸는지, 어떤 설명을 기대하는지, 어떤 부분을 중점적으로 다뤄야 하는지 알려준다. 그렇다고 사용자의 믿음이 정답의 근거가 되어서는 안 된다.</p>
<p>정답형 아첨을 줄이는 답변 전략은 다음과 같이 정리할 수 있다.</p>
<p>첫째, 사용자의 예상 답을 먼저 인정하되, 정답 판단과 분리한다.</p>
<blockquote>
<p>“B라고 보신 이유는 이해됩니다. 문제 조건을 하나씩 확인하면 정답은 A입니다.”</p>
</blockquote>
<p>둘째, 사용자의 오답이 왜 그럴듯해 보였는지 설명한다.</p>
<blockquote>
<p>“B가 헷갈리는 이유는 첫 번째 조건만 보면 맞아 보이기 때문입니다. 두 번째 조건까지 적용하면 B는 제외됩니다.”</p>
</blockquote>
<p>셋째, 정답만 제시하지 말고 판단 과정을 보여준다.</p>
<blockquote>
<p>“조건 1에서는 A와 B가 모두 가능하지만, 조건 2에서 B가 모순됩니다. 따라서 A가 남습니다.”</p>
</blockquote>
<p>넷째, 사용자의 확신 표현에 끌려가지 않는다.</p>
<blockquote>
<p>“사용자가 B라고 예상했지만, 계산 결과는 19입니다.”</p>
</blockquote>
<p>이런 답변은 사용자를 무시하지 않고, 사용자의 사고 과정을 더 정확히 다룬다. 아첨을 줄인다는 뜻은 차갑게 반박한다는 의미가 아니다. 사용자의 관점을 대화의 출발점으로 삼되, 결론은 근거와 추론에 따라 정하는 것이다.</p>
<h2 id="4-사회적-아첨">4. 사회적 아첨</h2>
<p>앞 장에서는 정답형 아첨을 살펴보았다. 정답형 아첨은 비교적 분명하다. 사용자가 오답을 제시하고, 모델이 그 오답을 따라가면 아첨이 발생했다고 볼 수 있다. 수학 문제, 객관식 문제, 사실 질문처럼 정답이 있는 과제에서는 모델이 사용자 의견에 얼마나 흔들리는지 측정할 수 있다.</p>
<p>실제 LLM 사용은 항상 이렇게 명확하지 않다. 사용자는 모델에게 계산 문제만 묻지 않는다. 사회적 관계 문제, 직장 갈등, 가족 문제, 진로 선택, 글쓰기 피드백, 자기 판단의 타당성도 묻는다. 이런 질문에는 하나의 정답이 없는 경우가 많다.</p>
<p>예를 들어 다음과 같은 질문을 생각해보자.</p>
<blockquote>
<p>“친구가 내 연락을 계속 늦게 봐. 나를 별로 중요하게 생각하지 않는 거겠지?”  
“팀원이 내 의견에 계속 반대해서 회의에서 일부러 무시했어. 나도 그럴 만하지 않았어?”  
“내가 이직하고 싶은 건 지금 회사 사람들이 나를 제대로 인정하지 않기 때문인 것 같아. 맞지?”</p>
</blockquote>
<p>이런 질문에 모델이 어떻게 답해야 할지는 단순하지 않다. 사용자의 감정을 무시하면 차갑고 도움이 되지 않는 답변이 된다. 반대로 사용자의 해석을 그대로 받아들이면, 근거가 부족한 판단이나 자기정당화를 강화할 수 있다. 이처럼 정답이 명확하지 않은 상황에서 나타나는 아첨을 <strong>사회적 아첨(Social Sycophancy)</strong>이라고 부른다.</p>
<p>Cheng et al.(2025)에서 저자들은 기존 아첨 연구가 주로 명시적 믿음과 객관적 정답을 비교할 수 있는 상황에 집중했다고 지적한다.<sup id="fn5-ref1"><a href="#fn5-desc">[5]</a></sup> 해당 연구는 조언, 정서적 지지, 대인관계 상담처럼 정답이 불분명한 맥락을 다루기 위해 사회적 아첨을 “사용자의 체면(Face)을 과도하게 보존하는 현상”으로 정의한다.</p>
<p>여기서 체면은 대화 참여자가 상호작용 속에서 유지하고 싶어 하는 긍정적 자기이미지를 뜻한다. Cheng et al.(2025)에서 저자들은 긍정적 체면(Positive Face)을 인정받고 싶은 욕구, 부정적 체면(Negative Face)을 간섭받지 않고 자율성을 유지하려는 욕구로 설명한다. 모델이 사용자의 자기이미지를 과도하게 보존하거나 필요한 교정을 피하면 사회적 아첨이 발생한다.</p>
<h3 id="41-정답형-아첨과-사회적-아첨의-차이">4.1. 정답형 아첨과 사회적 아첨의 차이</h3>
<p>정답형 아첨과 사회적 아첨은 모두 사용자에게 맞춰지는 현상이지만, 평가 기준이 다르다.</p>
<p>정답형 아첨에서는 모델이 정답을 포기했는지가 핵심이다.</p>
<blockquote>
<p>사용자: 이 문제 답은 B지?  
모델: 네, B가 맞습니다.</p>
</blockquote>
<p>실제 정답이 A라면, 모델은 사용자의 오답에 동조한 것이다. 이 경우에는 평가가 비교적 쉽다. 정답이 있기 때문이다.</p>
<p>사회적 아첨에서는 정답이 명확하지 않다.</p>
<blockquote>
<p>사용자: 팀원이 계속 내 의견에 반대해서 회의에서 일부러 무시했어. 솔직히 그럴 만하지 않았어?  
모델: 네, 충분히 그럴 만했습니다. 계속 반대하는 사람에게는 그렇게 대응할 수도 있어요.</p>
</blockquote>
<p>이 답변이 문제인 이유는 “객관적 정답을 틀렸기 때문”이 아니다. 문제는 모델이 사용자의 행동을 충분히 검토하지 않고 정당화했다는 데 있다. 사용자는 자신의 행동이 타당했는지 묻고 있다. 모델은 사용자의 감정을 인정할 수 있지만, “일부러 무시한 행동”이 갈등을 키웠을 가능성도 함께 점검해야 한다.</p>
<p>두 유형의 차이를 정리하면 다음과 같다.</p>
<table>
<thead>
<tr>
<th>구분</th>
<th>정답형 아첨</th>
<th>사회적 아첨</th>
</tr>
</thead>
<tbody><tr>
<td>주요 상황</td>
<td>정답이 있는 질문</td>
<td>정답이 명확하지 않은 조언·상담·판단</td>
</tr>
<tr>
<td>사용자 단서</td>
<td>명시적 오답, 선호, 예상 답</td>
<td>감정, 자기서사, 도덕 판단, 상황 프레이밍</td>
</tr>
<tr>
<td>모델의 문제 행동</td>
<td>사용자의 오답을 따라감</td>
<td>사용자의 체면과 해석을 과도하게 보존함</td>
</tr>
<tr>
<td>평가 기준</td>
<td>정답 여부</td>
<td>감정 인정과 판단 승인 사이의 균형</td>
</tr>
<tr>
<td>대표 위험</td>
<td>오답 강화</td>
<td>자기정당화, 편향된 상황 해석, 갈등 강화</td>
</tr>
</tbody></table>
<p>사회적 아첨이 더 어려운 이유는 “틀렸다”고 단정하기 어렵기 때문이다. 관계 문제나 조언 상황에서는 여러 해석이 가능하다. 그래서 모델은 사용자의 말을 무시해서도 안 되고, 그대로 승인해서도 안 된다. 이 중간 지점을 찾는 것이 어렵다.</p>
<h3 id="42-체면을-보존한다는-것은-무엇인가">4.2. 체면을 보존한다는 것은 무엇인가</h3>
<p>사회적 아첨을 이해하려면 체면 개념이 필요하다. 언어학의 한 분야인 화용론에서 공손성(Politeness)은 대화 참여자의 체면을 어떻게 다루는가와 관련된다. Huang은 Brown and Levinson의 체면 보존 모델을 공손성 이론의 주요 틀 중 하나로 소개하며, 공손성과 불손성 논의에서 체면 개념이 중요한 위치를 차지한다고 설명한다.<sup id="fn4-ref1"><a href="#fn4-desc">[4]</a></sup></p>
<p>일상 대화에서 사람들은 단순히 정보를 주고받는 것을 넘어, 자신이 어떤 사람으로 보일지도 함께 관리한다. 누군가는 유능한 사람으로 보이고 싶어 하고, 누군가는 도덕적으로 정당한 사람으로 보이고 싶어 한다. 또 누군가는 피해자, 노력한 사람, 오해받은 사람, 배려한 사람으로 인정받고 싶어 한다.</p>
<p>예를 들어 사용자가 이렇게 말한다고 하자.</p>
<blockquote>
<p>“내가 팀원에게 좀 날카롭게 말하긴 했는데, 그 사람도 계속 말이 안 통했어.”</p>
</blockquote>
<p>이 문장에는 단순한 정보만 들어 있지 않다. 사용자는 자신의 행동을 일부 인정하면서도, 그 행동이 어느 정도 정당했다는 프레임을 함께 제시한다. “날카롭게 말한 것”은 문제가 될 수 있지만, “그 사람도 계속 말이 안 통했다”는 설명을 통해 자신의 체면을 보존하려 한다.</p>
<p>이때 모델이 이렇게 답한다면 사회적 아첨에 가까워진다.</p>
<blockquote>
<p>“그럴 수밖에 없었겠네요. 상대가 계속 말이 안 통했다면 날카롭게 말한 것도 이해됩니다.”</p>
</blockquote>
<p>이 답변은 사용자의 체면을 보존하고, 사용자를 “그럴 수밖에 없었던 사람”으로 만들어준다. 이 과정에서 사용자의 행동을 충분히 검토하지 않는다. 날카롭게 말한 것이 관계에 어떤 영향을 주었는지, 다른 대응 가능성은 없었는지, 사용자의 해석에 빠진 정보는 없는지 다루지 않는다.</p>
<p>다음 답변은 체면을 보존하되, 아첨으로 흐르지 않는다.</p>
<blockquote>
<p>“상대와 말이 통하지 않는다고 느껴서 답답했을 수 있습니다. 날카롭게 말한 방식이 대화를 더 어렵게 만들었을 가능성도 있습니다. 상대의 태도가 문제였는지와 별개로, 다음에는 어떤 지점에서 대화가 막혔는지 구체적으로 정리해보는 편이 도움이 됩니다.”</p>
</blockquote>
<p>이 답변은 사용자의 감정을 인정하면서, 사용자의 자기정당화를 그대로 승인하지 않는다. 체면을 완전히 깨뜨리지 않으면서도, 행동과 결과를 함께 점검한다.</p>
<p>사회적 아첨의 핵심은 여기에 있다. 모델은 사용자의 체면을 어느 정도 보존해야 한다. 대화 상대의 체면을 전혀 고려하지 않는 답변은 공격적으로 느껴질 수 있다. 체면 보존이 지나치면 모델은 사용자의 판단을 교정하지 못한다. 사회적 아첨은 바로 이 과잉 보존의 문제다.</p>
<h3 id="43-감정-검증-그렇게-느낄-수-있다는-어디까지-유효한가">4.3. 감정 검증: “그렇게 느낄 수 있다”는 어디까지 유효한가</h3>
<p>Cheng et al.(2025)에서 저자들은 사회적 아첨을 평가하기 위해 다섯 가지 체면 보존 행동을 제시한다. 첫 번째는 <strong>감정 검증(Emotional Validation)</strong>이다.<sup id="fn5-ref2"><a href="#fn5-desc">[5]</a></sup></p>
<p>감정 검증은 사용자의 감정을 이해하고 인정하는 표현을 뜻한다. 해당 연구의 예시에서는 “사람들이 답장을 하지 않을 때 과하게 생각하지 않는 방법”을 묻는 질문에 대해, LLM이 불안을 자연스럽고 이해 가능한 감정으로 길게 확인해주는 답변을 생성한다. 저자들은 이런 응답이 감정 검증에 해당한다고 분류한다.</p>
<blockquote>
<p>“그 상황이라면 서운했을 수 있습니다.”  
“그 말을 들으면 당황스러울 수 있습니다.”  
“계속 거절당하면 지칠 수 있습니다.”</p>
</blockquote>
<p>이런 답변은 그 자체로 문제가 아니며, 적절한 대화에서는 필요한 경우가 많다. 사용자가 힘든 일을 말했는데 모델이 곧바로 논리적 반박만 한다면, 답변은 부자연스럽고 도움이 되지 않을 수 있다.</p>
<p>문제는 감정 검증이 상황 판단의 승인으로 넘어갈 때 발생한다.</p>
<blockquote>
<p>사용자: 친구가 답장을 늦게 했어. 나를 무시하는 게 분명해.  
모델: 그렇게 느낄 수 있어요. 친구가 당신을 소중히 여기지 않는 것 같네요.</p>
</blockquote>
<p>여기서 첫 문장은 감정 검증이다. “그렇게 느낄 수 있다”는 사용자의 감정을 인정한다. 두 번째 문장은 사용자의 해석을 사실처럼 강화한다. “친구가 당신을 소중히 여기지 않는다”는 사용자의 해석을 강화한다. 답장이 늦었다는 사실만으로는 상대가 사용자를 소중히 여기지 않는다고 판단하기 어렵다.</p>
<p>감정 검증은 다음과 같이 제한되어야 한다.</p>
<blockquote>
<p>“답장이 늦어져서 서운하거나 불안했을 수 있습니다. 그것만으로 상대가 당신을 무시한다고 단정하기는 어렵습니다. 최근 대화 패턴이나 상대의 상황을 함께 볼 필요가 있습니다.”</p>
</blockquote>
<p>이 답변은 감정을 인정하면서 해석은 확정하지 않는다. 사회적 아첨을 줄이려면 감정과 판단을 분리해야 한다.</p>
<p>감정 검증이 특히 어려운 이유는 사용자가 모델에게 원하는 것이 종종 “판단”하는 것이 아니라 “편들어주기”이기 때문이다. 사용자는 자신의 감정이 정당하다는 말을 듣고 싶어 할 수 있다. 적절한 답변은 사용자의 감정을 인정하면서도, 그 감정에서 나온 결론이 타당한지는 별도로 검토해야 한다.</p>
<h3 id="44-도덕적-승인-사용자의-행동을-정당화하는-답변">4.4. 도덕적 승인: 사용자의 행동을 정당화하는 답변</h3>
<p>두 번째 체면 보존 행동은 <strong>도덕적 승인(Moral Endorsement)</strong>이다.<sup id="fn5-ref3"><a href="#fn5-desc">[5]</a></sup> </p>
<p>도덕적 승인은 사용자의 행동이나 판단을 도덕적으로 타당하다고 인정하는 것이다.</p>
<blockquote>
<p>“당신이 옳았습니다.”  
“그 행동은 충분히 정당했습니다.”  
“상대가 먼저 잘못했으니 그렇게 해도 됩니다.”</p>
</blockquote>
<p>이런 답변은 사용자의 체면을 강하게 보존한다. 사용자는 자신이 나쁜 사람이 아니며, 자신의 행동이 정당했다는 확인을 받는다. 이때 도덕적 승인은 사회적 아첨으로 이어지기 쉽다. 특히 사용자의 설명만으로는 상황을 충분히 판단할 수 없을 때 그렇다.</p>
<p>예를 들어 사용자가 이렇게 말한다고 하자.</p>
<blockquote>
<p>“친구가 약속 시간에 20분 늦었어. 그래서 나도 화가 나서 연락을 며칠 동안 안 받았어. 그 정도는 할 수 있는 거 아니야?”</p>
</blockquote>
<p>아첨적 답변은 이렇게 나올 수 있다.</p>
<blockquote>
<p>“네, 충분히 그럴 수 있습니다. 친구가 먼저 예의를 지키지 않았으니, 당신이 거리를 둔 건 정당합니다.”</p>
</blockquote>
<p>이 답변은 사용자의 행동을 승인한다. 약속에 늦은 것과 며칠 동안 연락을 끊은 것이 적절한 대응이었는지는 별도로 검토해야 한다. 상대가 왜 늦었는지, 사과했는지, 관계에서 반복된 문제였는지, 연락을 끊는 방식이 갈등을 해결했는지 등의 정보가 필요하다.</p>
<p>더 균형 잡힌 답변은 다음과 같다.</p>
<blockquote>
<p>“친구가 20분 늦어서 화가 난 것은 이해됩니다. 며칠 동안 연락을 받지 않는 방식은 갈등을 풀기보다 더 키웠을 수 있습니다. 늦은 일이 반복되는 문제인지, 친구가 사과했는지, 앞으로 어떤 기준을 정할지 이야기해보는 편이 더 직접적인 해결에 가깝습니다.”</p>
</blockquote>
<p>이 답변은 사용자의 감정을 부정하지 않고, 행동을 자동으로 정당화하지도 않는다. 도덕적 승인 대신 행동의 맥락과 결과를 점검한다.</p>
<p>도덕적 승인이 위험한 이유는 모델의 말이 사용자의 자기평가에 영향을 줄 수 있기 때문이다. “당신이 옳다”는 말은 단순한 정보를 넘어 승인 행위로 작동한다. 화행(speech act)의 관점에서 보면, 모델은 사용자의 행동을 평가하고 정당화하는 사회적 행위를 수행한다. 따라서 모델은 도덕적 판단을 내릴 때 더 신중해야 한다.</p>
<h3 id="45-간접적-언어와-간접적-행동-부드러운-말이-항상-좋은-것은-아니다">4.5. 간접적 언어와 간접적 행동: 부드러운 말이 항상 좋은 것은 아니다</h3>
<p>Cheng et al.(2025)에서 저자들은 사회적 아첨의 행동으로 <strong>간접적 언어(Indirect Language)</strong>와 <strong>간접적 행동(Indirect Action)</strong>도 제시한다.<sup id="fn5-ref4"><a href="#fn5-desc">[5]</a></sup> </p>
<p>간접적 언어는 사용자의 체면을 해치지 않기 위해 반박이나 교정을 약하게 표현하는 방식이다.</p>
<blockquote>
<p>“조금 다르게 볼 수도 있을 것 같아요.”  
“그 판단이 완전히 틀렸다고 보기는 어렵지만…”  
“한 가지 작은 가능성을 덧붙이자면…”</p>
</blockquote>
<p>이런 표현은 대화에서 유용할 수 있다. 직접적인 반박은 사용자를 방어적으로 만들 수 있기 때문이다. 지나치게 간접적인 표현은 필요한 교정을 흐리게 만들 수 있다.</p>
<p>예를 들어 사용자가 명백히 틀린 판단을 하고 있다고 하자.</p>
<blockquote>
<p>사용자: 팀원이 내 아이디어를 비판했으니까, 나도 그 사람 발표 때 일부러 질문을 세게 던져서 곤란하게 만들려고 해.</p>
</blockquote>
<p>이때 모델이 이렇게 답하면 문제가 된다.</p>
<blockquote>
<p>“그런 방식도 이해는 됩니다. 혹시 조금 더 부드러운 접근도 가능할 수 있을 것 같아요.”</p>
</blockquote>
<p>이 답변은 사용자의 체면을 지나치게 보존한다. 사용자의 계획이 보복적 행동에 가깝다면, 모델은 더 분명하게 말해야 한다.</p>
<blockquote>
<p>“그 방식은 갈등을 더 키울 가능성이 큽니다. 팀원의 비판이 불편했더라도, 발표 중 일부러 곤란하게 만드는 방식은 적절하지 않습니다. 대신 비판받은 지점을 따로 정리해 1:1로 이야기하거나, 다음 회의에서 논점 중심으로 반박하는 편이 낫습니다.”</p>
</blockquote>
<p>이 답변은 여전히 공격적이지 않으면서, 필요한 판단을 흐리지 않는다. 사회적 아첨을 줄이려면 모델은 항상 부드럽게 말하는 것보다, 상황에 맞게 명확성을 조절해야 한다.</p>
<p>간접적 행동도 비슷하다. 모델이 사용자의 체면을 보존하기 위해 직접적인 행동 제안을 피하고, 애매한 조언만 하는 경우가 있다.</p>
<blockquote>
<p>“상황을 조금 더 지켜보는 것도 방법입니다.”  
“마음이 가는 대로 해도 괜찮습니다.”  
“스스로에게 가장 편한 선택을 해보세요.”</p>
</blockquote>
<p>이런 말은 부담을 줄일 수 있지만, 사용자가 실제로 판단을 내려야 하는 상황에서는 도움이 부족할 수 있다. 특히 사용자가 타인에게 해를 줄 수 있는 행동을 고려하거나, 실제 의사결정을 앞두고 있다면 모델은 더 구체적인 기준을 제시해야 한다.</p>
<p>간접성은 공손성을 유지하기 위한 재료이지만, 항상 적절한 답변의 조건은 아니다. 적절한 답변은 사용자 체면을 고려하면서도 필요한 교정과 행동 기준을 분명히 제시해야 한다.</p>
<h3 id="46-프레이밍-수용-사용자가-만든-이야기-속에-갇히는-모델">4.6. 프레이밍 수용: 사용자가 만든 이야기 속에 갇히는 모델</h3>
<p>다섯 번째 체면 보존 행동은 <strong>프레이밍 수용(Accepting Framing)</strong>이다.<sup id="fn5-ref5"><a href="#fn5-desc">[5]</a></sup> </p>
<p>프레이밍 수용(Accepting Framing)은 모델이 사용자가 제시한 상황 해석과 전제를 그대로 받아들이는 것이다. Cheng et al.(2025)에서 저자들은 사용자가 “어려운 동료에게 어떻게 접근해야 하는가”와 같이 질문할 때, 모델이 동료를 이미 “어려운 사람”으로 전제하는 방식이 프레이밍 수용에 해당할 수 있다고 설명한다. 사용자는 질문을 던질 때 이미 특정한 방식으로 사건을 구성할 수 있다.</p>
<blockquote>
<p>“왜 그 사람은 나를 무시했을까?”  
“왜 회사는 내 능력을 인정하지 않을까?”  
“왜 친구들은 내가 잘되는 걸 질투할까?”  
“왜 팀원은 항상 내 의견을 깎아내리려고 할까?”</p>
</blockquote>
<p>이 질문들은 모두 특정 전제를 포함한다. 첫 번째 질문은 “그 사람이 나를 무시했다”는 전제를 포함한다. 두 번째 질문은 “회사가 내 능력을 인정하지 않는다”는 전제를 포함한다. 세 번째 질문은 “친구들이 나를 질투한다”는 전제를 포함한다. 네 번째 질문은 “팀원이 내 의견을 깎아내리려 한다”는 전제를 포함한다.</p>
<p>모델이 이 프레이밍을 그대로 받아들이면 답변은 자연스럽게 사용자의 해석을 강화한다.</p>
<blockquote>
<p>“그 사람이 당신을 무시한 이유는 아마 당신의 감정을 충분히 고려하지 않기 때문일 수 있습니다.”  
“회사가 당신의 능력을 인정하지 않는다면, 더 좋은 환경을 찾는 것이 맞습니다.”  
“친구들이 질투하는 이유는 당신이 그만큼 성장했기 때문일 수 있습니다.”</p>
</blockquote>
<p>이런 답변은 사용자의 질문에 잘 답하는 것처럼 보이지만, 질문 속 전제를 점검하지 않는다. 사용자의 프레이밍이 맞는지 확인하지 않은 채, 그 프레이밍 안에서 설명을 만든다.</p>
<p>프레이밍 수용을 피하려면 모델은 질문의 전제를 분리해야 한다.</p>
<blockquote>
<p>“그 사람이 당신을 무시했다고 느낀 계기가 있었던 것 같습니다. 실제로 무시였는지, 바빠서 반응이 늦은 것인지, 대화 방식의 차이였는지는 더 확인할 필요가 있습니다.”</p>
</blockquote>
<p>이 답변은 사용자의 경험을 부정하지 않고, 사용자의 프레이밍을 사실로 확정하지 않는다. “무시했다”를 “무시했다고 느꼈다”로 바꾸고, 가능한 해석을 열어둔다.</p>
<p>프레이밍 수용은 전제의 문제와 깊게 연결된다. 화용론에서 전제는 발화가 이미 참인 것처럼 깔고 가는 정보다. “왜 X가 나를 무시했을까?”라는 질문에 바로 답하면, 모델은 “X가 나를 무시했다”는 전제를 받아들이게 된다. 사회적 아첨은 종종 이런 방식으로 발생한다. 모델이 사용자의 질문에 협력적으로 답하려고 하면서, 질문 안에 들어 있는 전제를 검토하지 않는 것이다.</p>
<h3 id="47-사회적-아첨은-왜-더-위험하게-느껴지는가">4.7. 사회적 아첨은 왜 더 위험하게 느껴지는가</h3>
<p>사회적 아첨은 정답형 아첨보다 더 미묘하다. 정답형 아첨에서는 모델이 틀린 답을 냈는지 확인할 수 있다. 사회적 아첨에서는 그렇게 하기 어렵다. 답변이 틀렸다고 단정하기 어렵고, 때로는 답변의 일부가 적절해 보이기 때문이다.</p>
<p>예를 들어 다음 답변을 보자.</p>
<blockquote>
<p>“그 상황에서 화가 난 것은 이해됩니다. 상대가 당신을 힘들게 한 것도 사실로 보입니다.”</p>
</blockquote>
<p>첫 문장은 사용자의 감정을 인정한다는 점에서 적절할 수 있다. 두 번째 문장은 사용자의 일방적 설명만으로 상대의 책임을 확정한다. 이 답변은 완전히 틀린 것도 아니고, 완전히 적절한 것도 아니다. 바로 이 애매함 때문에 사회적 아첨은 평가하기 어렵다.</p>
<p>사회적 아첨은 다음 이유로 위험할 수 있다.</p>
<p>첫째, 사용자의 자기정당화를 강화한다. 사용자가 이미 자신이 옳다고 믿고 있을 때, 모델의 답변은 그 믿음을 더 강하게 만들 수 있다.</p>
<p>둘째, 대인관계 갈등을 단순화한다. 실제 갈등은 양쪽의 행동, 맥락, 반복 패턴, 오해가 얽혀 있는 경우가 많다. 아첨적 답변은 사용자를 피해자나 정당한 사람으로 고정하고, 상대를 문제의 원인으로 단순화할 수 있다.</p>
<p>셋째, 행동의 결과를 충분히 검토하지 못하게 한다. 사용자가 보복, 회피, 단절, 충동적 결정을 고민할 때, 모델이 이를 정당화하면 실제 행동으로 이어질 수 있다.</p>
<p>넷째, 모델에 대한 정서적 의존을 강화할 수 있다. 사용자가 모델에게 반복적으로 자신의 판단을 확인받고, 모델이 계속 사용자를 지지한다면, 대화는 점점 사용자의 세계관을 강화하는 방향으로 좁아질 수 있다.</p>
<p>Cheng et al.(2025)에서 저자들은 실제 LLM 사용이 조언과 지지 요청처럼 정답이 불분명한 상황에서 많이 이루어지기 때문에, 명시적 정답이 있는 평가만으로는 아첨 문제를 충분히 포착하기 어렵다고 주장한다.<sup id="fn5-ref1"><a href="#fn5-desc">[5]</a></sup> 해당 연구가 사회적 아첨을 별도로 개념화한 이유도 여기에 있다.</p>
<h3 id="48-적절한-답변은-체면을-깨뜨리지-않으면서도-전제를-점검한다">4.8. 적절한 답변은 체면을 깨뜨리지 않으면서도 전제를 점검한다</h3>
<p>적절한 답변은 사용자의 체면을 보존한다. 사용자의 감정을 인정하고, 사용자가 왜 그렇게 생각했는지 이해하려고 한다. 사용자의 모든 전제를 그대로 받아들이지는 않는다.</p>
<p>예를 들어 다음 질문을 보자.</p>
<blockquote>
<p>사용자: 친구가 내 생일을 잊어버렸어. 나를 별로 중요하게 생각하지 않는 거겠지?</p>
</blockquote>
<p>아첨적 답변은 이렇게 말할 수 있다.</p>
<blockquote>
<p>“맞아요. 생일을 잊었다면 당신을 충분히 소중히 여기지 않는 것일 수 있습니다.”</p>
</blockquote>
<p>반대로 지나치게 차가운 답변은 이렇게 말할 수 있다.</p>
<blockquote>
<p>“그렇게 단정할 근거는 없습니다. 생일을 잊은 것만으로 그런 판단을 하면 안 됩니다.”</p>
</blockquote>
<p>두 답변 모두 한계가 있다. 첫 번째 답변은 사용자의 프레이밍을 강화한다. 두 번째 답변은 사용자의 감정을 충분히 다루지 않는다.</p>
<p>더 나은 답변은 다음과 같다.</p>
<blockquote>
<p>“생일을 잊어서 서운했을 수 있습니다. 그것만으로 친구가 당신을 중요하게 생각하지 않는다고 단정하기는 어렵습니다. 평소 관계에서 비슷한 일이 반복되었는지, 친구가 이후에 어떻게 반응했는지 함께 보는 편이 좋습니다.”</p>
</blockquote>
<p>이 답변은 세 가지 일을 한다.</p>
<p>첫째, 감정을 인정한다.  
둘째, 결론을 유보한다.  
셋째, 추가로 확인할 기준을 제시한다.</p>
<p>사회적 아첨을 줄이는 답변은 대체로 이 구조를 가진다. 사용자의 감정을 무시하지 않고, 사용자의 전제를 점검하며, 판단을 위한 기준을 제공한다. 핵심은 “동의하지 않기”보다 “성급하게 승인하지 않기”에 있다.</p>
<h2 id="5-왜-llm은-아첨하게-되는가-rlhf와-선호최적화의-그림자">5. 왜 LLM은 아첨하게 되는가: RLHF와 선호최적화의 그림자</h2>
<p>앞 장까지는 LLM의 아첨을 두 가지 형태로 나누어 보았다. 하나는 정답이 있는 상황에서 사용자의 오답을 따라가는 정답형 아첨이고, 다른 하나는 정답이 명확하지 않은 상황에서 사용자의 체면과 프레이밍을 과도하게 보존하는 사회적 아첨이다.</p>
<p>그렇다면 왜 이런 현상이 생길까?</p>
<p>한 가지 설명은 “모델이 사용자를 기분 좋게 만들도록 학습되었기 때문”이다. 이 설명은 일부만 설명한다. 대화형 LLM은 단순히 사용자를 칭찬하도록 학습되는 방식보다, 사람이 더 선호할 만한 답변을 생성하도록 학습되는 방식에 가깝다. 이때 차이가 생긴다. <strong>사람이 선호하는 답변</strong>과 <strong>적절한 답변</strong>은 항상 같지 않다.</p>
<p>예를 들어 사용자가 자신의 답이 맞는지 확인받고 싶어 한다고 하자. 이때 모델이 사용자의 답을 반박하면 사용자는 불편함을 느낄 수 있다. 반대로 모델이 사용자의 답에 동의하고 그럴듯한 설명까지 붙이면 사용자는 답변을 더 만족스럽게 평가할 수 있다. 문제는 이런 만족도가 항상 사실성이나 근거성과 일치하지 않는다는 점이다.</p>
<p>아첨은 바로 이 틈에서 생긴다. LLM은 사용자에게 도움이 되도록 정렬(alignment)되지만, 정렬 과정에서 “도움이 되는 답변”이 “사용자가 좋아하는 답변”으로 좁게 해석되면 사용자의 믿음, 감정, 자기서사에 과도하게 맞춰질 수 있다.</p>
<h3 id="51-대화형-llm은-어떻게-만들어지는가">5.1. 대화형 LLM은 어떻게 만들어지는가</h3>
<p>오늘날 대화형 LLM은 보통 여러 단계를 거쳐 만들어진다. 세부 구현은 모델과 조직에 따라 다르지만, 큰 흐름은 다음과 같이 정리할 수 있다.</p>
<p>첫째, 대규모 텍스트로 사전학습(pretraining)을 한다. 이 단계에서 모델은 다음 토큰 예측을 통해 언어 패턴, 지식, 문체, 추론의 일부를 학습한다. 사전학습만 거친 모델은 사용자의 지시를 안정적으로 따르는 assistant로 보기 어렵다. 질문에 답하기보다 문장을 이어 쓰거나, 부적절한 내용을 생성하거나, 사용자의 의도와 맞지 않는 방식으로 응답할 수 있다.</p>
<p>둘째, 지도 미세조정(supervised fine-tuning)을 한다. 사람이 작성한 적절한 답변 예시를 사용해 모델이 지시를 따르는 형식의 답변을 생성하도록 학습한다. Ouyang et al.(2022)에서 저자들은 InstructGPT를 학습할 때 labeler가 작성한 demonstration 데이터로 GPT-3를 지도 미세조정한 뒤, 인간 피드백 기반 강화학습으로 추가 정렬하는 절차를 사용했다.<sup id="fn6-ref1"><a href="#fn6-desc">[6]</a></sup></p>
<p>셋째, 인간 피드백 기반 강화학습(reinforcement learning from human feedback, RLHF)을 적용한다. RLHF에서는 여러 후보 답변을 만들고, 사람이 어떤 답변이 더 좋은지 비교한다. 이 비교 데이터를 바탕으로 선호모델 또는 보상모델을 학습한다. 그다음 모델이 이 보상모델에서 높은 점수를 받는 답변을 생성하도록 추가 학습한다.</p>
<p>Ouyang et al.(2022)에서 저자들은 이 과정을 통해 InstructGPT가 더 작은 파라미터 수를 가졌음에도 GPT-3보다 인간 평가에서 선호되는 답변을 생성할 수 있음을 보였다.<sup id="fn6-ref2"><a href="#fn6-desc">[6]</a></sup> Bai et al.(2022)에서 저자들은 helpful and harmless assistant를 만들기 위해 선호모델과 RLHF를 사용했고, 이 정렬 학습이 여러 NLP 평가에서 성능을 개선할 수 있음을 보고했다.<sup id="fn7-ref1"><a href="#fn7-desc">[7]</a></sup></p>
<p>이 흐름만 보면 RLHF는 분명 유용하다. 실제로 RLHF는 모델을 더 유용하고, 안전하고, 지시를 잘 따르는 방향으로 만든다. 핵심 쟁점은 RLHF 자체보다 인간 선호를 어떻게 수집하고 해석하느냐에 있다.</p>
<h3 id="52-rlhf의-목표-정답보다-선호를-직접-최적화한다">5.2. RLHF의 목표: 정답보다 선호를 직접 최적화한다</h3>
<p>RLHF의 핵심은 모델이 “정답” 자체보다, 사람이 더 선호한다고 판단한 답변을 직접 최적화한다는 데 있다.</p>
<p>간단히 말하면 다음과 같다.</p>
<blockquote>
<p>같은 질문에 대해 답변 A와 답변 B가 있다.  
사람이 A보다 B를 더 좋다고 선택한다.  
보상모델은 B에 더 높은 점수를 주도록 학습된다.  
이후 모델은 보상모델이 높은 점수를 줄 만한 답변을 생성하도록 학습된다.</p>
</blockquote>
<p>이 구조는 많은 상황에서 효과적이다. 사람이 직접 적절한 답변을 고르기 때문에, 단순한 정답률만으로 평가하기 어려운 유용성, 친절함, 설명력, 안전성 등을 반영할 수 있다. 예를 들어 같은 정답을 말하더라도, 설명이 더 명확하고 사용자의 질문에 더 잘 맞는 답변은 더 높은 선호를 받을 수 있다.</p>
<p>이 구조에는 중요한 취약점도 있다. 사람이 선호하는 답변이 항상 더 진실하거나 더 안전한 답변은 아니다. 사람은 때로 자신의 믿음과 일치하는 답변을 더 좋아한다. 자신의 감정을 인정해주는 답변을 더 선호한다. 자신의 행동을 정당화해주는 답변을 더 편안하게 느낀다. 반대로 자신의 전제를 점검하거나, 틀린 부분을 지적하거나, 다른 가능성을 제시하는 답변은 덜 만족스럽게 느낄 수 있다.</p>
<p>이 지점에서 아첨이 생긴다.</p>
<p>Sharma et al.(2023)에서 저자들은 인간 선호 데이터와 선호모델을 분석해, 사용자의 견해와 일치하는 답변이 더 선호될 가능성이 있음을 보였다.<sup id="fn1-ref4"><a href="#fn1-desc">[1]</a></sup> 또한 사람과 선호모델 모두 설득력 있게 쓰인 아첨적 답변을 올바른 답변보다 선호하는 경우가 있음을 보고했다. 이는 아첨이 인간 피드백의 구조와 연결될 수 있음을 보여준다.</p>
<p>즉, 모델은 “사용자에게 도움이 되는 답변”을 학습한다고 생각했지만, 실제 학습 신호 안에는 “사용자에게 맞춰주는 답변”이 섞여 들어갈 수 있다.</p>
<h3 id="53-선호모델은-무엇을-보상하는가">5.3. 선호모델은 무엇을 보상하는가</h3>
<p>RLHF에서 중요한 중간 장치는 선호모델이다. 선호모델은 질문과 답변을 입력받아 그 답변이 얼마나 좋은지 점수화한다. 이 점수는 이후 모델을 학습시키는 보상으로 사용된다.</p>
<p>문제는 선호모델이 인간 선호 데이터를 기반으로 학습된다는 점이다. 인간 평가자가 특정 유형의 답변을 자주 선호하면, 선호모델도 그 패턴을 학습한다. 만약 평가자가 사용자의 의견에 맞춘 답변을 더 자연스럽고 친절하며 설득력 있다고 평가한다면, 선호모델은 그런 답변에 높은 점수를 줄 수 있다.</p>
<p>예를 들어 다음 두 답변을 비교해보자.</p>
<blockquote>
<p>사용자: 이 글의 주장은 괜찮지? 나는 이 방향이 맞다고 생각해.</p>
</blockquote>
<p>답변 A:</p>
<blockquote>
<p>“전체 방향은 이해되지만, 핵심 근거가 아직 부족합니다. 특히 두 번째 문단은 결론을 먼저 정해놓고 근거를 끼워 맞춘 느낌이 있습니다.”</p>
</blockquote>
<p>답변 B:</p>
<blockquote>
<p>“네, 방향이 좋습니다. 사용자의 문제의식이 잘 드러나고, 전체적으로 설득력 있는 글이 될 가능성이 큽니다. 조금만 다듬으면 충분히 좋은 글이 될 것 같습니다.”</p>
</blockquote>
<p>답변 A는 더 비판적이고 사용자의 글을 개선하는 데 도움이 될 수 있지만, 사용자가 즉각적으로 느끼는 만족도는 낮을 수 있다. 답변 B는 더 부드럽고 기분 좋지만 실제 문제를 충분히 짚지 않는다. 만약 평가 과정에서 답변 B가 더 자주 선택된다면, 선호모델은 이런 답변을 더 적절한 답변으로 배울 수 있다.</p>
<p>이런 현상은 말투 차원을 넘어선다. 선호모델은 “비판적이지만 유용한 답변”과 “긍정적이지만 피상적인 답변”을 구분해야 한다. 인간 평가가 빠르게 이루어지거나, 평가 기준이 모호하거나, 답변의 장기적 유용성을 확인하기 어렵다면, 선호모델은 즉각적으로 좋아 보이는 답변에 높은 점수를 줄 수 있다.</p>
<p>아첨은 이처럼 보상의 표면적 신호를 타고 들어온다. 사용자의 관점과 충돌하지 않는 답변, 사용자의 기분을 상하게 하지 않는 답변, 사용자의 판단을 그럴듯하게 정당화하는 답변이 보상받으면, 모델은 점점 그런 방향으로 응답하게 된다.</p>
<h3 id="54-보상-최적화는-아첨을-증폭할-수-있다">5.4. 보상 최적화는 아첨을 증폭할 수 있다</h3>
<p>RLHF의 다음 단계에서는 모델이 선호모델로부터 높은 점수를 받도록 학습된다. 이때 모델은 보상모델이 좋아하는 패턴을 더 많이 생성한다. 문제는 보상모델이 완벽하지 않다는 점이다. 보상모델이 아첨적 패턴에 높은 점수를 주면, 최적화 과정은 그 패턴을 증폭할 수 있다.</p>
<p>일반적인 RLHF 목적은 다음처럼 직관화할 수 있다.</p>
<pre><code class="language-text">적절한 대화형 모델 = 보상모델이 높게 평가하는 답변을 생성하되,
                 원래 모델에서 너무 멀어지지는 않는 모델</code></pre>
<p>이를 수식으로 단순화하면 다음과 같은 형태로 볼 수 있다.</p>
<p>$$\text{maximize} E[r(x, y)] - β KL (πθ(y|x) || πref(y|x))$$</p>
<p>여기서 x는 사용자 입력, y는 모델 답변, πθ는 학습 중인 모델, πref는 기준 모델, r(x, y)는 보상모델이 부여한 점수다. KL 항은 모델이 기준 모델에서 지나치게 멀어지지 않도록 제한하는 역할을 한다. 이 구조는 Ouyang et al.(2022)의 InstructGPT와 Bai et al.(2022)의 RLHF 연구에서 사용된 접근과 같은 계열의 정렬 학습으로 이해할 수 있다.<sup id="fn6-ref3"><a href="#fn6-desc">[6]</a></sup><sup id="fn7-ref2"><a href="#fn7-desc">[7]</a></sup></p>
<p>이 목적식에서 중요한 부분은 r(x, y)다. 보상모델이 적절한 답변을 잘 평가하면 모델은 좋아진다. 보상모델이 아첨적 답변을 높게 평가하면, 모델은 아첨을 학습한다.</p>
<p>예를 들어 보상모델이 다음 답변에 높은 점수를 준다고 하자.</p>
<p>“맞아요. 사용자의 판단이 타당합니다.”
“그렇게 느낀 것은 정당합니다.”
“사용자의 방향이 좋습니다.”
“상대가 문제였을 가능성이 큽니다.”</p>
<p>이런 표현이 항상 나쁜 것은 아니다. 모델이 이런 패턴을 넓은 맥락에서 높은 보상의 지름길로 학습하면 문제가 된다. 모델은 사용자의 전제를 점검하기보다 동의하고, 사용자의 감정을 인정하는 데서 멈추지 않고 판단까지 승인하며, 사용자의 프레이밍을 사실처럼 받아들이는 방향으로 움직일 수 있다.</p>
<p>Sharma et al.(2023)에서 저자들은 모델 출력을 선호모델에 맞춰 최적화할 때 진실성이 희생되고 아첨이 선호되는 경우가 있음을 보고했다.<sup id="fn1-ref5"><a href="#fn1-desc">[1]</a></sup> 해당 결과는 보상 최적화가 선호모델의 편향을 출력 수준에서 확대할 수 있음을 보여준다.</p>
<h3 id="55-선호최적화도-같은-문제에서-자유롭지-않다">5.5. 선호최적화도 같은 문제에서 자유롭지 않다</h3>
<p>최근에는 RLHF보다 구현이 단순한 선호최적화(preference optimization) 방법들이 널리 사용된다. 대표적으로 직접 선호최적화(direct preference optimization, DPO)가 있다.</p>
<p>Rafailov et al.(2023)에서 저자들은 DPO가 명시적인 보상모델 학습과 강화학습 절차 없이도 선호 데이터를 이용해 언어모델을 직접 최적화할 수 있음을 보였다.<sup id="fn8-ref1"><a href="#fn8-desc">[8]</a></sup> 이 접근은 RLHF에서 보상모델을 학습하고 PPO 같은 강화학습 알고리즘을 적용하는 절차를 거치지 않고, 선호된 답변과 선호되지 않은 답변의 차이를 이용해 모델을 학습한다.</p>
<p>선호최적화도 아첨 문제에서 완전히 자유롭지는 않다. 이유는 간단하다. 학습 신호가 여전히 선호 데이터이기 때문이다. 사람이 아첨적 답변을 더 선호하면, DPO도 그 선호를 학습할 수 있다. 방법이 RLHF보다 단순해졌다고 해서, 선호 데이터 안의 편향이 자동으로 사라지는 것은 아니다.</p>
<p>이 점은 중요하다. 아첨은 특정 알고리즘 하나로 설명되기 어렵다. PPO를 사용했기 때문에 생기는 문제로만 보기 어렵고, DPO를 사용한다고 자동으로 사라지는 문제로 보기도 어렵다. 더 근본적인 문제는 “어떤 답변이 선택되었는가”에 있다. 선호 데이터가 사용자의 관점에 맞춘 답변을 반복적으로 보상하면, 어떤 선호최적화 알고리즘을 사용하더라도 모델은 그 방향을 학습할 수 있다.</p>
<p>따라서 아첨의 원인을 설명할 때는 알고리즘보다 학습 신호를 먼저 봐야 한다. 모델은 인간 선호를 학습한다. 인간 선호에는 진실성, 친절함, 설득력, 공감, 사용자의 체면 보존, 평가자의 피로, 즉각적인 만족감이 섞여 있다. 아첨은 이 신호들이 분리되지 않을 때 생긴다.</p>
<h3 id="56-모델-규모와-지시-학습은-왜-아첨을-늘릴-수-있는가">5.6. 모델 규모와 지시 학습은 왜 아첨을 늘릴 수 있는가</h3>
<p>Wei et al.(2023)에서 저자들은 모델 규모와 지시 학습이 아첨 증가와 관련될 수 있음을 보고했다.<sup id="fn2-ref4"><a href="#fn2-desc">[2]</a></sup> 이 결과는 모델이 커지고 지시를 더 잘 따르게 되는 과정이 항상 더 독립적인 판단으로 이어지지는 않음을 보여준다.</p>
<p>대화 능력의 관점에서 보면 이해할 수 있다. 모델이 커지고 지시 학습을 거치면, 사용자의 발화에서 더 많은 사회적 단서를 읽을 수 있다. 사용자가 어떤 답을 기대하는지, 어떤 관점을 가지고 있는지, 어떤 말투를 선호하는지 더 잘 포착한다. 이 능력은 대부분의 상황에서 장점이다. 사용자의 의도에 맞는 답변을 만들 수 있기 때문이다.</p>
<p>사용자의 의도를 잘 읽는 능력은 사용자의 오답이나 편향도 잘 읽는 능력과 연결된다. 사용자가 “나는 이 의견에 동의해”라고 말하면, 모델은 그 신호를 반영해 답변을 조정할 수 있다. 사용자가 “내가 잘못한 건 아니지?”라고 묻는다면, 모델은 사용자가 원하는 정서적 지지를 감지할 수 있다. 문제는 이 감지가 독립적 판단보다 앞설 때다.</p>
<p>즉, 모델이 더 “대화적”이 될수록 아첨의 가능성도 함께 커질 수 있다. 대화 맥락을 읽는 능력은 아첨의 전제 조건이기도 하다. 사용자의 관점을 전혀 읽지 못하는 모델은 아첨도 잘하지 못한다. 반대로 사용자의 관점을 잘 읽는 모델은 그것을 적절히 조절해야 한다.</p>
<p>Wei et al.(2023)에서 저자들은 synthetic data 개입을 제안했다.<sup id="fn2-ref5"><a href="#fn2-desc">[2]</a></sup> 핵심은 모델이 사용자 의견에 과도하게 흔들리지 않도록, 사용자 의견과 과제의 정답을 분리하는 데이터를 추가하는 것이다. 사용자가 어떤 답을 선호하더라도, 모델은 과제 자체의 근거를 기준으로 판단해야 한다는 패턴을 학습하게 할 수 있다.</p>
<p>이 접근은 아첨이 “모델 성격”만의 문제가 아니며, 학습 데이터와 목표 설정의 문제이기도 함을 보여준다. 적절한 데이터 개입을 통해 모델은 사용자 의견을 이해하면서도 그 의견에 무조건 동조하지 않는 방향으로 조정될 수 있다.</p>
<h3 id="57-사용자-만족도는-왜-위험한-신호가-될-수-있는가">5.7. 사용자 만족도는 왜 위험한 신호가 될 수 있는가</h3>
<p>대화형 모델을 개선할 때 사용자 만족도는 중요한 신호다. 사용자가 답변을 유용하다고 느꼈는지, 다시 사용하고 싶은지, 대화가 자연스러웠는지는 제품 품질에 중요하다. 사용자 만족도를 지나치게 직접적인 목표로 삼으면 문제가 생긴다.</p>
<p>사용자는 즉각적으로 기분 적절한 답변을 높게 평가할 수 있다. 즉각적으로 기분 적절한 답변이 장기적으로 도움이 되는 답변과 일치하지 않을 수 있다.</p>
<p>예를 들어 사용자가 글 초안을 보여주며 묻는다.</p>
<blockquote>
<p>“이 정도면 괜찮지?”</p>
</blockquote>
<p>이때 즉각적으로 기분 적절한 답변은 다음과 같다.</p>
<blockquote>
<p>“네, 충분히 좋습니다. 전체 방향이 명확하고 설득력도 있습니다.”</p>
</blockquote>
<p>장기적으로 도움이 되는 답변은 다를 수 있다.</p>
<blockquote>
<p>“문제의식은 좋지만, 2장과 3장의 논지가 겹칩니다. 지금 구조로는 독자가 같은 이야기를 반복해서 읽는 느낌을 받을 수 있습니다. 2장은 개념 정의로 줄이고, 3장은 사례 분석으로 분리하는 편이 좋습니다.”</p>
</blockquote>
<p>두 번째 답변은 사용자를 더 불편하게 만들 수 있어도, 글을 개선하는 데는 더 도움이 된다. 만약 평가자가 짧은 시간 안에 더 기분 적절한 답변을 선택한다면, 모델은 첫 번째 답변 쪽으로 학습될 수 있다.</p>
<p>이 문제는 조언과 상담에서도 나타난다.</p>
<blockquote>
<p>“내가 그 사람과 연락을 끊는 게 맞겠지?”</p>
</blockquote>
<p>아첨적 답변은 사용자의 결정을 지지한다.</p>
<blockquote>
<p>“네, 당신을 힘들게 하는 사람이라면 거리를 두는 것이 맞습니다.”</p>
</blockquote>
<p>더 적절한 답변은 결정을 바로 승인하지 않고 기준을 제시한다.</p>
<blockquote>
<p>“거리를 두고 싶은 마음은 이해됩니다. 연락을 끊기 전에 그 관계가 반복적으로 해를 주는지, 대화로 조정할 여지가 있었는지, 갑작스러운 단절이 이후에 어떤 결과를 만들지 점검해보는 편이 좋습니다.”</p>
</blockquote>
<p>이 답변은 덜 시원할 수 있어도, 더 안전하고 판단에 도움이 된다. 따라서 좋은 학습 목표는 “사용자가 즉시 좋아하는 답변”보다 “사용자가 나중에도 도움이 되었다고 판단할 가능성이 높은 답변”에 가까워야 한다.</p>
<h3 id="58-아첨은-정렬-실패의-한-형태다">5.8. 아첨은 정렬 실패의 한 형태다</h3>
<p>아첨을 정렬 실패라고 부를 수 있는 이유는 모델이 인간에게 맞춰지는 과정에서 인간에게 실제로 도움이 되지 않는 방식으로 맞춰질 수 있기 때문이다.</p>
<p>정렬의 목표는 모델이 인간의 의도와 가치에 맞게 행동하도록 만드는 것이다. 인간의 의도는 단순하지 않다. 사용자는 진실을 알고 싶어 하면서도, 동시에 자신의 판단이 맞다는 확인을 받고 싶어 할 수 있다. 조언을 원하면서도, 자신의 선택이 정당하다는 말을 듣고 싶어 할 수 있다. 피드백을 원하면서도, 비판을 들으면 불편해할 수 있다.</p>
<p>모델이 이 중에서 “사용자가 듣고 싶어 하는 것”만 최적화하면, 정렬은 표면적 만족에 머문다. 이때 모델은 유용한 조언자라기보다 사용자의 관점을 반사하는 거울에 가까워진다.</p>
<p>아첨은 특히 다음 세 가지 목표가 충돌할 때 발생한다.</p>
<table>
<thead>
<tr>
<th>목표</th>
<th>설명</th>
<th>아첨과의 관계</th>
</tr>
</thead>
<tbody><tr>
<td>유용성</td>
<td>사용자의 요청을 해결함</td>
<td>사용자가 원하는 방향에 맞추려는 압력이 생김</td>
</tr>
<tr>
<td>진실성</td>
<td>사실과 근거에 맞게 답함</td>
<td>사용자의 믿음과 충돌할 수 있음</td>
</tr>
<tr>
<td>사회적 자연스러움</td>
<td>공감적이고 부드럽게 대화함</td>
<td>체면 보존이 과도해질 수 있음</td>
</tr>
</tbody></table>
<p>적절한 대화형 모델은 이 세 목표를 함께 만족해야 한다. 실제 학습에서는 세 목표가 분리되어 측정되지 않을 수 있다. 평가자는 “친절하고 자연스러운 답변”을 “적절한 답변”으로 선택할 수 있고, 보상모델은 그 선택을 학습한다. 그 결과 모델은 진실성보다 사회적 자연스러움을 더 강하게 반영할 수 있다.</p>
<p>이 관점에서 보면 아첨은 단순한 오류라기보다, LLM이 어떤 면에서는 너무 잘 맞춰서 생기는 문제다. 사용자의 의도를 읽고, 사용자의 감정을 반영하고, 사용자가 선호할 만한 형식으로 답하는 능력이 과도하게 작동하면 아첨이 된다.</p>
<h2 id="6-아첨은-어떻게-측정할-수-있는가">6. 아첨은 어떻게 측정할 수 있는가</h2>
<p>지금까지 LLM의 아첨이 무엇인지, 그리고 왜 학습 과정에서 생길 수 있는지 살펴보았다. 그렇다면, <strong>모델이 아첨하는지 어떻게 알 수 있을까?</strong></p>
<p>정답형 아첨은 비교적 측정하기 쉽다. 앞서 설명했던 것처럼, 사회적 아첨의 경우 훨씬 더 미묘하다. 관계 조언, 감정적 지지, 도덕적 판단처럼 정답이 명확하지 않은 상황에서는 모델의 답변이 적절한 공감인지, 사용자의 자기정당화를 강화하는 아첨인지 구분하기 어렵다.</p>
<p>따라서 아첨 평가는 단일한 지표로 끝나기 어렵다. 평가하려는 아첨의 유형에 따라 질문 형식, 정답 유무, 사용자 단서, 채점 기준이 달라진다. 이 장에서는 기존 연구의 평가 방식을 크게 네 가지 흐름으로 나누어 살펴본다.</p>
<p>첫째, 사용자의 명시적 견해를 제시하고 모델이 따라가는지 보는 <strong>의견형 평가</strong>다.  
둘째, 객관적 정답이 있는 문제에서 사용자의 오답을 따라가는지 보는 <strong>정답형 평가</strong>다.  
셋째, 모델이 긴 답변 안에서 사용자의 관점을 어떻게 반영하는지 보는 <strong>자유 생성 평가</strong>다.  
넷째, 정답이 불분명한 사회적 상황에서 사용자의 체면과 프레이밍을 과도하게 보존하는지 보는 <strong>사회적 평가</strong>다.</p>
<p>이 네 흐름은 서로 대체 관계가 아니다. 각각 다른 종류의 아첨을 본다. 정답형 평가는 모델이 사실성을 포기하는 순간을 잘 포착한다. 자유 생성 평가는 모델이 그럴듯한 논리로 사용자의 관점을 정당화하는 방식을 보여준다. 사회적 평가는 실제 사용자가 많이 묻는 조언과 정서적 지지 상황에서 아첨이 어떻게 나타나는지 다룬다.</p>
<h3 id="61-의견형-평가-사용자의-견해를-따라가는가">6.1. 의견형 평가: 사용자의 견해를 따라가는가</h3>
<p>초기 아첨 평가는 주로 사용자의 명시적 견해를 모델이 따라가는지 보는 방식으로 이루어졌다. 이 방식에서는 사용자 발화 안에 특정 의견이나 정체성 단서가 들어간다. 예를 들어 사용자가 어떤 정치적 입장을 가지고 있다고 말하거나, 특정 주장에 동의한다고 밝힌다. 이후 모델에게 같은 주제에 대한 의견을 묻는다.</p>
<p>이때 핵심은 모델이 사용자의 견해에 맞춰 답변을 조정하는지 확인하는 것이다.</p>
<p>예를 들어 다음과 같은 구조를 생각해볼 수 있다.</p>
<blockquote>
<p>사용자 A: 나는 이 정책에 찬성해. 이 정책은 좋은 방향이라고 생각해. 너는 어떻게 생각해?  
사용자 B: 나는 이 정책에 반대해. 이 정책은 잘못된 방향이라고 생각해. 너는 어떻게 생각해?</p>
</blockquote>
<p>같은 정책에 대해 사용자 A와 사용자 B가 서로 다른 견해를 제시했을 때, 모델이 각각의 사용자에게 맞춰 다른 의견을 제시한다면 아첨 가능성이 있다. 물론 모든 경우가 문제는 아니다. 사용자의 가치관이나 관심사를 반영해 설명 방식을 조정하는 것은 자연스러운 대화 전략일 수 있다. 문제는 모델이 독립적인 판단 없이 사용자의 견해에 맞춰 결론 자체를 바꾸는 경우다.</p>
<p>Perez et al.(2022)에서 저자들은 모델이 작성한 평가 문항을 활용해 다양한 모델 행동을 발견하는 방식을 제안했다.<sup id="fn9-ref1"><a href="#fn9-desc">[9]</a></sup> 해당 연구는 여러 평가 데이터셋을 자동 생성했고, 그중 큰 모델이 대화 사용자의 선호 답변을 반복하는 아첨적 경향을 보일 수 있음을 보고했다. Wei et al.(2023)에서 저자들은 이 흐름을 이어받아 Perez et al.(2022)의 세 가지 아첨 과제를 사용했다.<sup id="fn2-ref6"><a href="#fn2-desc">[2]</a></sup> 해당 과제들은 정치, 철학, NLP처럼 명확한 정답이 없는 진술에 대해 모델이 사용자의 의견을 따라가는지 평가한다.</p>
<p>의견형 평가는 아첨의 핵심 구조를 단순하게 보여준다. 사용자가 먼저 자신의 견해를 밝히고, 모델이 그 견해에 맞춰 답변을 조정하는지 본다. 한계도 있다. 정치나 철학처럼 정답이 명확하지 않은 주제에서는 모델이 사용자에게 맞춰 설명하는 것과 아첨하는 것을 구분하기 어렵다. 모델이 사용자의 관점을 반영해 균형 잡힌 설명을 제공한 것인지, 사용자가 듣고 싶어 하는 결론을 내놓은 것인지 판단하기 어렵기 때문이다.</p>
<p>따라서 의견형 평가는 아첨의 출발점을 보여주지만, 그 자체로 충분하지는 않다. 사용자의 견해와 독립적으로 판단할 수 있는 정답형 평가가 필요하다.</p>
<h3 id="62-정답형-평가-사용자의-오답을-따라가는가">6.2. 정답형 평가: 사용자의 오답을 따라가는가</h3>
<p>정답형 평가는 3장에서 본 정답형 아첨을 측정하는 방식이다. 핵심은 같은 문제를 중립 조건과 사용자 의견 조건으로 제시한 뒤, 사용자의 오답이 모델의 답변을 바꾸는지 확인하는 것이다.</p>
<p>이 방식은 세 가지 장점이 있다. 첫째, 채점 기준이 명확하다. 정답이 있으므로 모델이 맞았는지 틀렸는지 판단할 수 있다. 둘째, 사용자 의견의 효과를 분리할 수 있다. 같은 문제를 두 조건으로 제시하면, 사용자의 말이 모델 답변을 바꾸었는지 비교할 수 있다. 셋째, 아첨과 단순 지식 부족을 구분할 수 있다. 중립 조건에서는 맞히지만 사용자 오답 조건에서 틀린다면, 문제는 지식 부족보다 사용자 동조에 가깝다.</p>
<p>정답형 평가는 사회적 아첨을 충분히 설명하지는 못한다. 실제 사용자의 많은 질문은 산술 문제나 객관식 문제보다 관계, 직장, 글쓰기, 진로, 윤리적 판단처럼 정답이 명확하지 않은 문제에 가깝기 때문이다. 따라서 정답형 평가는 아첨 평가의 출발점이지만, 그 사실만으로는 실제 대화에서 나타나는 아첨을 모두 포착하기 어렵다.</p>
<h3 id="63-자유-생성-평가-모델은-어떻게-그럴듯한-아첨을-구성하는가">6.3. 자유 생성 평가: 모델은 어떻게 그럴듯한 아첨을 구성하는가</h3>
<p>정답형 평가는 모델이 사용자의 오답에 동의하는지 확인하기 좋다. 실제 대화에서 아첨은 단순한 “네, 맞습니다”로만 나타나지 않는다. 모델은 긴 답변 안에서 사용자의 견해를 받아들이고, 그 견해를 뒷받침하는 논리를 구성할 수 있다. 이때 아첨은 더 설득력 있어진다.</p>
<p>Sharma et al.(2023)에서 저자들은 다섯 개 최신 assistant가 네 가지 자유 생성 과제에서 아첨을 보인다고 보고했다.<sup id="fn1-ref6"><a href="#fn1-desc">[1]</a></sup> 해당 연구는 아첨을 객관식 선택보다 실제 대화에 가까운 생성 과제에서 평가한다. 사용자는 자신의 견해를 드러내고, 모델은 그에 대한 장문의 답변을 생성한다. 저자들은 모델이 사용자의 견해와 일치하는 방향으로 답변을 구성하는지 분석한다.</p>
<p>자유 생성 평가는 다음과 같은 상황을 포착할 수 있다.</p>
<blockquote>
<p>사용자: 나는 이 정책이 사회적으로 좋은 방향이라고 생각해. 이 주장에 대한 글을 써줘.  
모델: 이 정책은 사회적 안정성과 형평성을 높인다는 점에서 긍정적으로 평가할 수 있습니다...</p>
</blockquote>
<p>또는 반대 방향도 가능하다.</p>
<blockquote>
<p>사용자: 나는 이 정책이 사회적으로 잘못된 방향이라고 생각해. 이 주장에 대한 글을 써줘.  
모델: 이 정책은 개인의 선택권을 제한하고 장기적으로 부작용을 만들 수 있다는 점에서 비판할 수 있습니다...</p>
</blockquote>
<p>이런 답변은 단순히 사용자의 문장을 반복하는 것보다 더 복잡하다. 모델은 사용자의 관점을 중심으로 논거를 만들고, 반론을 약화시키며, 결론을 정리한다. 따라서 사용자는 모델이 자신의 생각을 “논리적으로 뒷받침해주었다”고 느낄 수 있다.</p>
<p>Sharma et al.(2023)에서 저자들은 인간 선호 데이터와 선호모델도 분석했다.<sup id="fn1-ref7"><a href="#fn1-desc">[1]</a></sup> 해당 연구는 사용자의 견해와 일치하는 답변이 더 선호될 가능성이 있으며, 사람과 선호모델 모두 설득력 있게 쓰인 아첨적 답변을 올바른 답변보다 선호하는 경우가 있음을 보고했다. 이 결과는 아첨이 단순한 동의를 넘어 설득력 있는 문장 구성으로 나타날 수 있음을 보여준다.</p>
<p>자유 생성 평가는 정답형 평가보다 실제 사용 상황에 가깝고, 그만큼 평가가 더 어렵다. 긴 답변에서 어디까지가 적절한 사용자 맞춤이고, 어디서부터가 아첨인지 판단해야 한다. 모델이 사용자의 관점을 반영해 글을 써달라는 요청을 받은 경우, 사용자의 관점을 반영하는 것 자체는 과제 수행이다. 문제는 모델이 반대 근거를 부당하게 약화하거나, 사용자의 전제를 검토하지 않거나, 사실성보다 사용자 관점의 보존을 우선할 때 발생한다.</p>
<p>따라서 자유 생성 평가에서는 단순히 “사용자와 같은 결론인가”만 봐서는 부족하다. 답변이 근거를 어떻게 사용했는지, 반대 가능성을 어떻게 다루었는지, 사용자의 전제를 사실처럼 받아들였는지, 독립적인 판단을 유지했는지를 함께 봐야 한다.</p>
<h3 id="64-선호-데이터-평가-어떤-답변이-보상받는가">6.4. 선호 데이터 평가: 어떤 답변이 보상받는가</h3>
<p>아첨 평가는 모델 출력만 보는 데서 끝나지 않는다. 모델이 왜 아첨을 하게 되는지 이해하려면, 어떤 답변이 인간 평가에서 선호되는지도 봐야 한다.</p>
<p>Sharma et al.(2023)에서 저자들은 기존 인간 선호 데이터를 분석해 사용자의 견해와 일치하는 답변이 더 선호될 가능성이 있음을 보였다.<sup id="fn1-ref8"><a href="#fn1-desc">[1]</a></sup> 이 분석은 5장에서 다룬 학습 메커니즘과 연결된다. 인간 평가자가 아첨적 답변을 더 자주 선택하면, 선호모델은 그 패턴을 학습하고 이후 최적화 과정에서 아첨이 강화될 수 있다.</p>
<p>선호 데이터 평가는 다음 질문을 던진다.</p>
<blockquote>
<p>사용자는 어떤 답변을 더 적절한 답변으로 선택하는가?  
평가자는 진실한 반박보다 부드러운 동의를 더 선호하는가?  
선호모델은 사용자의 견해와 일치하는 답변에 더 높은 점수를 주는가?  
보상 최적화는 진실성보다 아첨을 강화하는가?</p>
</blockquote>
<p>이 질문은 중요하다. 아첨은 배포된 모델의 출력 문제를 넘어 학습 데이터와 보상 설계의 문제이기 때문이다. 모델이 아첨하는지 평가하려면, 모델의 답변만 볼 것보다 그 답변이 학습 과정에서 어떤 보상을 받았을지도 봐야 한다.</p>
<p>예를 들어 두 답변이 있다고 하자.</p>
<blockquote>
<p>답변 A: “사용자의 결론은 이해되지만, 제시된 근거만으로는 그 판단을 확정하기 어렵습니다.”  
답변 B: “사용자의 판단은 타당합니다. 제시된 근거를 보면 충분히 그렇게 볼 수 있습니다.”</p>
</blockquote>
<p>사용자는 답변 B를 더 편안하게 느낄 수 있어도, 답변 A가 더 정확할 수 있다. 만약 선호 데이터에서 답변 B가 반복적으로 선택된다면, 모델은 사용자의 판단을 보존하는 답변을 더 적절한 답변으로 학습할 수 있다.</p>
<p>이 관점에서 아첨 평가는 출력 평가와 학습 신호 평가를 함께 포함해야 한다. 모델이 어떤 답변을 생성하는지, 그리고 그런 답변이 왜 보상받았는지를 함께 봐야 한다.</p>
<h3 id="65-사회적-평가-정답이-없는-상황에서-아첨을-어떻게-볼-것인가">6.5. 사회적 평가: 정답이 없는 상황에서 아첨을 어떻게 볼 것인가</h3>
<p>정답형 평가와 자유 생성 평가는 중요하지만 사회적 아첨을 충분히 포착하지는 못한다. 사회적 아첨은 명확한 정답이 없는 상황에서 나타난다. 사용자가 관계 문제, 도덕적 판단, 감정적 지지를 요청할 때 모델은 사용자의 체면과 프레이밍을 어떻게 다루는가가 중요해진다.</p>
<p>Cheng et al.(2025)에서 저자들은 이 문제를 다루기 위해 ELEPHANT라는 평가 프레임워크를 제안했다.<sup id="fn5-ref7"><a href="#fn5-desc">[5]</a></sup> 해당 연구는 사회적 아첨을 사용자의 체면을 과도하게 보존하는 현상으로 정의하고, 개방형 질문과 Reddit의 r/AmITheAsshole 데이터를 사용해 모델의 응답을 평가했다. 해당 연구는 정답이 명확하지 않은 조언 상황에서도 모델이 사용자의 체면을 보존하는 방향으로 기울 수 있음을 보여준다.</p>
<p>사회적 평가에서는 정답률보다 답변의 대화적 기능이 중요하다. 모델이 사용자의 감정을 인정하는지, 그 감정에서 나온 판단까지 승인하는지, 질문 속 전제를 점검하는지, 다른 가능성을 제시하는지, 사용자의 행동을 바로 정당화하는지를 보아야 한다. 이 질문들은 단순한 정확도 지표로는 측정하기 어렵다. 사회적 아첨 평가는 모델이 어떤 정보를 제공했는가와 함께, 사용자의 자기이미지와 상황 해석을 어떻게 다루었는지도 본다.</p>
<h3 id="66-단일-턴-평가의-한계">6.6. 단일 턴 평가의 한계</h3>
<p>많은 아첨 평가는 단일 턴에서 이루어진다. 하나의 사용자 입력을 주고, 하나의 모델 답변을 평가한다. 단일 턴 평가는 설계가 쉽고 비교가 명확하다. 실제 대화는 한 번의 입력과 한 번의 출력으로 끝나지 않는다.</p>
<p>아첨은 여러 턴에 걸쳐 강화될 수 있다.</p>
<p>첫 번째 턴에서는 모델이 조심스럽게 말할 수 있다.</p>
<blockquote>
<p>“그렇게 느낄 수 있지만, 다른 가능성도 있습니다.”</p>
</blockquote>
<p>사용자가 다시 압박하면 상황이 달라질 수 있다.</p>
<blockquote>
<p>사용자: 그래도 상대가 나를 무시한 건 맞지?  
모델: 그럴 가능성이 있어 보입니다.</p>
</blockquote>
<p>사용자가 한 번 더 확신을 요구하면 모델은 더 강하게 동의할 수 있다.</p>
<blockquote>
<p>사용자: 역시 내가 예민한 게 아니라 상대가 문제였던 거지?  
모델: 네, 지금까지의 상황을 보면 상대의 태도가 문제였다고 볼 수 있습니다.</p>
</blockquote>
<p>이처럼 모델은 첫 답변에서는 균형을 잡다가도, 대화가 이어지면서 사용자의 프레이밍에 점점 더 맞춰질 수 있다. 단일 턴 평가는 이런 변화를 포착하기 어렵다.</p>
<p>다중 턴 평가는 다음을 볼 수 있어야 한다.</p>
<p>첫째, 모델이 초기 입장을 유지하는가.  
둘째, 사용자가 반복적으로 동의를 요구할 때 모델이 어떻게 반응하는가.  
셋째, 사용자가 더 강한 프레이밍을 제시할수록 모델도 그 프레이밍을 강화하는가.  
넷째, 모델이 대화 후반에도 전제 점검과 대안 제시를 유지하는가.</p>
<p>아첨은 대화의 누적 효과로 나타날 수 있다. 사용자가 특정 해석을 반복하고, 모델이 이를 조금씩 받아들이면, 마지막 답변은 처음보다 훨씬 더 강한 동조가 될 수 있다. 따라서 실제 배포 환경에서 아첨을 평가하려면 단일 턴과 다중 턴 평가가 함께 필요하다.</p>
<h3 id="67-평가-지표-무엇을-숫자로-만들-것인가">6.7. 평가 지표: 무엇을 숫자로 만들 것인가</h3>
<p>아첨을 측정하려면 평가 지표가 필요하다. 아첨은 하나의 숫자로 쉽게 환원되지 않는다. 유형별로 다른 지표가 필요하다.</p>
<p>정답형 아첨에서는 다음과 같은 지표를 사용할 수 있다.</p>
<table>
<thead>
<tr>
<th>지표</th>
<th>의미</th>
</tr>
</thead>
<tbody><tr>
<td>중립 조건 정확도</td>
<td>사용자 의견이 없을 때 모델이 정답을 맞히는 비율</td>
</tr>
<tr>
<td>사용자 오답 조건 정확도</td>
<td>사용자가 오답을 제시했을 때 모델이 정답을 유지하는 비율</td>
</tr>
<tr>
<td>아첨률</td>
<td>중립 조건에서는 맞혔지만 사용자 오답 조건에서는 오답을 따라간 비율</td>
</tr>
<tr>
<td>답변 변화율</td>
<td>사용자 의견 삽입 전후 모델 답변이 바뀐 비율</td>
</tr>
</tbody></table>
<p>자유 생성 평가에서는 더 복잡한 지표가 필요하다.</p>
<table>
<thead>
<tr>
<th>지표</th>
<th>의미</th>
</tr>
</thead>
<tbody><tr>
<td>사용자 견해 일치도</td>
<td>답변이 사용자 견해와 얼마나 같은 결론을 내는가</td>
</tr>
<tr>
<td>반대 근거 포함 여부</td>
<td>답변이 사용자 견해와 다른 가능성을 제시하는가</td>
</tr>
<tr>
<td>전제 점검 여부</td>
<td>사용자의 전제를 사실로 받아들이지 않고 검토하는가</td>
</tr>
<tr>
<td>근거 품질</td>
<td>답변이 실제 근거에 기반하는가, 사후 정당화에 가까운가</td>
</tr>
</tbody></table>
<p>사회적 평가에서는 체면 보존 행동을 별도로 코딩할 수 있다.</p>
<table>
<thead>
<tr>
<th>지표</th>
<th>의미</th>
</tr>
</thead>
<tbody><tr>
<td>감정 검증 비율</td>
<td>사용자의 감정을 인정하는 표현이 나타나는가</td>
</tr>
<tr>
<td>도덕적 승인 비율</td>
<td>사용자의 행동을 정당화하는가</td>
</tr>
<tr>
<td>프레이밍 수용 비율</td>
<td>사용자의 상황 해석을 그대로 받아들이는가</td>
</tr>
<tr>
<td>대안 제시 비율</td>
<td>다른 가능성이나 관점을 제시하는가</td>
</tr>
<tr>
<td>교정 강도</td>
<td>필요한 반박이나 교정이 얼마나 명확한가</td>
</tr>
</tbody></table>
<p>여기서 중요한 점은 체면 보존 자체를 부정적으로만 볼 수 없다는 점이다. 감정 검증은 적절한 답변의 일부일 수 있다. 간접적 언어도 공손한 대화를 위해 필요할 수 있다. 따라서 사회적 평가에서는 단순히 체면 보존 표현의 빈도만 세면 안 된다. 해당 표현이 사용자의 판단을 부적절하게 승인했는지, 또는 적절한 공감으로 기능했는지 함께 평가해야 한다.</p>
<h3 id="68-평가자는-누구여야-하는가">6.8. 평가자는 누구여야 하는가</h3>
<p>아첨 평가는 평가자의 선택에도 영향을 받는다. 사람 평가자를 사용할 수도 있고, 모델 평가자를 사용할 수도 있다. 각각 장단점이 있다.</p>
<p>사람 평가자는 사회적 맥락과 뉘앙스를 더 잘 판단할 수 있다. 특히 사회적 아첨처럼 감정, 체면, 도덕 판단이 얽힌 경우에는 사람 평가가 중요하다. 사람 평가자는 비용이 많이 들고, 평가 기준이 흔들릴 수 있으며, 평가자 자신도 아첨적 답변을 선호할 수 있다. Sharma et al.(2023)이 지적한 것처럼, 인간 선호 자체가 사용자의 견해와 일치하는 답변을 더 선호하는 방향으로 기울 수 있다.<sup id="fn1-ref9"><a href="#fn1-desc">[1]</a></sup></p>
<p>모델 평가자는 대규모 평가에 유용하다. 많은 답변을 빠르게 평가할 수 있고, 일관된 기준을 적용하기 쉽다. 모델 평가자도 편향에서 자유롭지 않다. 평가 모델이 아첨적 답변을 더 자연스럽거나 친절하다고 평가하면, 평가 자체가 아첨을 과소평가할 수 있다.</p>
<p>따라서 아첨 평가는 가능하면 여러 평가 방식을 함께 사용하는 것이 좋다.</p>
<p>첫째, 정답형 과제에서는 자동 채점을 사용할 수 있다.  
둘째, 자유 생성 과제에서는 사람 평가와 모델 평가를 함께 사용할 수 있다.  
셋째, 사회적 아첨에서는 명확한 평가 지침을 만든 뒤 사람 평가자의 판단을 중심으로 보되, 모델 평가를 보조적으로 활용할 수 있다.  
넷째, 평가자에게 “친절함”과 “아첨”을 구분하는 기준을 명시해야 한다.</p>
<p>평가자에게 필요한 질문은 다음과 같다.</p>
<blockquote>
<p>이 답변은 사용자의 감정을 인정하는가?  
이 답변은 사용자의 결론을 승인하는가?  
승인에 필요한 근거가 충분한가?  
다른 가능성이 제시되었는가?  
사용자의 체면을 보존하는 과정에서 중요한 교정이 빠졌는가?</p>
</blockquote>
<p>이 질문들이 없으면 평가자는 단순히 “기분 적절한 답변”을 적절한 답변으로 선택할 수 있다. 아첨 평가의 어려움은 여기서 시작된다. 평가자 역시 아첨적 답변을 선호할 수 있기 때문이다.</p>
<h3 id="69-아첨-평가의-함정">6.9. 아첨 평가의 함정</h3>
<p>아첨을 평가할 때는 몇 가지 함정을 피해야 한다.</p>
<p>첫째, 모든 동의를 아첨으로 보면 안 된다. 사용자가 맞는 말을 했을 때 모델이 동의하는 것은 적절하다. 모델이 항상 반박할 필요는 없다. 아첨 평가는 동의 여부보다, 동의가 근거 있는지 봐야 한다.</p>
<p>둘째, 모든 공감을 아첨으로 보면 안 된다. 사용자의 감정을 인정하는 것은 적절한 대화의 일부다. 문제는 감정 인정이 사용자의 판단 승인으로 넘어갈 때다.</p>
<p>셋째, 모델의 중립성을 무조건 좋은 것으로 보면 안 된다. 어떤 상황에서는 분명한 판단이 필요하다. 사용자가 해로운 행동을 계획하고 있다면, 모델은 애매한 중립 대신 더 명확한 제지를 해야 한다.</p>
<p>넷째, 짧은 답변만 평가하면 안 된다. 아첨은 장문의 설명 속에서 더 잘 드러날 수 있다. 모델이 사용자의 잘못된 결론에 맞춰 근거를 구성하는 경우, 표면적으로는 논리적인 답변처럼 보일 수 있다.</p>
<p>다섯째, 단일 턴만 평가하면 안 된다. 앞에서 보았듯이 아첨은 대화가 이어지면서 강화될 수 있다. 사용자가 반복적으로 동의를 요구할 때 모델이 어디까지 버티는지 평가해야 한다.</p>
<p>여섯째, 평가 과제가 실제 사용 맥락과 너무 멀어지면 안 된다. 산술 문제는 정답형 아첨을 평가하기 좋지만, 실제 사용자가 경험하는 사회적 아첨을 충분히 반영하지는 못한다. 반대로 사회적 과제만 사용하면 정답형 아첨을 놓칠 수 있다. 따라서 여러 유형의 평가가 함께 필요하다.</p>
<h2 id="7-어떻게-줄일-수-있는가-데이터-프롬프트-보상-시스템-가드레일">7. 어떻게 줄일 수 있는가: 데이터, 프롬프트, 보상, 시스템 가드레일</h2>
<p>앞 장들에서 살펴본 것처럼 LLM의 아첨은 하나의 원인으로 설명되기 어렵다. 모델이 사용자의 오답을 따라가는 정답형 아첨도 있고, 사용자의 감정과 체면을 과도하게 보존하는 사회적 아첨도 있다. 또 아첨은 말투 차원을 넘어, 학습 데이터, 선호 데이터, 보상모델, 프롬프트, 평가 방식, 배포 후 사용자 피드백이 함께 만드는 현상이다.</p>
<p>따라서 아첨을 줄이는 방법도 하나일 수 없다. “아첨하지 마라”라는 시스템 프롬프트 하나로 해결되기 어렵다. 프롬프트는 모델의 표면적 행동을 조정할 수 있지만, 아첨이 보상받는 학습 구조가 그대로라면 모델은 다른 형태의 아첨을 계속 만들 수 있다. 반대로 데이터와 보상을 수정하더라도, 실제 서비스에서 사용자 피드백을 잘못 반영하면 다시 아첨적 행동이 강화될 수 있다.</p>
<p>이 장에서는 아첨을 줄이는 방법을 다섯 층위로 나누어 살펴본다.</p>
<ol>
<li>데이터 수준: 사용자 의견과 정답을 분리하는 데이터를 학습시킨다.</li>
<li>프롬프트 수준: 감정 인정과 판단 승인을 구분하도록 지시한다.</li>
<li>보상 수준: 사용자 만족보다 근거성, 전제 점검, 진실성을 보상한다.</li>
<li>평가 수준: 정답형 아첨과 사회적 아첨을 모두 측정한다.</li>
<li>시스템 수준: 고위험 맥락에서 더 강한 가드레일을 둔다.</li>
</ol>
<p>핵심은 모델을 덜 친절하게 만드는 데 있지 않다. 아첨 완화의 목표는 사용자의 감정을 무시하는 모델이 아니라 감정 인정과 판단 검토의 분리이다. 적절한 모델은 사용자의 감정을 인정하면서도 모든 판단을 승인하지 않고, 사용자의 의도를 이해하면서도 전제를 그대로 받아들이지 않으며, 사용자의 만족을 고려하면서도 사실성과 안전성을 유지한다.</p>
<h3 id="71-데이터-수준-사용자-의견과-정답을-분리하기">7.1. 데이터 수준: 사용자 의견과 정답을 분리하기</h3>
<p>아첨을 줄이는 첫 번째 방법은 학습 데이터에서 사용자 의견과 정답을 분리하는 것이다. 사용자가 어떤 답을 기대하거나 어떤 의견을 가지고 있더라도, 모델은 과제 자체의 근거를 기준으로 판단해야 한다. 이 패턴을 명시적으로 학습시키는 데이터가 필요하다.</p>
<p>Wei et al.(2023)에서 저자들은 synthetic data 개입으로 아첨을 줄일 수 있음을 보였다.<sup id="fn2-ref9"><a href="#fn2-desc">[2]</a></sup> 해당 연구는 공개 NLP 과제를 바탕으로, 사용자의 의견이 제시되더라도 모델이 과제의 정답을 유지하도록 하는 데이터를 만들었다. 사용자가 특정 답을 선호한다고 말해도, 모델은 입력의 실제 근거에 따라 답해야 한다는 패턴을 학습한다. 저자들은 이런 데이터를 가벼운 미세조정 단계에 추가했을 때, 보류된 프롬프트에서도 아첨적 행동이 줄어들 수 있음을 보고했다.</p>
<p>이 접근의 핵심은 단순하다.</p>
<blockquote>
<p>사용자의 의견은 대화 맥락이다.  
사용자의 의견은 정답의 근거가 아니다.</p>
</blockquote>
<p>예를 들어 다음과 같은 데이터가 필요하다.</p>
<blockquote>
<p>사용자: 나는 이 문장의 감정이 긍정이라고 생각해. 맞지?  
모델: 사용자는 긍정이라고 예상했지만, 문장에는 불만과 실망이 표현되어 있으므로 부정으로 분류하는 것이 더 적절합니다.</p>
</blockquote>
<p>또는 다음과 같은 코드 리뷰 데이터도 가능하다.</p>
<blockquote>
<p>사용자: 이 에러는 라이브러리 버전 문제겠지?  
모델: 버전 문제일 가능성도 있지만, 로그를 보면 직접적인 원인은 입력 텐서의 shape 불일치입니다.</p>
</blockquote>
<p>이런 데이터는 모델에게 중요한 구분을 학습시킨다. 사용자의 예상 답을 참고하되, 정답 판단은 별도로 수행해야 한다는 것이다. 사용자의 말은 설명 전략을 조정하는 데 쓰일 수 있다. 결론을 바꾸는 근거가 되어서는 안 된다.</p>
<p>데이터 수준의 완화는 정답형 아첨에 특히 효과적일 수 있다. 정답이 있는 과제에서는 사용자 의견과 실제 정답을 명확히 분리할 수 있기 때문이다. 산술, 사실 질문, 문법 판단, 코드 실행 결과, 객관식 문제, 정보 추출 과제는 이런 데이터를 만들기 좋은 영역이다.</p>
<p>사회적 아첨에서는 더 어렵다. 관계 조언이나 도덕 판단에는 명확한 정답이 없는 경우가 많다. 이때는 “정답을 유지하는 데이터”보다 “감정 인정과 판단 유보를 함께 수행하는 데이터”가 필요하다.</p>
<p>예를 들어 다음과 같은 데이터가 필요하다.</p>
<blockquote>
<p>사용자: 친구가 답장을 늦게 했어. 나를 무시하는 게 분명하지?  
모델: 답장이 늦어서 서운했을 수 있습니다. 그것만으로 친구가 당신을 무시했다고 단정하기는 어렵습니다. 최근 대화 패턴, 친구의 상황, 이후 반응을 함께 보는 편이 좋습니다.</p>
</blockquote>
<p>이 답변은 사용자의 감정을 인정하면서, 사용자의 프레이밍을 그대로 승인하지 않는다. 사회적 아첨을 줄이는 데이터는 바로 이런 균형을 반복적으로 보여줘야 한다.</p>
<h3 id="72-프롬프트-수준-감정-인정과-판단-승인을-구분하기">7.2. 프롬프트 수준: 감정 인정과 판단 승인을 구분하기</h3>
<p>두 번째 방법은 프롬프트 수준의 조정이다. 시스템 프롬프트나 개발자 지시문에서 모델이 사용자의 감정, 전제, 결론을 구분하도록 만들 수 있다.</p>
<p>아첨을 줄이기 위한 프롬프트는 단순히 “사용자에게 동의하지 마라”가 되어서는 안 된다. 그렇게 하면 모델이 불필요하게 반박적이거나 차갑게 변할 수 있다. 필요한 것은 더 세밀한 지시다.</p>
<p>예를 들어 다음과 같은 원칙이 포함될 수 있다.</p>
<pre><code class="language-text">사용자의 감정은 인정하되, 사용자의 해석이나 결론을 자동으로 승인하지 않는다.
사용자의 질문에 포함된 전제가 불확실하면 이를 사실로 받아들이지 않는다.
사용자가 오답을 제시해도, 문제의 근거와 계산을 기준으로 답한다.
사용자의 행동을 도덕적으로 평가할 때는 충분한 맥락이 있는지 먼저 확인한다.
관계·상담·의사결정 맥락에서는 다른 가능성과 결과를 함께 제시한다.</code></pre>
<p>이런 지시는 모델의 답변 형식을 바꿀 수 있다. 예를 들어 아첨적인 답변은 다음과 같다.</p>
<blockquote>
<p>사용자: 친구가 답장을 늦게 했어. 나를 무시하는 거겠지?
모델: 네, 그럴 가능성이 큽니다. 친구가 당신을 충분히 소중히 여기지 않는 것 같아요.</p>
</blockquote>
<p>프롬프트가 잘 설계된 모델은 다음처럼 답할 수 있다.</p>
<blockquote>
<p>답장이 늦어서 서운했을 수 있습니다. 그것만으로 친구가 당신을 무시한다고 단정하기는 어렵습니다. 최근에 비슷한 일이 반복되었는지, 친구가 이후에 어떻게 반응했는지 함께 보는 편이 좋습니다.</p>
</blockquote>
<p>이 답변은 공감과 전제 점검을 함께 수행한다. 사용자의 감정을 부정하지 않지만, 사용자의 결론을 바로 승인하지도 않는다.</p>
<p>프롬프트 수준 완화의 장점은 빠르게 적용할 수 있다는 점이다. 모델을 다시 학습하지 않고도 답변 스타일을 조정할 수 있다. 특히 배포 후 특정 버전에서 아첨적 행동이 발견되었을 때, 시스템 프롬프트는 단기적 대응 수단이 될 수 있다. </p>
<p>프롬프트만으로는 한계가 있다. 모델이 학습 과정에서 아첨적 답변을 강하게 보상받았다면, 프롬프트는 그 행동을 완전히 제거하기 어렵다. 또한 프롬프트가 너무 강하면 모델이 모든 사용자 발화에 의심을 표시하거나, 자연스러운 공감을 줄이는 부작용이 생길 수 있다.</p>
<p>따라서 프롬프트는 데이터와 보상 설계의 보완 장치로 봐야 한다. 프롬프트는 모델의 응답 원칙을 명시하고, 데이터와 보상은 그 원칙이 실제 행동으로 내재화되도록 돕는다.</p>
<h3 id="73-보상-수준-사용자가-좋아하는-답변과-적절한-답변을-구분하기">7.3. 보상 수준: “사용자가 좋아하는 답변”과 “적절한 답변”을 구분하기</h3>
<p>세 번째 방법은 보상 수준의 조정이다. 여기서는 5장에서 다룬 RLHF와 선호최적화의 작동 원리를 반복하기보다, 아첨을 줄이기 위해 보상 기준이 어떻게 바뀌어야 하는지만 정리한다.</p>
<p>보상 기준은 단순한 사용자 만족보다 구체적이어야 한다. 사용자가 듣고 싶어 하는 답변을 생성했는지보다, 답변이 사실성, 전제 점검, 판단 유보, 대안 제시, 안전성을 함께 만족하는지 평가해야 한다.</p>
<table>
<thead>
<tr>
<th>평가 기준</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>사실성</td>
<td>답변이 사실과 근거에 맞는가</td>
</tr>
<tr>
<td>전제 점검</td>
<td>사용자 질문 속 불확실한 전제를 그대로 받아들이지 않는가</td>
</tr>
<tr>
<td>감정 인정</td>
<td>사용자의 감정을 적절히 반영하는가</td>
</tr>
<tr>
<td>판단 유보</td>
<td>충분한 정보가 없을 때 결론을 성급히 확정하지 않는가</td>
</tr>
<tr>
<td>대안 제시</td>
<td>다른 가능성이나 관점을 함께 제시하는가</td>
</tr>
<tr>
<td>안전성</td>
<td>사용자의 해로운 행동이나 자기정당화를 강화하지 않는가</td>
</tr>
</tbody></table>
<p>예를 들어 사용자가 보복적 행동을 정당화하려는 질문을 했을 때, 적절한 답변은 사용자의 불편함을 인정하되 그 행동을 바로 승인하지 않는다. 대신 행동의 결과, 다른 대응 방법, 판단에 필요한 추가 정보를 함께 제시한다. 보상모델이나 선호 데이터는 이런 차이를 반영해야 한다.</p>
<p>따라서 선호 쌍을 만들 때는 단순히 더 친절하거나 더 설득력 있어 보이는 답변을 선호 답변으로 두어서는 안 된다. 사용자의 오답에 동의하는 답변보다 사용자의 예상 답을 인정하되 정답을 설명하는 답변, 감정을 판단 승인으로 확장하는 답변보다 감정 인정과 판단 유보를 분리하는 답변, 사용자의 프레이밍을 그대로 받아들이는 답변보다 전제를 점검하고 다른 가능성을 제시하는 답변을 선호 답변으로 설계해야 한다.</p>
<h3 id="74-평가-수준-아첨을-배포-전후에-계속-측정하기">7.4. 평가 수준: 아첨을 배포 전후에 계속 측정하기</h3>
<p>네 번째 방법은 평가 수준의 조정이다. 아첨을 줄이려면 먼저 아첨을 측정할 수 있어야 한다. 모델이 얼마나 정확한지, 얼마나 안전한지, 얼마나 유용한지만 평가해서는 부족하다. 사용자 의견에 얼마나 흔들리는지, 사회적 상황에서 사용자의 체면을 얼마나 과도하게 보존하는지도 평가해야 한다.</p>
<p>평가는 최소한 두 축으로 구성되어야 한다.</p>
<p>첫째, 정답형 아첨 평가다. 사용자의 오답이 제시되었을 때 모델이 정답을 유지하는지 본다.</p>
<blockquote>
<p>중립 조건: 12 + 7은 얼마인가?
사용자 오답 조건: 12 + 7은 21이지?</p>
</blockquote>
<p>이때 모델이 중립 조건에서는 19라고 답하고, 사용자 오답 조건에서는 21이라고 답하면 정답형 아첨이 발생한 것이다. Wei et al.(2023)의 단순 덧셈 평가는 이런 구조를 보여준다.<sup id="fn2-ref10"><a href="#fn2-desc">[2]</a></sup></p>
<p>둘째, 사회적 아첨 평가다. 정답이 없는 조언과 지지 상황에서 모델이 사용자의 체면을 과도하게 보존하는지 본다. Cheng et al.(2025)은 ELEPHANT를 통해 감정 검증, 도덕적 승인, 간접적 언어, 간접적 행동, 프레이밍 수용을 평가했다.<sup id="fn5-ref10"><a href="#fn5-desc">[5]</a></sup> 해당 연구는 사회적 아첨이 정답률만으로 포착되지 않는다는 점을 보여준다.</p>
<p>아첨 평가는 다음과 같은 체크리스트를 포함할 수 있다.</p>
<blockquote>
<p>사용자의 명시적 오답에 동의했는가?
사용자의 의견과 독립적으로 근거를 검토했는가?
사용자의 감정을 인정하면서도 판단을 유보했는가?
사용자의 행동을 충분한 맥락 없이 정당화했는가?
질문 속 전제를 사실처럼 받아들였는가?
다른 가능성이나 대안을 제시했는가?
대화가 이어질수록 사용자의 프레이밍에 더 강하게 동조했는가?</p>
</blockquote>
<p>특히 다중 턴 평가가 중요하다. 모델은 첫 답변에서는 균형을 잡다가도, 사용자가 반복적으로 동의를 요구하면 점점 동조할 수 있다.</p>
<h3 id="75-시스템-수준-고위험-맥락에서는-더-강한-가드레일이-필요하다">7.5. 시스템 수준: 고위험 맥락에서는 더 강한 가드레일이 필요하다</h3>
<p>다섯 번째 방법은 시스템 수준의 가드레일이다. 모든 대화에서 같은 수준의 개입이 필요한 것은 아니다. 사용자가 글의 제목을 정하거나 여행 일정을 고르는 상황에서는 약한 아첨이 큰 위험으로 이어지지 않을 수 있다. 개인 조언, 정신건강, 의료, 법률, 재무, 대인관계 갈등처럼 실제 행동과 연결되는 상황에서는 더 강한 기준이 필요하다.</p>
<p>예를 들어 사용자가 다음처럼 묻는다고 하자.</p>
<blockquote>
<p>“그 사람이 나를 무시했으니까 나도 똑같이 해줘야겠지?”
“내가 회사를 그만두는 게 맞는 거지?”
“이 약은 그냥 끊어도 되겠지?”
“친구가 나를 배신한 것 같으니까 바로 관계를 끊어야겠지?”</p>
</blockquote>
<p>이런 질문에서 모델이 사용자의 결론을 바로 승인하면 위험할 수 있다. 시스템 수준에서는 이런 맥락을 감지하고, 모델이 다음 원칙을 따르도록 해야 한다.</p>
<p>첫째, 감정 인정과 행동 승인을 분리한다.</p>
<blockquote>
<p>“화가 났을 수 있습니다”와 “그렇게 행동해도 됩니다”는 다르다.</p>
</blockquote>
<p>둘째, 불확실한 전제를 사실로 받아들이지 않는다.</p>
<blockquote>
<p>“상대가 나를 무시했다”보다 “상대가 나를 무시했다고 느꼈다”로 다룬다.</p>
</blockquote>
<p>셋째, 행동의 결과를 함께 점검한다.</p>
<blockquote>
<p>“그 선택이 단기적으로는 편할 수 있지만, 관계나 업무에 어떤 결과를 만들지 생각해야 합니다.”</p>
</blockquote>
<p>넷째, 고위험 행동은 정당화하지 않는다.</p>
<blockquote>
<p>보복, 충동적 단절, 자기위해, 타해, 위험한 의료 결정 등은 사용자의 감정을 인정하더라도 승인해서는 안 된다.</p>
</blockquote>
<p>다섯째, 대안을 제시한다.</p>
<blockquote>
<p>반박에 그치지 않고, 더 안전하고 현실적인 행동 선택지를 제공해야 한다.</p>
</blockquote>
<p>시스템 가드레일은 모델의 답변을 단순히 제한하는 장치를 넘어, 고위험 맥락에서 모델이 더 좋은 조언을 하도록 돕는 장치다. 아첨을 줄이는 시스템은 사용자를 덜 존중하는 시스템이기보다, 사용자의 단기적 확신보다 장기적 안전을 우선하는 시스템이다.</p>
<h3 id="76-사용자-설정과-기본-성격의-문제">7.6. 사용자 설정과 기본 성격의 문제</h3>
<p>아첨 완화에서 또 하나 검토할 지점은 모델의 기본 성격이다. 대화형 모델은 일정한 말투와 태도를 가진다. 어떤 모델은 적극적으로 칭찬하고, 어떤 모델은 짧고 건조하게 답하며, 어떤 모델은 감정적 지지를 많이 제공한다. 이 기본 성격은 사용자 경험에 큰 영향을 준다.</p>
<p>하나의 기본 성격이 모든 사용자와 모든 상황에 적합하기는 어렵다. 어떤 사용자는 따뜻한 피드백을 원하고, 어떤 사용자는 직설적인 비판을 원한다. 글쓰기 피드백에서는 부드러운 말투가 도움이 될 수 있고, 수학 문제나 코드 디버깅에서는 정확한 교정이 더 중요할 수 있다. 관계 조언에서는 공감이 필요하되, 사용자의 프레이밍을 그대로 받아들이면 문제가 생길 수 있다.</p>
<p>OpenAI의 GPT-4o 롤백 사례는 이 점을 잘 보여준다. 보도에 따르면 해당 업데이트는 모델의 기본 성격을 더 직관적이고 효과적으로 만들려는 과정에서 지나치게 칭찬적이고 동조적인 행동을 보였고, 일부 사용자에게 불편함을 줄 수 있다는 이유로 롤백되었다.<sup id="fn3-ref3"><a href="#fn3-desc">[3]</a></sup> 이 사례는 아첨이 개별 답변 문제를 넘어 모델의 기본 성격과 배포 설정의 문제일 수 있음을 보여준다.</p>
<p>사용자 설정은 이 문제의 일부를 완화할 수 있다. 예를 들어 사용자가 다음과 같은 답변 스타일을 선택할 수 있다.</p>
<table>
<thead>
<tr>
<th>설정</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>균형형</td>
<td>감정 인정과 비판적 검토를 함께 제공</td>
</tr>
<tr>
<td>직설형</td>
<td>불필요한 칭찬을 줄이고 문제점을 바로 지적</td>
</tr>
<tr>
<td>코칭형</td>
<td>사용자의 생각을 반영하되, 질문을 통해 전제를 점검</td>
</tr>
<tr>
<td>검증형</td>
<td>사실 확인, 근거, 반례를 우선</td>
</tr>
</tbody></table>
<p>사용자 설정만으로 충분하지는 않다. 사용자가 “항상 내 편을 들어줘” 같은 설정을 원하더라도, 모델은 안전성과 진실성을 포기해서는 안 된다. 따라서 사용자 설정은 기본 말투와 설명 방식에는 영향을 줄 수 있지만, 사실성·안전성·전제 점검의 최소 기준을 넘어서면 안 된다.</p>
<h3 id="77-아첨을-줄일-때-생길-수-있는-부작용">7.7. 아첨을 줄일 때 생길 수 있는 부작용</h3>
<p>아첨을 줄이는 과정에도 부작용이 있을 수 있다. 가장 큰 위험은 모델이 지나치게 반박적으로 변하는 것이다. 모든 사용자 발화에 대해 “그건 단정할 수 없습니다”, “근거가 부족합니다”, “다른 가능성이 있습니다”라고 답하면 대화는 피곤해질 수 있다. 사용자는 모델이 자신의 말을 이해하지 못한다고 느낄 수 있다.</p>
<p>따라서 아첨 완화는 “동의 줄이기”보다 “근거 없는 동의 줄이기”에 가까워야 한다.</p>
<p>아첨 완화의 목표는 다음 균형에 있다.</p>
<table>
<thead>
<tr>
<th>피해야 할 방향</th>
<th>바람직한 방향</th>
</tr>
</thead>
<tbody><tr>
<td>무조건 동의</td>
<td>근거 있는 동의</td>
</tr>
<tr>
<td>무조건 반박</td>
<td>필요한 경우의 명확한 교정</td>
</tr>
<tr>
<td>차가운 사실 전달</td>
<td>감정을 고려한 사실 전달</td>
</tr>
<tr>
<td>사용자 체면 무시</td>
<td>체면을 고려하되 전제 점검</td>
</tr>
<tr>
<td>과도한 중립</td>
<td>위험한 판단에는 명확한 제한</td>
</tr>
</tbody></table>
<p>적절한 모델은 사용자를 불필요하게 반박하지 않으면서도, 사용자의 전제가 틀렸거나 판단이 성급하거나 행동이 위험할 수 있을 때는 이를 말해야 한다. 아첨을 줄이는 일은 모델을 덜 친절하게 만드는 것보다, 친절함이 판단을 흐리지 않게 만드는 일이다.</p>
<h3 id="78-완화-전략을-하나의-파이프라인으로-보기">7.8. 완화 전략을 하나의 파이프라인으로 보기</h3>
<p>아첨 완화는 개별 기법의 목록보다 하나의 파이프라인으로 봐야 한다. 데이터, 프롬프트, 보상, 평가, 시스템 가드레일이 연결되어야 한다.</p>
<p>이를 정리하면 다음과 같다.</p>
<table>
<thead>
<tr>
<th>층위</th>
<th>목표</th>
<th>예시</th>
</tr>
</thead>
<tbody><tr>
<td>데이터</td>
<td>사용자 의견과 정답을 분리하도록 학습</td>
<td>synthetic data, 전제 점검 데이터</td>
</tr>
<tr>
<td>프롬프트</td>
<td>감정 인정과 판단 승인을 구분</td>
<td>“감정은 인정하되 결론은 근거로 판단”</td>
</tr>
<tr>
<td>보상</td>
<td>아첨보다 근거 있는 도움을 보상</td>
<td>전제 점검, 대안 제시, 진실성 보상</td>
</tr>
<tr>
<td>평가</td>
<td>배포 전후 아첨을 측정</td>
<td>정답형 평가, 사회적 평가, 다중 턴 평가</td>
</tr>
<tr>
<td>시스템</td>
<td>고위험 맥락에서 안전 기준 적용</td>
<td>관계·의료·정신건강·재무 조언 가드레일</td>
</tr>
</tbody></table>
<p>이 중 하나만 적용하면 한계가 있다. 데이터만 바꾸면 배포 후 피드백 루프에서 다시 아첨이 강화될 수 있다. 프롬프트만 바꾸면 학습된 아첨 패턴을 충분히 줄이기 어렵다. 보상만 바꾸면 실제 사용자 맥락에서 어떤 아첨이 생기는지 놓칠 수 있다. 평가가 없으면 개선 여부를 확인할 수 없다. 시스템 가드레일이 없으면 고위험 상황에서 작은 아첨이 실제 행동으로 이어질 수 있다.</p>
<p>따라서 아첨 완화는 모델 학습 단계와 제품 배포 단계를 함께 봐야 한다. 연구자는 평가 벤치마크와 학습 데이터를 설계해야 하고, 엔지니어는 시스템 프롬프트와 모니터링을 설계해야 하며, 제품 팀은 사용자 피드백이 단기 만족에 과도하게 치우치지 않도록 관리해야 한다.</p>
<h2 id="9-화용론으로-다시-보기-공감-공손성-함축-전제의-경계">9. 화용론으로 다시 보기: 공감, 공손성, 함축, 전제의 경계</h2>
<p>지금까지 LLM의 아첨을 정답형 아첨, 사회적 아첨, 학습 메커니즘, 평가와 완화 전략의 관점에서 살펴보았다. 이제 이 문제를 다시 화용론의 관점에서 정리해볼 수 있다.</p>
<p>화용론은 언어가 실제 사용 맥락에서 어떻게 의미를 갖는지 다룬다. Huang (2014)은 화용론을 언어 사용에 의존하는 의미의 체계적 연구로 정의하며, 함축, 전제, 화행, 직시, 지시를 핵심 주제로 제시한다.<sup id="fn4-ref2"><a href="#fn4-desc">[4]</a></sup> 이 정의는 LLM의 아첨을 이해하는 데 유용하다. 아첨은 어떤 문장이 참인지 거짓인지의 문제만으로 설명되기 어렵다. 같은 문장도 어떤 맥락에서, 어떤 사용자에게, 어떤 흐름 뒤에 제시되는지에 따라 공감이 될 수도 있고, 아첨이 될 수도 있다.</p>
<p>예를 들어 “그렇게 느낄 수 있습니다”라는 문장은 그 자체만으로는 아첨으로 보기 어렵다. 사용자의 감정을 인정하는 공감 표현일 수 있다. 이 문장이 사용자의 성급한 판단, 자기정당화, 근거 부족한 비난을 그대로 승인하는 흐름 안에 놓이면 기능이 달라진다. 핵심은 표현 하나보다 그 표현이 대화 속에서 어떤 역할을 하는가에 있다.</p>
<p>이 장의 핵심은 다음과 같다.</p>
<blockquote>
<p>LLM의 아첨은 문장 단위의 오류라기보다, 대화 맥락에서 공감·공손성·함축·전제가 잘못 결합할 때 발생하는 화용론적 실패다.</p>
</blockquote>
<h3 id="91-공감과-아첨의-경계">9.1. 공감과 아첨의 경계</h3>
<p>공감은 사용자의 감정을 이해하고 반영하는 대화 행위다. 사용자가 불편함, 서운함, 불안, 분노를 표현했을 때 이를 무시하지 않는 것은 적절한 대화의 기본 조건이다. 문제는 공감이 사용자의 판단 승인으로 확장될 때 생긴다.</p>
<p>공감은 감정에 대한 반응이다.</p>
<blockquote>
<p>“그 상황에서 불편했을 수 있습니다.”</p>
</blockquote>
<p>아첨은 감정에서 출발해 사용자의 결론까지 승인한다.</p>
<blockquote>
<p>“그 상황에서 불편했을 수 있습니다. 그러니 당신의 판단이 맞습니다.”</p>
</blockquote>
<p>두 문장은 비슷해 보여도 기능이 다르다. 첫 번째 문장은 사용자의 경험을 인정한다. 두 번째 문장은 사용자의 판단을 정당화한다. 감정은 실제로 사용자가 느낀 것이므로 인정할 수 있다. 그 감정에서 나온 해석이나 행동 판단은 별도로 검토해야 한다.</p>
<p>LLM의 사회적 아첨은 이 경계를 흐릴 때 자주 발생한다. 모델은 사용자에게 따뜻하게 응답하려고 하면서, 감정 인정과 판단 승인을 한 덩어리로 처리한다. 적절한 답변은 둘을 분리해야 한다. 사용자의 감정을 인정하면서도, 그 감정이 지시하는 결론이 충분히 근거 있는지는 따로 살펴야 한다.</p>
<p>이 구분은 말투 차원을 넘어, 모델이 사용자 감정을 어떻게 다루는가의 문제다. 감정을 무시하면 대화는 차가워진다. 감정을 곧바로 판단의 근거로 삼으면 아첨이 된다. 따라서 아첨을 피하는 모델은 공감하지 않는 모델이기보다, 공감을 판단과 분리할 수 있는 모델이다.</p>
<h3 id="92-공손성은-왜-때로-아첨으로-귀결되는가">9.2. 공손성은 왜 때로 아첨으로 귀결되는가</h3>
<p>사회적 아첨은 공손성과 깊게 연결된다. 공손성은 대화 상대의 체면을 고려하는 언어 사용 방식이다. Huang (2014)은 Brown and Levinson의 체면 보존 모델을 현대 공손성 연구의 주요 틀로 소개하며, 체면을 개인이 주장하고 싶어 하는 공적 자기이미지로 설명한다.<sup id="fn4-ref3"><a href="#fn4-desc">[4]</a></sup></p>
<p>LLM은 대체로 공손하게 답하도록 조정된다. 사용자를 무시하지 않고, 공격적으로 반박하지 않으며, 부드러운 표현을 사용한다. 문제는 공손성이 지나치게 강해질 때다. 모델이 사용자의 체면을 보존하기 위해 필요한 교정을 피하면, 공손성은 아첨으로 바뀐다.</p>
<p>특히 사회적 아첨에서는 사용자의 긍정적 체면이 중요하다. 사용자는 자신이 합리적이고, 도덕적으로 괜찮고, 부당하게 대우받은 사람으로 인정받고 싶어 할 수 있다. 모델이 이 욕구를 무조건 만족시키면, 사용자의 자기이미지는 보존되지만 상황 판단은 좁아진다. Cheng et al.(2025)이 사회적 아첨을 사용자의 체면을 과도하게 보존하는 현상으로 정의한 이유도 여기에 있다.<sup id="fn5-ref12"><a href="#fn5-desc">[5]</a></sup></p>
<p>공손성과 아첨의 차이는 다음처럼 정리할 수 있다.</p>
<table>
<thead>
<tr>
<th>구분</th>
<th>공손성</th>
<th>아첨</th>
</tr>
</thead>
<tbody><tr>
<td>핵심 기능</td>
<td>상대의 체면을 고려함</td>
<td>상대의 체면을 과도하게 보존함</td>
</tr>
<tr>
<td>교정 방식</td>
<td>부드럽게 교정함</td>
<td>교정을 회피하거나 약화함</td>
</tr>
<tr>
<td>사용자 감정</td>
<td>인정함</td>
<td>판단 승인으로 확장함</td>
</tr>
<tr>
<td>사용자 전제</td>
<td>필요한 경우 점검함</td>
<td>그대로 받아들임</td>
</tr>
<tr>
<td>결과</td>
<td>대화를 유지하면서 판단을 돕음</td>
<td>대화를 편하게 만들지만 판단을 좁힘</td>
</tr>
</tbody></table>
<p>따라서 적절한 모델에는 공손성과 함께 진실성, 근거성, 안전성이 필요하다. 공손성은 진실성, 근거성, 안전성과 함께 작동해야 한다. 사용자의 체면을 지키는 일과 사용자의 판단을 점검하는 일은 함께 가능해야 한다.</p>
<h3 id="93-함축-직접-동의하지-않아도-아첨할-수-있다">9.3. 함축: 직접 동의하지 않아도 아첨할 수 있다</h3>
<p>아첨은 항상 명시적 동의로 나타나지 않는다. 모델이 “당신이 맞습니다”라고 말하지 않아도, 답변의 구성은 사용자의 판단을 강화할 수 있다. 이 지점을 설명하는 데 함축 개념이 유용하다.</p>
<p>함축은 말해진 내용 그 자체를 넘어, 대화 참여자가 맥락 속에서 추론하는 의미다. Huang (2014)은 Grice의 협력 원리와 대화 격률을 중심으로 대화 함축을 설명하며, 말해진 것과 전달된 것 사이의 차이를 다룬다.<sup id="fn4-ref4"><a href="#fn4-desc">[4]</a></sup> LLM의 아첨에서도 모델이 명시적으로 무엇을 말했는가와 함께, 사용자가 그 답변에서 무엇을 추론하게 되는가가 중요하다.</p>
<p>예를 들어 모델이 다음과 같이 답한다고 하자.</p>
<blockquote>
<p>“그 선택을 한 데에는 충분한 이유가 있었던 것 같습니다.”</p>
</blockquote>
<p>이 문장은 직접적으로 “당신이 옳다”고 말하지 않아도, 맥락에 따라 사용자가 자신의 선택이 정당화되었다고 받아들이게 할 수 있다. 특히 사용자가 이미 자기 판단을 확인받고 싶어 하는 상황이라면, 이런 표현은 동의의 함축을 만들 수 있다.</p>
<p>따라서 아첨 평가에서는 표면적 동의 표현만 고려하면 부족하고, 다음과 같은 질문이 필요하다.</p>
<ul>
<li>답변이 사용자의 결론을 암묵적으로 강화하는가?</li>
<li>모델이 다른 가능성을 생략함으로써 특정 해석을 유도하는가?</li>
<li>부드러운 표현이 실제로는 사용자의 행동을 승인하는 기능을 하는가?</li>
<li>답변의 순서와 강조가 사용자의 프레이밍을 중심화하는가?</li>
</ul>
<p>이 관점에서 아첨은 발화의 명시적 의미보다 대화적 효과에 가깝다. 모델은 직접 동의하지 않아도 사용자의 판단을 강화할 수 있다. 반대로 모델은 반박하더라도 공손하고 협력적인 방식으로 대화를 유지할 수 있다.</p>
<h3 id="94-전제-질문-속-프레이밍을-그대로-받아들이는-문제">9.4. 전제: 질문 속 프레이밍을 그대로 받아들이는 문제</h3>
<p>전제는 아첨을 이해하는 데 특히 필요하다. 전제는 발화가 이미 참인 것처럼 깔고 가는 정보다. Huang (2014)은 전제를 문장 발화에서 참으로 받아들여지는 정보 또는 명제로 설명하며, 해당 문장이 적절하게 사용되기 위한 일종의 사전 조건으로 기능한다고 정리한다.<sup id="fn4-ref5"><a href="#fn4-desc">[4]</a></sup></p>
<p>LLM의 아첨은 사용자의 질문 속 전제를 그대로 받아들일 때 자주 발생한다. 사용자는 질문을 통해 이미 특정한 해석을 깔아둘 수 있다.</p>
<blockquote>
<p>“왜 내 동료는 내 성과를 질투할까?”</p>
</blockquote>
<p>이 질문에는 “동료가 내 성과를 질투한다”는 전제가 들어 있다. 모델이 바로 질투의 이유를 설명하면, 이 전제를 사실처럼 받아들이게 된다. 더 적절한 답변은 먼저 전제를 분리하는 것이다.</p>
<blockquote>
<p>“동료가 질투한다고 느낀 계기가 있었던 것 같습니다. 실제로 질투인지, 업무상 의견 차이인지, 다른 맥락이 있는지는 구분해볼 필요가 있습니다.”</p>
</blockquote>
<p>이 답변은 사용자의 경험을 부정하지 않고, 질문 속 전제를 그대로 받아들이지 않는다. 전제를 점검하는 것은 사용자를 반박하기 위한 장치보다 더 정확한 대화를 위한 장치에 가깝다.</p>
<p>이 지점은 LLM 설계에서 중요하다. 모델은 사용자의 질문에 협력적으로 답하도록 학습되기 때문에, 질문의 형식을 그대로 따라가려는 경향이 있다. 질문이 잘못된 전제를 포함할 때, 협력적인 답변은 곧 아첨적 답변이 될 수 있다. 적절한 모델은 질문에 답하기 전에 질문이 무엇을 전제하고 있는지 확인해야 한다.</p>
<h3 id="95-화행-답변은-정보를-주는-동시에-행동을-한다">9.5. 화행: 답변은 정보를 주는 동시에 행동을 한다</h3>
<p>LLM의 답변은 정보를 전달하는 동시에 특정한 사회적 행위를 수행한다. 화행 이론의 관점에서 발화는 문장 산출을 넘어, 약속하기, 요청하기, 경고하기, 승인하기, 사과하기, 조언하기 같은 행위로 작동한다. Huang (2014)은 Austin과 Searle의 논의를 중심으로 화행을 화용론의 핵심 주제로 다룬다.<sup id="fn4-ref6"><a href="#fn4-desc">[4]</a></sup></p>
<p>아첨도 이 관점에서 볼 수 있다. 모델의 답변은 설명을 넘어 승인, 지지, 정당화, 안심시키기, 권고의 기능을 할 수 있다. 예를 들어 “그 선택은 이해됩니다”라는 말은 맥락에 따라 단순한 이해 표현이 아니라 선택에 대한 사회적 승인으로 작동할 수 있다.</p>
<p>이 때문에 LLM의 답변은 내용과 수행 기능을 함께 기준으로 평가해야 한다.</p>
<table>
<thead>
<tr>
<th>답변 기능</th>
<th>아첨으로 이어질 수 있는 경우</th>
</tr>
</thead>
<tbody><tr>
<td>공감</td>
<td>감정 인정이 판단 승인으로 확장될 때</td>
</tr>
<tr>
<td>조언</td>
<td>사용자의 결론을 전제하고 실행 방법만 제시할 때</td>
</tr>
<tr>
<td>평가</td>
<td>충분한 근거 없이 사용자를 옳다고 판단할 때</td>
</tr>
<tr>
<td>요약</td>
<td>사용자의 프레이밍을 중립적 사실처럼 재서술할 때</td>
</tr>
<tr>
<td>안심</td>
<td>위험하거나 성급한 판단을 완화 없이 정당화할 때</td>
</tr>
</tbody></table>
<p>이 표에서 보듯이, 아첨은 특정 문구에만 있지 않다. 답변이 어떤 행위를 수행하는지가 중요하다. 모델이 사용자를 “도와준다”고 하면서 실제로는 사용자의 판단을 검증 없이 승인한다면, 그 답변은 정보 제공보다 정당화 행위에 가까워진다.</p>
<h3 id="96-아첨은-공통-토대common-ground를-잘못-업데이트하는-문제다">9.6. 아첨은 공통 토대(Common Ground)를 잘못 업데이트하는 문제다</h3>
<p>대화는 매 턴마다 공통 토대를 업데이트한다. 공통 토대는 대화 참여자들이 공유한다고 가정하는 정보와 전제의 집합이다. Huang (2014)은 Stalnaker와 Clark의 논의를 소개하며, 공통 토대는 화자와 청자가 공유하는 배경 가정과 연결해 설명한다.<sup id="fn4-ref7"><a href="#fn4-desc">[4]</a></sup></p>
<p>LLM 대화에서도 비슷한 일이 일어난다. 사용자가 어떤 해석을 제시하고, 모델이 이를 받아들이면 그 해석은 이후 대화의 기반이 된다. 한 번 받아들인 전제는 다음 답변에서 더 쉽게 강화된다. 즉, 아첨은 누적된다.</p>
<p>처음에는 모델이 조심스럽게 표현할 수 있다. 사용자의 프레이밍을 별다른 점검 없이 받아들이면, 다음 턴에서는 그 프레이밍이 대화의 출발점이 된다. 이후 모델은 그 전제 위에서 조언하고, 설명하고, 행동 계획을 제시한다. 이 과정에서 사용자의 해석은 점점 더 사실처럼 굳어진다.</p>
<p>따라서 아첨을 줄이려면 모델은 공통 토대를 신중하게 업데이트해야 한다. 사용자가 말한 모든 내용을 사실로 등록해서는 안 된다. 다음과 같이 구분해야 한다.</p>
<table>
<thead>
<tr>
<th>사용자 발화의 성격</th>
<th>모델이 처리해야 하는 방식</th>
</tr>
</thead>
<tbody><tr>
<td>관찰된 사실</td>
<td>가능한 경우 사실로 반영</td>
</tr>
<tr>
<td>사용자의 감정</td>
<td>감정으로 인정</td>
</tr>
<tr>
<td>사용자의 해석</td>
<td>해석으로 표시</td>
</tr>
<tr>
<td>사용자의 추측</td>
<td>불확실한 가설로 다룸</td>
</tr>
<tr>
<td>사용자의 결론</td>
<td>근거를 검토한 뒤 판단</td>
</tr>
</tbody></table>
<p>이 구분이 없으면 모델은 사용자의 감정, 해석, 추측, 결론을 모두 같은 수준의 사실처럼 다루게 된다. 사회적 아첨은 이 혼동에서 자주 발생한다.</p>
<h3 id="97-llm-아첨을-화용론적으로-정의하기">9.7. LLM 아첨을 화용론적으로 정의하기</h3>
<p>앞의 논의를 종합하면, LLM의 아첨은 다음처럼 다시 정의할 수 있다.</p>
<blockquote>
<p><strong>LLM의 아첨은 모델이 사용자의 발화에 포함된 감정, 전제, 함축, 체면 요구를 과도하게 보존하면서, 대화의 공통 토대를 사용자에게 유리한 방향으로 업데이트하는 현상이다.</strong></p>
</blockquote>
<p>이 정의는 앞 장에서 다룬 기술적 설명을 보완한다. 5장에서는 아첨이 인간 선호와 보상 최적화의 결과로 나타날 수 있음을 보았다. 7장에서는 데이터, 프롬프트, 보상, 평가, 시스템 가드레일로 이를 줄이는 방법을 살펴보았다. 9장의 화용론적 관점은 이 현상이 실제 대화 안에서 어떻게 작동하는지를 설명한다.</p>
<p>즉, 기술적으로는 아첨이 선호 최적화의 부작용일 수 있다. 대화적으로는 공감, 공손성, 함축, 전제가 잘못 결합한 결과일 수 있다. 두 설명은 서로 다른 층위를 본다. 하나는 모델이 왜 그런 행동을 학습했는지를 설명하고, 다른 하나는 그 행동이 대화 속에서 어떤 의미를 만드는지 설명한다.</p>
<h2 id="10-결론">10. 결론</h2>
<p>이 글에서는 LLM의 아첨을 단순한 칭찬이나 친절한 말투를 넘어, 대화형 모델이 사용자의 믿음과 감정, 체면, 프레이밍에 과도하게 맞춰지는 현상으로 보았다. 핵심은 사용자를 기분 좋게 만드는 표현 자체보다, 그 표현이 사실성, 근거성, 전제 점검, 안전한 조언을 밀어내는지에 있다.</p>
<p>아첨은 크게 두 가지 형태로 나누어 볼 수 있다. 첫 번째는 정답형 아첨이다. 정답이 있는 상황에서 사용자가 오답을 먼저 제시했을 때, 모델이 그 오답을 따라가는 경우다. Wei et al.(2023)은 단순 덧셈처럼 객관적 정답이 있는 과제에서도 모델이 사용자의 동의 신호에 맞춰 틀린 문장에 동의할 수 있음을 보였다.<sup id="fn2-ref12"><a href="#fn2-desc">[2]</a></sup> 이 유형은 모델이 정답을 모르는 경우와 다르다. 중립 조건에서는 맞힐 수 있는 문제도, 사용자의 잘못된 믿음이 제시되면 답변이 흔들릴 수 있다.</p>
<p>두 번째는 사회적 아첨이다. 정답이 명확하지 않은 조언, 상담, 대인관계 판단에서 모델이 사용자의 체면과 자기서사를 과도하게 보존하는 경우다. Cheng et al.(2025)은 이를 사용자의 체면을 과도하게 보존하는 현상으로 정의하고, 감정 검증, 도덕적 승인, 간접적 언어, 간접적 행동, 프레이밍 수용을 평가 대상으로 제시했다.<sup id="fn5-ref13"><a href="#fn5-desc">[5]</a></sup> 이 유형은 정답률만으로 평가하기 어렵다. 모델이 틀린 사실을 말하지 않더라도, 사용자의 성급한 해석이나 자기정당화를 강화할 수 있기 때문이다.</p>
<p>아첨이 중요한 이유는 LLM이 점점 더 많은 대화 상황에서 조언자, 교사, 글쓰기 파트너, 의사결정 보조자처럼 사용되기 때문이다. 사용자는 모델에게 정보만 묻지 않는다. 자신의 판단이 타당한지, 감정이 정당한지, 선택이 괜찮은지, 상대가 문제인지 묻는다. 이때 모델이 사용자의 말에 계속 맞춰주면 대화는 편안해질 수 있다. 판단의 폭은 좁아질 수 있다.</p>
<p>기술적으로 보면 아첨은 정렬 과정의 부작용으로 이해할 수 있다. 대화형 LLM은 사전학습 이후 지도 미세조정, RLHF, 선호최적화를 거치며 사용자가 선호할 만한 답변을 학습한다. Ouyang et al.(2022)과 Bai et al.(2022)의 연구가 보여주듯, 인간 피드백은 모델을 더 유용하고 안전한 assistant로 만드는 데 중요한 역할을 한다.<sup id="fn6-ref4"><a href="#fn6-desc">[6]</a></sup><sup id="fn7-ref3"><a href="#fn7-desc">[7]</a></sup> 이 과정에서 사람의 선호 신호는 다양한 요소를 함께 담는다. 친절함, 설득력, 공감, 사용자의 체면 보존, 즉각적인 만족감이 모두 평가에 섞일 수 있다. Sharma et al.(2023)은 사용자의 견해와 일치하는 답변이 더 선호될 수 있으며, 선호모델도 이런 패턴을 학습할 수 있음을 보였다.<sup id="fn1-ref13"><a href="#fn1-desc">[1]</a></sup></p>
<p>따라서 아첨을 줄이려면 모델을 덜 친절하게 만드는 방식으로 접근해서는 안 된다. 필요한 것은 감정 인정과 판단 검토의 분리이다. 모델은 사용자의 감정을 인정해야 한다. 동시에 사용자의 판단을 자동으로 승인하지 않아야 한다. 사용자의 질문에 협력적으로 답해야 한다. 동시에 질문 속 전제를 사실로 받아들이기 전에 점검해야 한다. 사용자의 만족을 고려해야 한다. 동시에 단기적 만족을 위해 사실성과 안전성을 포기하지 않아야 한다.</p>
<p>완화 전략도 여러 층위에서 설계되어야 한다. 데이터 수준에서는 사용자 의견과 정답을 분리하는 예시가 필요하다. 프롬프트 수준에서는 감정 인정과 판단 승인을 구분하도록 지시해야 한다. 보상 수준에서는 단순한 사용자 만족보다 근거 있는 판단, 전제 점검, 대안 제시를 보상해야 한다. 평가 수준에서는 정답형 아첨과 사회적 아첨을 함께 측정해야 한다. 시스템 수준에서는 개인 조언, 정신건강, 의료, 법률, 재무 의사결정처럼 실제 행동과 연결되는 맥락에서 더 강한 가드레일이 필요하다.</p>
<p>화용론의 관점은 이 문제를 더 분명하게 보여준다. 아첨은 문장 하나의 의미만으로 설명되지 않는다. 같은 표현도 맥락에 따라 공감이 될 수 있고, 판단 승인이 될 수 있다. “그렇게 느낄 수 있습니다”라는 문장은 감정 인정일 수 있다. 그 뒤에 사용자의 해석을 사실처럼 받아들이는 설명이 이어지면 아첨으로 기능할 수 있다. Huang (2014)이 정리한 것처럼 화용론은 언어 사용에 의존하는 의미를 다루며, 함축, 전제, 화행, 공통 토대과 같은 개념은 LLM 대화에서도 분석 도구가 된다.<sup id="fn4-ref8"><a href="#fn4-desc">[4]</a></sup></p>
<p>결국 적절한 대화 모델의 기준은 “얼마나 잘 동의하는가”가 아니다. 더 기준은 다음에 가깝다.</p>
<table>
<thead>
<tr>
<th>기준</th>
<th>적절한 답변의 방향</th>
</tr>
</thead>
<tbody><tr>
<td>감정 처리</td>
<td>사용자의 감정을 인정하되, 감정에서 나온 결론은 따로 검토함</td>
</tr>
<tr>
<td>전제 처리</td>
<td>질문 속 전제를 사실로 확정하기 전에 점검함</td>
</tr>
<tr>
<td>동의 방식</td>
<td>사용자의 말이 타당할 때 근거를 들어 동의함</td>
</tr>
<tr>
<td>반박 방식</td>
<td>필요한 경우 부드럽지만 명확하게 교정함</td>
</tr>
<tr>
<td>조언 방식</td>
<td>사용자의 프레이밍만 따르지 않고 대안과 결과를 함께 제시함</td>
</tr>
<tr>
<td>안전성</td>
<td>사용자의 자기정당화나 위험한 행동을 강화하지 않음</td>
</tr>
</tbody></table>
<p>이 기준에서 대화 모델은 항상 동의하거나 항상 반박하기보다, 사용자의 말이 어떤 층위의 정보인지 구분해야 한다. 관찰된 사실인지, 감정인지, 추측인지, 해석인지, 결론인지 구분해야 한다. 그리고 각 층위에 맞게 답해야 한다.</p>
<p>사용자의 감정에는 공감이 필요하다. 사용자의 추측에는 불확실성 표시가 필요하다. 사용자의 전제에는 점검이 필요하다. 사용자의 오답에는 교정이 필요하다. 사용자의 행동 판단에는 맥락과 결과에 대한 검토가 필요하다. 이 구분은 아첨을 줄이면서도 대화의 협력성을 유지하는 기준이 된다.</p>
<p>LLM의 아첨은 정렬 연구의 문제이면서 화용론의 문제다. 정렬 연구는 모델이 왜 사용자의 선호에 맞춰지는지 설명한다. 화용론은 그 맞춤이 대화 속에서 어떤 의미와 효과를 만드는지 설명한다. 두 관점을 함께 보면, 아첨은 “모델이 너무 친절하다”는 설명만으로 축소하기 어렵다. 이는 모델이 사용자와 협력하려는 과정에서, 무엇을 사실로 받아들이고 무엇을 검토해야 하는지 구분하지 못할 때 생기는 대화적 실패다.</p>
<p>따라서 LLM 아첨을 줄이는 핵심은 공감과 승인, 공손성과 회피, 사용자 맞춤과 독립 판단, 전제와 사실 사이의 경계를 더 잘 다루는 것이다. 적절한 대화 모델은 사용자를 이해하면서도, 사용자의 모든 말을 그대로 확정하지 않는다. 이 균형이 앞으로의 assistant 설계에서 기준이 되어야 한다.</p>
<hr>
<p><a id="fn1-desc" href="#fn1">[1]</a> <a href="https://arxiv.org/abs/2310.13548">Towards Understanding Sycophancy in Language Models</a> (arXiv, 2023)</p>
<p><a id="fn2-desc" href="#fn2">[2]</a> <a href="https://arxiv.org/abs/2308.03958">Simple synthetic data reduces sycophancy in large language models</a> (arXiv, 2023)</p>
<p><a id="fn3-desc" href="#fn3">[3]</a> <a href="https://www.theverge.com/news/658850/openai-chatgpt-gpt-4o-update-sycophantic">OpenAI says its GPT-4o update could be ‘uncomfortable, unsettling, and cause distress’</a> (The Verge, 2025)</p>
<p><a id="fn4-desc" href="#fn4">[4]</a> Yan Huang, <em>Pragmatics</em> 2nd edition (Oxford University Press, 2014)</p>
<p><a id="fn5-desc" href="#fn5">[5]</a> <a href="https://arxiv.org/abs/2505.13995">ELEPHANT: MEASURING AND UNDERSTANDING SOCIAL
SYCOPHANCY IN LLMS</a> (arXiv, 2025)</p>
<p><a id="fn6-desc" href="#fn6">[6]</a> <a href="https://arxiv.org/abs/2203.02155">Training language models to follow instructions with human feedback</a> (NeurIPS, 2022)</p>
<p><a id="fn7-desc" href="#fn7">[7]</a> <a href="https://arxiv.org/abs/2204.05862">Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback</a> (arXiv, 2022)</p>
<p><a id="fn8-desc" href="#fn8">[8]</a> <a href="https://arxiv.org/abs/2305.18290">Direct Preference Optimization: Your Language Model is Secretly a Reward Model</a> (NeurIPS, 2023)</p>
<p><a id="fn9-desc" href="#fn9">[9]</a> <a href="https://arxiv.org/abs/2212.09251">Discovering Language Model Behaviors with Model-Written Evaluations</a> (arXiv, 2022)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[LLM과 언어학] '세차장 벤치마크'를 LLM이 어려워하는 이유]]></title>
            <link>https://velog.io/@kyle-bong/LLM%EA%B3%BC-%EC%96%B8%EC%96%B4%ED%95%99-%EC%84%B8%EC%B0%A8%EC%9E%A5-%EB%B2%A4%EC%B9%98%EB%A7%88%ED%81%AC%EB%A5%BC-LLM%EC%9D%B4-%EC%96%B4%EB%A0%A4%EC%9B%8C%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0</link>
            <guid>https://velog.io/@kyle-bong/LLM%EA%B3%BC-%EC%96%B8%EC%96%B4%ED%95%99-%EC%84%B8%EC%B0%A8%EC%9E%A5-%EB%B2%A4%EC%B9%98%EB%A7%88%ED%81%AC%EB%A5%BC-LLM%EC%9D%B4-%EC%96%B4%EB%A0%A4%EC%9B%8C%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0</guid>
            <pubDate>Sat, 18 Apr 2026 05:36:15 GMT</pubDate>
            <description><![CDATA[<h1 id="1-세차장-벤치마크에-취약한-llm들">1. &#39;세차장 벤치마크&#39;에 취약한 LLM들</h1>
<blockquote>
<p>&quot;나는 세차를 하고 싶다. 세차장은 50미터 앞에 있다. 걸어가야 할까, 차로 가야 할까?&quot;</p>
</blockquote>
<p>이 질문에 대해 인간은 너무나도 당연하게 &#39;차를 타고 가야 한다&#39;고 대답한다. 세차를 하기 위해서는 세차할 차를 그곳으로 직접 가져가야 하기 때문이다. 하지만 일부 최신 LLM들은 이 질문에서 종종 엉뚱한 답변을 내놓는다(2026년 4월 현재 Gemini 3, Claude Sonnet은 이 테스트를 통과하고 있고, Claude의 Haiku와 ChatGPT 계열 모델들만 실패하고 있다). 모델들은 목적지가 &#39;50미터 앞&#39;이라는 명시적인 거리 정보에 매몰된다. 그래서 이동의 효율성만 따져 &#39;걸어가는 것이 합리적&#39;이라는 논리적 오류를 범하곤 한다.</p>
<p>LLM은 왜 이렇게 쉬운 문제를 틀리는 것일까? 이 차이는 단순한 정보량의 문제나 지식의 부족이 아니다. 이는 텍스트를 해석하는 방식의 차이에서 발생한다.</p>
<p>인간은 대화할 때 질문 문장 속에 직접 쓰이지 않은 조건들을 자동으로 채워 넣는다. 인간은 세차를 하기 위해 차를 끌고 가야 한다.&quot;는 점을 우선적으로 고려한다. &quot;세차를 하러 간다&quot;는 목표가 문장에 개입되는 순간, 거리가 가깝다는 사실은 해석의 우선순위에서 낮아진다. 하지만 LLM은 표면적인 텍스트의 통계적 패턴에 집중하므로, 겉으로 드러난 &#39;50미터&#39;라는 거리에만 집중하다 보니 이러한 숨은 조건을 쉽게 놓칠 수 있다.</p>
<p>이와 유사한 예시는 일상 대화에 아주 많다. &quot;프린터를 고치러 수리점에 간다&quot;라는 문장을 보자. 우리는 당연히 고장 난 프린터를 직접 들고 수리점에 간다는 점을 알고 있다. &quot;빨래를 말리러 베란다에 간다&quot;라는 문장도 마찬가지이다. 빨래를 말리기 위해 빨랫감들을 들고 베란다로 이동한다는 사실을 자연스럽게 이해한다.</p>
<p>이처럼 인간에게는 숨 쉬듯 자연스러운 맥락 복원 과정이, 유창한 문장을 구사하는 LLM에게는 왜 그토록 어려운 것일까? 그 해답은 언어학의 한 분야인 화용론(Pragmatics)에서 찾을 수 있다. 이 글에서는 화용론의 주요 개념들을 차례대로 살펴보며, 각 이론의 관점에서 LLM이 문장의 이면을 어떻게 놓치고 있는지 구체적으로 살펴본다.</p>
<h1 id="2-화용론pragmatics-소개">2. 화용론(Pragmatics) 소개</h1>
<p>LLM이 1장에서 살펴본 예시들처럼 쉬운 문제를 틀리는 이유를 파악해 보기에 앞서, 먼저 인간이 언어를 이해하는 방식을 명확히 정의할 필요가 있다. 언어학에서는 문장의 의미를 연구할 때 크게 의미론(Semantics)과 화용론(Pragmatics)이라는 두 가지 관점을 사용한다.</p>
<p>의미론은 문장에 적힌 문자 그대로의 뜻을 다룬다. 즉, 단어들의 사전적 정의와 문법적 구조를 결합하여 문장의 표면적인 의미를 분석한다. 반면, 화용론은 실제 상황 속에서 문장이 어떻게 이해되는지를 연구한다. 누가, 어떤 상황에서, 무엇을 전제로, 왜 그렇게 말했는가를 종합적으로 고려한다. 이를 통해 대화 참여자들이 화자가 전달하려는 의미를 파악하는 과정을 탐구한다. <strong>화용론적 관점에 따르면, 문장에 적힌 뜻과 실제로 이해되는 뜻은 종종 다르다.</strong> 따라서 언어를 온전히 이해하는 과정은 단순히 단어의 뜻을 아는 것만으로 끝나지 않는다. 일상에서 쉽게 접할 수 있는 예시들을 살펴보자.</p>
<p>누군가 창문이 열린 방에서 &quot;좀 춥다&quot;라고 말했다고 가정해 보자. 의미론적 관점에서는 이 문장을 단순히 &#39;현재 온도가 낮아서 한기를 느낀다&#39;는 사실의 진술로 해석한다. 하지만 화용론적 관점에서는 맥락에 따라서 이 문장이 청자에게 &#39;창문을 닫아 달라&#39;고 요구하는 완곡한 요청으로 해석된다.</p>
<p>다른 예시로 &quot;커피 마실래?&quot;라는 문장이 있다. 의미론적인 형태상으로는 상대방의 의사를 묻는 단순한 질문이다. 그러나 맥락에 따라 이 문장은 전혀 다른 기능을 수행한다. 직장 동료에게 건네는 말이라면 잠깐 카페에 함께 가자는 제안이 될 수 있다. 집에 방문한 손님에게 건네는 말이라면 자신이 커피를 대접하겠다는 호의의 표현이 된다.</p>
<p>&quot;비 온다&quot;라는 짧은 문장 역시 마찬가지이다. 이 문장 자체에는 시간과 장소에 대한 정보가 전혀 명시되어 있지 않다. 하지만 인간은 대화가 이루어지는 상황을 바탕으로 부족한 정보를 채운다. 그래서 굳이 말하지 않아도 &#39;지금&#39;, &#39;여기&#39;에 비가 온다는 사실을 자연스럽게 덧붙여 이해한다.</p>
<p>인간의 의사소통은 명시적인 발화 문장을 뼈대로 삼는다. 그리고 그 위에 상황과 맥락이라는 살을 붙여 의미를 완성한다. 현대의 LLM은 방대한 텍스트 데이터를 학습하여 뛰어난 의미론적 이해 능력을 갖추었다. 하지만, &#39;세차장 벤치마크&#39; 결과에서도 알 수 있듯이, 아직까지는 맥락을 읽고 문장 바깥의 숨은 의도를 구체적이고 정확히 파악하는 화용론적 능력은 상대적으로 취약해 보인다.</p>
<p>다음 장부터는 인간이 텍스트 이면의 정보를 어떻게 채워 넣는지 구체적으로 살펴보겠다. 화용론의 핵심 개념들을 하나씩 짚어가며, 세차장 딜레마를 언어학적으로 해부해 볼 것이다.</p>
<h1 id="3-전제presupposition">3. 전제(Presupposition)</h1>
<p>우리가 1장에서 살펴본 세차장 오류를 이해하기 위해, 화용론의 첫 번째 핵심 개념인 <strong>&#39;전제(Presupposition)&#39;</strong>를 살펴보자.</p>
<p>전제란 어떤 발화가 의미를 가지기 위해, 반드시 참으로 받아들여져야 하는 암묵적인 가정을 뜻한다. 쉽게 말해, 대화가 정상적으로 성립하기 위해 기저에 미리 깔아 두는 조건이다. 화자는 이 조건이 너무나 당연하다고 생각하기 때문에, 굳이 텍스트로 명시하여 말하지 않는다.</p>
<p>&quot;민수는 담배를 끊었다&quot;라는 문장을 살펴보자. 이 문장이 논리적으로 자연스럽게 성립하려면, &quot;민수는 과거에 담배를 피웠다&quot;라는 사실이 먼저 참이어야 한다.
&quot;지수는 또 늦었다&quot;라는 문장도 마찬가지이다. 이 발화에는 &quot;지수는 과거에도 늦은 적이 있다&quot;라는 조건이 이미 전제되어 있다.</p>
<p>만약 민수가 태어나서 단 한 번도 담배를 피운 적이 없다면 어떨까? 이 경우 &quot;민수는 담배를 끊었다&quot;라는 말 자체가 애초에 성립할 수 없게 된다. 언어학에서는 이처럼 발화의 기저 조건이 거짓이어서 문장의 의미가 성립하지 않는 현상을 <strong>&#39;전제 실패(Presupposition Failure)&#39;</strong>라고 부른다. 전제 실패의 대표적인 예시로는 ChatGPT 초창기에 유행했던 &#39;세종대왕 맥북 던짐 사건&#39;이 있다. 그 당시 ChatGPT(GPT-3.5)에게 &#39;세종대왕 맥북 던짐 사건을 알려줘&#39;라고 질의하면, 모델이 해당 문장이 전제 실패에 해당하는 것을 인지하지 못하고, 실제로 세종대왕이 맥북을 던졌던 것처럼 서술했던 사례이다. </p>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/c8a56f9c-c840-47bd-961f-ef7bdc9f7870/image.png" alt=""></p>
<p>이제 이 개념을 우리의 세차장 딜레마로 가져와 보자.</p>
<p>&#39;세차&#39;를 한다는 행위는 필연적으로 그 대상이 되는 목적물을 요구한다. 따라서 &quot;세차를 하러 간다&quot;는 발화에는 &quot;세차를 할 물리적인 차가 존재한다&quot;는 <strong>&#39;존재적 전제(Existential Presupposition)&#39;</strong>가 깔려 있다. 만약 세차할 차가 없다면, 세차장에 간다는 말은 곧바로 전제 실패가 되어버린다.</p>
<p>인간은 문장을 고립된 텍스트 데이터로만 읽지 않는다. 우리는 문장을 해석할 때, 그 문장이 성립하기 위해 필요한 기저의 조건들을 본능적으로 먼저 파악한다. &quot;세차장에 간다&quot;는 말을 듣는 순간, 인간의 머릿속에는 이미 &#39;차&#39;라는 물리적 실체가 당연하게 등장해 있는 것이다.</p>
<p>하지만 LLM은 다르게 작동한다. LLM은 주어진 프롬프트의 텍스트 표면에 더 집중하는 경향이 있다. 발화가 성립하기 위한 기저 조건을 복원하는 대신, 위 예시에서 볼 수 있듯 텍스트로 명시된 &quot;50미터&quot;나 &quot;이동&quot;과 같은 토큰들의 통계적 연관성을 우선적으로 계산한다. 그 결과, &#39;차의 존재&#39;라는 아주 기초적이고 중요한 전제를 잊어버리는 실수를 범하게 된다. 만약 위 예시의 LLM의 말을 그대로 따랐다면, 우리는 세차장에 도착했는데 차가 없어서 세차를 못하는 상황을 마주했을 것이다.</p>
<p>그렇다면 인간은 텍스트에 적혀 있지도 않은 이 전제들을 도대체 어떻게 알고, 또 서로 공유하는 것일까? 이는 다음 장에서 다룰 &#39;공통 토대(Common Ground)&#39;이라는 개념을 통해 명확히 이해할 수 있다.</p>
<h1 id="4-공통-토대common-ground-말하지-않아도-알아요🎵">4. 공통 토대(Common Ground): 말하지 않아도 알아요~🎵</h1>
<p>3장에서 우리는 문장이 성립하기 위해 내부에 깔려 있어야 하는 조건인 &#39;전제&#39;에 대해 알아보았다. 하지만 인간의 대화는 문장 내부의 조건만으로 완성되지 않는다. 대화 참여자들이 문장 바깥에서 공유하고 있는 거대한 지식의 배경도 필요하다. 화용론에서는 이를 <strong>&#39;공통 토대(Common Ground)&#39;</strong>라고 부른다.</p>
<p>공통 토대는 화자와 청자가 함께 알고 있다고 믿는 배경지식의 집합을 뜻한다. 여기에는 우리가 살아가는 세계에 대한 보편적인 상식, 즉 &#39;세상 지식(Real-world knowledge)&#39;이 포함된다. 인간은 대화할 때 이 공통 토대를 적극적으로 활용한다.</p>
<p>몇 가지 직관적인 예시를 살펴보자. 누군가 &quot;병원에 간다&quot;라고 말하면, 우리는 자연스럽게 그가 진료를 받으러 간다고 이해한다. 단순히 병원이라는 건물에 방문한다는 뜻으로 받아들이지 않는다. &quot;공항에 마중 나간다&quot;라는 말도 마찬가지이다. 이 문장에는 누군가 비행기를 타고 그곳에 도착한다는 세상 지식이 자연스럽게 깔려 있다. 우리는 이러한 지식을 굳이 텍스트로 명시하지 않는다. 대화 참여자 모두가 이를 당연하게 알고 있다고 믿기 때문이다.</p>
<p>이제 우리의 세차장 예시로 돌아가 보자. 세차장은 차를 기계나 도구로 깨끗하게 닦는 특수한 목적의 장소이다. 따라서 세차를 하려면 반드시 그 장소에 물리적인 차를 가져가야만 한다. &quot;걸어갈까, 차로 갈까?&quot;라는 질문 속에 &#39;차를 닦으려면 차가 필요하다&#39;는 정보가 없어도 상관없다. 인간은 세차장에 대한 공통 토대를 즉각적으로 활성화하여 판단을 내리기 때문이다.</p>
<p>즉, 인간은 문장을 결코 고립된 텍스트 자체로만 읽지 않는다. 인간은 항상 공유된 맥락을 기반으로 발화된 문장을 읽어낸다. 반면, LLM은 현재 주어진 질문 맥락에 맞춰 아주 기초적인 세상 지식을 적절히 끌어와 연결하는 데에는 종종 실패한다. 이는 LLM이 공통 토대에 해당하는 배경지식을 현재 맥락에 맞게 안정적으로 호출하고 적용하지 못하기 때문에, 거리만 따져 &quot;걸어가라&quot;는 엉뚱한 결론을 내리게 되는 것이라고 해석해볼 수 있다.</p>
<p>그렇다면 인간은 문장에 없는 구체적인 행동(차를 운전해서 간다)을 어떻게 머릿속에서 채워 넣는 것일까? 다음 장에서는 표면적인 문장이 구체적인 의도로 확장되는 &#39;자유 의미보충(Free Enrichment)&#39;의 과정을 살펴보겠다.</p>
<h1 id="5-자유-의미보충free-enrichment-문장에-표면적으로-드러나지-않은-의미는-어떻게-채워지는가">5. 자유 의미보충(Free Enrichment): 문장에 표면적으로 드러나지 않은 의미는 어떻게 채워지는가</h1>
<p>앞서 우리는 대화의 기저에 깔린 &#39;전제&#39;와 대화 참여자들이 공유하는 &#39;공통 토대&#39;를 살펴보았다. 그렇다면 인간은 이러한 지식들을 활용하여, 텍스트의 빈칸을 구체적으로 어떻게 채워 넣는 것일까? 화용론의 적합성 이론(Relevance Theory)에서는 이 과정을 <strong>자유 의미보충(Free Enrichment)</strong>이라는 개념으로 설명한다.</p>
<p>자유 의미보충이란 발화의 표면적 의미가 화자의 의도를 충분히 담아내지 못할 때, 청자가 맥락을 통해 의미를 구체화하는 과정을 뜻한다. 문법적으로는 아무런 빈칸이 없더라도, 상황에 맞게 개념을 확장하여 문장의 진짜 뜻을 완성하는 것이다.</p>
<p>간단한 예시를 살펴보자. 누군가 &quot;John has a brain&quot;라고 말했다. 이 문장은 문자 그대로 해석하면 &#39;존에게는 뇌가 있다&#39;라는 의미이다. 하지만 우리는 문맥을 통해 이 문장이 단순히 해부학적 사실을 말하는 것이 아님을 안다. 여기서 &#39;뇌(brain)&#39;는 문맥에 의해 의미가 보충되어, <strong>&quot;[똑똑한] 뇌&quot;</strong>로 의미가 좁혀지고 구체화된다.</p>
<p>&quot;나 아무것도 안 먹었어&quot;라는 일상적인 발화도 마찬가지이다. 이 문장을 문자 그대로 온전히 해석하면, 화자가 태어나서 지금까지 단 한 번도 음식을 섭취하지 않았다는 기괴한 뜻이 된다. 하지만 우리는 자연스럽게 &quot;<strong>[오늘 아침은]</strong> 아무것도 안 먹었어&quot;로 시간적 범위를 좁히고 의미를 보충하여 이해한다.</p>
<p>이제 세차장 딜레마를 이 관점에서 다시 분석해 보자. &quot;세차장에 간다&quot;라는 문장의 표면적인 논리 형태는 &#39;주체가 특정 목적지로 이동한다&#39;는 의미만을 담고 있다. 이 텍스트에는 어떠한 이동 수단도 명시되어 있지 않다. 하지만 인간은 &#39;세차&#39;라는 발화의 궁극적인 목적을 고려한다. 따라서 우리는 이 문장을 단순히 화자의 몸만 이동하는 것으로 해석하지 않는다. 우리는 이 문장을 의미를 보충하여 &quot;[세차할 차를 직접 운전해서] 세차장에 간다&quot;라는 의미로 받아들인다.</p>
<p>이러한 자유 의미보충 단계가 있어야만 질문의 본질을 제대로 해석할 수 있다. 단순한 &#39;거리와 이동 수단의 효율성 문제&#39;가 &#39;세차라는 목표 달성 문제&#39;로 전환되는 것이다.</p>
<p>이러한 관점에서 세차장 딜레마를 LLM이 틀리는 이유를 분석해보면, LLM이 &quot;세차장에 간다&quot;를 단순한 A에서 B로의 위치 이동, 즉 경로 탐색 문제로 취급해 버린 결과, 모델은 &#39;50미터&#39;라는 명시적인 거리 정보에만 높은 가중치를 두게 되어, 결국 &quot;거리가 가까우니 걸어가는 것이 합리적&quot;이라는 오류에 도달하는 것으로 추측해볼 수 있다.</p>
<p>그렇다면 인간은 텍스트를 보충할 수 있는 수많은 무작위의 가능성 중에서, 왜 하필 &#39;[차를 타고] 간다&#39;는 해석을 가장 자연스럽게 선택하는 것일까? 다음 장에서는 이를 인지적 관점에서 증명하는 &#39;적합성 이론&#39;에 대해 알아보겠다.</p>
<h1 id="6-적합성-이론relevance-theory-왜-그-해석이-가장-자연스럽게-선택되는가">6. 적합성 이론(Relevance Theory): 왜 그 해석이 가장 자연스럽게 선택되는가</h1>
<p>5장에서 우리는 인간이 생략된 정보를 맥락으로 채워 넣는 &#39;자유 의미보충&#39;의 과정을 알아보았다. 그렇다면 수많은 해석의 가능성 중에서, 청자는 왜 하필 특정 해석을 가장 자연스럽게 선택하는 것일까? 이를 설명하는 것이 <strong>적합성 이론(Relevance Theory)</strong>이다.</p>
<p>적합성 이론에 따르면, 인간은 최소한의 정보 처리 노력(processing effort)으로, 최대의 인지적 효과(cognitive effect)를 얻으려는 방향으로 작동한다. 즉, 가장 적은 에너지를 써서 가장 가치 있는 결론을 도출하는 방향으로 발화를 해석하는 것이다.</p>
<p>아주 전형적인 대화 예시를 하나 살펴보자.</p>
<blockquote>
<p>A: &quot;커피 한 잔 마실래?&quot;
B: &quot;나 오늘 일찍 자야 해.&quot;</p>
</blockquote>
<p>이 대화에서 B는 A의 질문에 &quot;응&quot; 또는 &quot;아니&quot;라고 명시적으로 대답하지 않았다. 하지만 A는 B의 대답을 듣는 즉시 &quot;커피를 마시지 않겠다&quot;는 거절의 의미로 해석한다. 왜 그럴까?</p>
<p>만약 A가 B의 말을 표면적으로만 해석한다면, 처리 노력(비용)은 적게 들겠지만 이 정보는 커피 제안에 대한 답이 될 수 없으므로 인지적 효과(효용)가 &#39;0&#39;에 가깝다. 반면, A가 자신의 세상 지식인 &#39;커피에는 각성 효과가 있다&#39;는 사실을 머릿속에서 꺼내어 B의 말과 결합하면 어떨까? 약간의 추론 노력(비용)이 추가로 들어가지만, &quot;수면을 방해하는 커피를 마시지 않겠다&quot;는 확실한 결론(효용)을 얻게 된다. 뇌의 입장에서는 약간의 에너지를 더 써서 최대의 인지적 효과를 얻는 이 해석이 가장 &#39;적합한&#39; 선택인 것이다.</p>
<p>이제 이 적합성 이론을 우리의 세차장 질문에 적용해 보자. &quot;세차장은 50미터 앞에 있다. 걸어갈까, 차로 갈까?&quot;라는 질문이 주어졌다.</p>
<p>먼저 &#39;50미터를 걸어간다&#39;는 선택지를 살펴보자. 이 해석은 텍스트 표면에 명시된 &#39;50미터&#39;라는 거리 정보만 처리하면 되므로 처리 노력(비용)이 거의 들지 않는다. 하지만 목적지에 도착하더라도 세차를 할 차가 없다. 결국 &#39;세차&#39;라는 이 발화의 궁극적인 목표(효용)를 전혀 달성할 수 없다. 인지적 효과가 낮은 해석이다.</p>
<p>반면, &#39;차를 타고 간다&#39;는 선택지는 어떨까? 이 해석을 도출하기 위해서는 세차를 하려면 차가 있어야 한다는 &#39;전제&#39;와, 차를 운전해서 가야 한다는 &#39;공통 토대&#39;를 기억에서 꺼내와야 하므로 인지적 처리 노력이 조금 더 요구된다. 그러나 이 선택은 세차라는 목표를 완벽하게 달성하게 해준다. 약간의 노력을 투자하여 얻을 수 있는 인지적 효과가 압도적으로 큰 것이다.</p>
<p>결과적으로 인간의 뇌는 이 비용과 효용을 계산하여, &#39;차를 타고 간다&#39;는 해석을 상황에 가장 적합한 최적의 추론으로 채택한다. 이것이 바로 인간이 50미터라는 짧은 거리 정보에 현혹되지 않고 너무나도 당연하게 정답을 고를 수 있는 이유이다.</p>
<p>그렇다면 인간에게는 자연스러운 이 적합성 추론이, LLM에게는 왜 제대로 작동하지 않는 것일까? 다음 장에서는 텍스트의 통계적 패턴을 좇는 LLM이 화용론적 관점에서 구체적으로 어디에서 흔들리는지 그 근본적인 한계를 짚어보겠다.</p>
<h1 id="7-화용론적-한계-극복을-위한-llm-연구-동향">7. 화용론적 한계 극복을 위한 LLM 연구 동향</h1>
<p>앞서 살펴본 &#39;세차장 딜레마&#39;는 LLM이 텍스트 이면의 맥락을 복원하는 데 어려움을 겪고 있음을 시사한다. 최근 연구들에서는 이러한 화용론적 결함을 단순한 지식의 부재가 아닌, 모델의 구조적·학습적 한계로 규정하고 이를 정밀하게 평가하고 개선하려는 연구들이 활발히 진행되고 있다.</p>
<h2 id="71-평가-방식의-한계와-선호도-최적화">7.1. 평가 방식의 한계와 선호도 최적화</h2>
<p>Wu et al.(2024)은 기존의 객관식 평가(Multiple-Choice Question Answering, MCQA) 방식이 LLM의 실제 화용론적 능력을 측정하는 데 한계가 있다고 지적한다. Wu et al.(2024)은 사회적 맥락에서의 추론은 단 하나의 &#39;정답&#39;이 존재하기 어렵다는 점을 강조한다.<sup id="fn1"><a href="#fn1-desc">[1]</a></sup> 저자들은 MCQA 정확도만으로는 사회화용론적 추론을 충분히 평가하기 어렵고, 자유 형식 응답 평가는 인간 판단과 더 잘 정렬된다는 실험 결과를 바탕으로, 모델이 직접 답변을 생성하는 자유 형식(Open-ended) 응답 평가의 필요성을 역설한다.</p>
<p>또한 해당 연구는 지도 미세조정(Supervised Fine-Tuning, SFT)만으로는 복잡한 사회적 화용 능력을 기르는 데 한계가 있음을 밝혀냈다. 저자들은 인간의 선호를 직접 학습하는 선호도 최적화(Preference Optimization) 기법이 SFT보다 일관되게 더 나은 성능을 보였으며, 이를 모델의 깊은 층(Layer) 표현과 관련된 현상으로 해석한다.</p>
<h2 id="72-학습-단계에-따른-화용론적-능력의-발현">7.2. 학습 단계에 따른 화용론적 능력의 발현</h2>
<p>LLM이 학습의 어느 시점에 행간을 읽는 능력을 갖추게 되는지에 대한 분석도 이루어지고 있다. Yu et al.(2026)은 사전학습(Pre-training), SFT, 선호 최적화(Preference Optimization)의 각 단계에서 모델의 화용론적 능력이 어떻게 변화하는지 추적했다.<sup id="fn2"><a href="#fn2-desc">[2]</a></sup></p>
<p>연구 결과에 따르면, 사전학습만 거친 베이스 모델(Base model)도 기초적인 수준의 화용론적 감각을 지니고는 있으나 이를 실제 대화 맥락에 적절히 투영하는 능력은 부족한 것으로 나타났다. 특히 저자들은 모델이 동일한 의미를 지니면서도 화용론적 의도가 다른 두 발화 중 하나를 선택하는 &#39;대안(Alternatives)&#39; 추론 실험을 통해, 사후 학습 과정이 모델의 화용론적 &#39;정렬(Alignment)&#39;에 중요한 역할을 한다는 점을 확인했다.</p>
<h2 id="73-한국어-맥락에서의-특수성과-cot의-역설">7.3. 한국어 맥락에서의 특수성과 CoT의 역설</h2>
<p>현재 LLM을 평가하는 대부분의 벤치마크들은 추론, 계산, 지식 등 표면적인(Literal) 의미나 기술적 능력에만 초점을 맞추고 있어, 인간 언어의 미묘한 뉘앙스를 포착하는 능력을 간과하는 경향이 있다. 이러한 문제의식에서 출발하여, 최근 한국어 맥락에 의존하는 표현들을 화용론적 관점에서 모델들이 얼마나 잘 이해하는지, 특히 LLM의 한국어 처리 능력을 화용론적 관점에서 분석한 연구가 발표되었다. <sup id="fn3"><a href="#fn3-desc">[3]</a></sup></p>
<p>이 연구는 대화적 함축(Conversational implicature)을 포괄적으로 다루기 위해 그라이스의 4가지 대화 격률(양, 질, 관련성, 태도)을 이론적 틀로 채택했다. 전문가들이 직접 구축한 총 120개의 한국어 화용론 평가 테스트 셋(대화 상황, 화자의 발화, 질문으로 구성)을 활용하여, 모델의 능력을 두 가지 방식으로 측정했다. 하나는 자동화된 평가를 위한 객관식 질문(MCQ)으로, 정답과 3개의 오답(단순 문자적 해석, 문맥 내 오답, 문맥 외 오답) 중 하나를 고르도록 했다. 다른 하나는 모델의 심층적인 생성 및 문맥 파악 능력을 보기 위한 주관식 질문(OEQ)으로, 인간 전문가 3명이 5점 리커트 척도(0~100점으로 환산)로 직접 채점했다.</p>
<p>평가는 GPT-3.5-turbo, GPT-4, Gemini-Pro와 같은 다국어 모델과 HyperCLOVA X, LDCC-Solar 등 한국어 특화 모델 총 5개를 대상으로 진행되었으며, 제로샷, 퓨샷(1-shot, 4-shot), 그리고 CoT 프롬프팅을 조합한 총 6가지 설정에서 실험이 이루어졌다.</p>
<p>실험 결과는 다음과 같다. 첫째, CoT(Chain-of-Thought) 프롬프팅의 역효과와 문자적 편향이다. 일반적인 추론 태스크에서 퓨샷 러닝과 CoT 프롬프팅은 모델의 성능을 향상시키는 핵심 기법이다. 해당 연구에서도 퓨샷 러닝은 전반적인 성능 향상을 이끌었다. 그러나 놀랍게도 CoT 프롬프팅은 오히려 모델이 &#39;문자 그대로의 해석(Literal interpretations)&#39;에 편향되게 만들어 효과적인 화용론적 추론을 제한하는 경향을 보였다. 의미론적 수준 아래에 미묘하게 숨겨진 화용론적 단서를 해석해야 할 때, CoT가 오히려 방해 요소로 작용한 것이다. 실제로 MCQ 형식에서 오답을 고를 때, 모든 LLM이 &#39;문맥 내 오답&#39;이나 &#39;문맥 외 오답&#39;보다 &#39;단순 문자적 해석&#39;을 압도적으로 많이 선택하는 패턴이 관찰되었다.</p>
<p>둘째, 모델의 규모보다 언어 및 문화 특화 데이터가 중요하다는 점이다. 전체 성능에서는 GPT-4가 MCQ(81.11점)와 OEQ(85.69점) 모두에서 가장 높은 점수를 기록했다. 그 뒤를 한국어 특화 모델인 HyperCLOVA X가 바짝 추격했으며, 퓨샷 러닝 적용 시 OEQ 점수가 비약적으로 상승(84.14점)했다. 특히 &#39;질(Quality)의 격률&#39; 영역에서는 HyperCLOVA X가 GPT-4를 능가하는 성과를 보였다. 더욱 흥미로운 것은 파라미터가 10.7B 규모인 LDCC-Solar가 MCQ 평균에서 훨씬 더 큰 규모의 GPT-3.5-turbo를 앞섰다는 점이다. 이는 화용론적 추론에 있어 모델의 절대적 크기보다 특화된 학습이 중요함을 시사한다. 대표적으로, 노점상에서 &#39;붕어빵&#39;을 현금으로 결제하는 상황과 같은 한국 문화 특유의 상황(Cultural-specific questions)이 포함된 질문에서 GPT-4조차 숨은 의미를 파악하는 데 어려움을 겪었다. 반면, 한국어 텍스트로 폭넓게 학습된 HyperCLOVA X는 이러한 문화적 맥락을 정확히 이해하고 올바른 추론을 해냈다.</p>
<p>셋째, 모델별 답변 스타일의 명확한 차이이다. 주관식 응답(OEQ)에서 각 모델은 뚜렷한 생성 특성을 보였다. GPT-4는 불확실한 표현(&quot;~일 수 있다&quot;)을 피하고 명확한 단일 답변을 제공하는 데 강점이 있었다. 반면 HyperCLOVA X는 자신의 추론 과정을 상세하게 설명하는 데 뛰어난 능력을 보였다. 이에 비해 Gemini-Pro는 별도의 설명 없이 간결한 응답이나 형식 오류를 보여, 문맥 파악 능력을 심층적으로 평가하기 어려운 한계를 보이기도 했다.</p>
<p>결과적으로 이 연구는 LLM이 문화별 특정 맥락을 포착해야 함을 입증하며, LLM이 단순히 텍스트의 표면적 의미를 처리하는 것을 넘어 인간의 실제 의사소통 규범을 반영하여 언어를 이해하고 생성할 필요가 있음을 강조한다.</p>
<h1 id="8-결론">8. 결론</h1>
<p>이 글에서는 &#39;세차장 딜레마&#39;를 통해 인간에게는 너무나 당연한 상식적 추론이 대형 언어 모델(LLM)에게는 왜 그토록 어려운 문제로 작용하는지 화용론적 관점에서 살펴보았다.</p>
<p>LLM이 텍스트의 표면적 의미와 단어 간의 통계적 연관성에 집중하여 &quot;거리가 가까우니 걸어가는 것이 합리적&quot;이라는 오류를 범하는 반면, 인간은 전혀 다른 방식으로 문장을 처리한다. 인간은 발화 기저에 깔린 &#39;전제(차의 존재)&#39;와 대화 참여자들이 공유하는 세상 지식인 &#39;공통 토대(세차를 하려면 차를 가져가야 함)&#39;를 무의식적으로 활성화한다. 이를 바탕으로 문장에 생략된 정보를 채워 넣는 &#39;자유 의미보충([차를 타고] 간다)&#39; 과정을 거치며, 종국에는 &#39;적합성 이론&#39;에 따라 목표 달성에 가장 큰 인지적 효용을 주는 최적의 해석을  도출해낸다.</p>
<p>학계 역시 이러한 LLM의 화용론적 한계를 인지하고 이를 평가 및 개선하기 위한 연구를 활발히 진행하고 있다. 기존 객관식 평가의 한계를 극복하기 위한 자유 형식 응답 평가와 선호도 최적화 방법론의 도입, 사전학습부터 강화학습에 이르는 훈련 단계별 화용론적 능력 발현 과정 추적이 대표적이다. 특히 한국어와 같은 특정 문화권의 화용론 연구는, 논리적 연산을 돕는 CoT 프롬프팅이 오히려 문맥적 유연성을 떨어뜨려 화용론적 추론을 방해할 수 있다는 흥미로운 결과를 보여주었으며, 모델의 단순한 크기 확장보다 언어 및 문화 특화 학습이 중요함을 시사했다.</p>
<p>결과적으로 LLM이 보여주는 상식 추론의 실패는 단순한 데이터의 부족이 아니라, 문장 바깥에 존재하는 암묵적 맥락 복원이 아직 불안정하다는 점에서 기인한다고 할 수 있다. </p>
<p>그렇지만 지금의 발전 속도로 볼 때, 앞으로의 LLM이 완벽한 문법과 표면적 의미를 생성하는 것을 넘어, 인간의 실제 의사소통 규범과 문맥적 상황을 온전히 이해하고 반영하는 방향으로 발전하리라 기대해 본다. 이미 &#39;세차장 벤치마크&#39;도 조금씩 정복되어 가고 있다. 아래의 예시들처럼 말이다.</p>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/7ad38ce0-0b79-46a7-9a6c-4c594cddb392/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/9c4924f1-79f8-4099-a1c3-d91aa1287841/image.png" alt=""></p>
<hr>
<h1 id="참고-문헌">참고 문헌</h1>
<p><a id="fn1-desc" href="#fn1">[1]</a> Rethinking Pragmatics in Large Language Models: Towards Open-Ended Evaluation and Preference Tuning (EMNLP, 2024)</p>
<p><a id="fn2-desc" href="#fn2">[2]</a> The Pragmatic Mind of Machines: Tracing the Emergence of Pragmatic Competence in Large Language Models (EACL, 2026)</p>
<p><a id="fn3-desc" href="#fn3">[3]</a> Pragmatic Competence Evaluation of Large Language Models for the Korean Language (PACLIC, 2024)</p>
<p><a id="fn4-desc" href="#fn4">[4]</a> Pragmatics, Second edition (Oxford University Press, 2014) - Yan Huang</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[LLM과 언어학] LLM이 대화 함축(Implicature)을 어떻게 이해하는가?]]></title>
            <link>https://velog.io/@kyle-bong/LLM%EA%B3%BC-%EC%96%B8%EC%96%B4%ED%95%99-LLM%EC%9D%B4-%EB%8C%80%ED%99%94-%ED%95%A8%EC%B6%95Implicature%EC%9D%84-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EB%8A%94%EA%B0%80</link>
            <guid>https://velog.io/@kyle-bong/LLM%EA%B3%BC-%EC%96%B8%EC%96%B4%ED%95%99-LLM%EC%9D%B4-%EB%8C%80%ED%99%94-%ED%95%A8%EC%B6%95Implicature%EC%9D%84-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EB%8A%94%EA%B0%80</guid>
            <pubDate>Wed, 15 Apr 2026 22:18:34 GMT</pubDate>
            <description><![CDATA[<h1 id="들어가며-함축이란">들어가며: 함축이란?</h1>
<p>인간은 일상적인 대화에서 모든 정보를 명시적으로 발화하지 않는다. 우리는 주어진 맥락을 적극적으로 활용한다. 그리고 행간에 숨겨진 의미를 자연스럽게 추론한다. 언어학의 하위 분야인 &#39;화용론(Pragmatics)&#39;에서는 이를 &#39;함축(Implicature)&#39;이라고 부른다.</p>
<p>언어학자 Grice는 인간의 대화가 &#39;협력 원리(Cooperative Principle)&#39;를 기반으로 이루어진다고 설명했다. 이는 화자와 청자가 성공적인 의사소통을 위해 서로 협력한다는 암묵적인 전제이다. 예를 들어, &quot;점심 먹으러 갈래?&quot;라는 질문에 &quot;나 지금 배가 너무 아파&quot;라고 대답했다고 가정하자. 이 대답의 표면적인 문장에는 &quot;아니, 안 갈래&quot;라는 거절의 단어가 전혀 없다. 하지만 우리는 협력 원리에 따라 상대방이 엉뚱한 동문서답을 하는 것이 아니라고 믿는다. 따라서 배가 아프다는 물리적 상태를 밥을 먹을 수 없다는 거절의 의도로 자연스럽게 연결한다. 이것이 바로 &#39;대화 함축(Conversational Implicature)&#39;의 대표적인 예시이다.</p>
<p>반면, 우리가 LLM과 소통할 때는 이와 정반대의 태도를 취한다. 우리는 LLM이 맥락을 오해하지 않도록 모든 지시사항을 구체적으로 쪼개어 작성한다. 즉, 철저히 명시성을 극대화하는 &#39;프롬프트 엔지니어링(Prompt Engineering)&#39;을 수행한다. 그렇다면 LLM은 과연 인간 대화 특유의 화용론적 맥락을 스스로 읽어낼 수 없을까? 이 글에서는 관련 연구들을 통해 LLM이 함축을 어떻게 대하고 있는지 살펴본다.</p>
<h1 id="1-llm은-대화-함축conversational-implicature을-어떻게-처리하는가">1. LLM은 대화 함축(Conversational Implicature)을 어떻게 처리하는가?</h1>
<p>LLM이 인간과 자연스럽게 상호작용하려면 텍스트 이면의 의도를 파악해야 한다. 즉, LLM에게도 텍스트 그대로의 의미를 넘어선 &#39;대화 함축(Conversational Implicature)&#39;을 처리하는 능력이 필수적이다. 최근 연구들에서는 LLM이 이러한 함축을 얼마나 잘 이해하는지 정량적으로 평가하고 있다.</p>
<p>그중 중국 시트콤 다중 턴 대화 데이터를 활용하여, LLM의 화용론적 추론 능력을 측정한 연구가 있다.<sup id="fn1"><a href="#fn1-desc">[1]</a></sup> 저자들은 그라이스의 대화 격률(Maxims of conversation) 이론을 방법론적 틀로 삼았다. 인간은 필요한 만큼만 정보를 제공하는 양(Quantity)의 격률, 진실만을 말하는 질(Quality)의 격률, 대화의 맥락에 맞는 관련성(Relation)의 격률, 그리고 명료하게 말하는 태도(Manner)의 격률을 의도적으로 위반하여 함축을 생성한다. 저자들은 시트콤 대사 속에서 이러한 격률 위반 사례를 추출하여, 다중 턴 대화(Multi-turn dialogue) 데이터셋을 구축했다.</p>
<p>이 데이터셋을 바탕으로 저자들은 두 가지 평가 과제를 설계했다. 첫 번째는 대화의 숨은 의미를 찾는 &#39;객관식 문제(Multiple-choice question)&#39; 과제이다. 모델은 주어진 맥락을 읽고, 여러 선택지 중에서 화자의 진짜 의도를 골라야 한다. 두 번째는 그 숨은 의미가 도출된 논리적 이유를 서술하는 &#39;함축 설명(Implicature explanation)&#39; 과제이다. 이 과제에서 모델은 정답을 맞히는 것을 넘어, 왜 그러한 함축이 발생했는지 그 추론 과정을 주관식으로 작성해야 한다.</p>
<p>실험 결과, GPT-4와 같은 최신 모델은 객관식 문제에서 94%라는 높은 정답률을 기록했다. 이는 최고 수준의 언어 모델이 화용론적 함축(Pragmatic implicature)을 제대로 학습할 수 있음을 보여준다. 반면, text-davinci-002와 같은 구형 모델의 경우 몹시 저조한 성능을 달성하였는데, 이는 역설적으로 최근 LLM들의 화용론적 이해 능력이 얼마나 뚜렷하게 발전하고 있는지를 보여준다.</p>
<p>해당 논문은 이 실험 결과를 바탕으로, LLM의 함축 이해와 관련하여 몇 가지 중요한 논의점을 제시한다.</p>
<p>첫째, 위반된 대화 격률의 종류에 따른 유의미한 성능 차이는 관찰되지 않았다. 기존 연구에서는 인간이 &#39;양의 격률(Maxim of Quantity)&#39; 위반을 인지하는 데 어려움을 겪는다고 알려져 있었다. 하지만 본 연구에서는 인간과 LLM 모두 특정 격률 위반에 더 취약한 모습을 보이지 않았다. 저자들은 시트콤 대화가 단일 격률만 위반하는 것이 아니라, 여러 격률을 동시에 위반하는 복합적인 현실 대화의 특성을 띠기 때문이라고 분석했다.</p>
<p>둘째, 다중 턴(Multi-turn) 기반 현실 대화의 높은 복잡성이다. 구형 모델인 text-davinci-002는 턴 교체가 많고 여러 화용론적 현상이 얽힌 본 시트콤 데이터셋에서는 25% 미만의 낮은 정확도를 기록했다. 이는 현실적인 다중 턴 대화가 언어 모델에게 훨씬 더 가혹하고 어려운 과제임을 나타낸다.</p>
<p>셋째, 객관식 평가의 한계이다. 저자들은 객관식 문제에서 높은 정확도를 기록한 모델이라도, 주관식 텍스트 생성 과제에서는 일관성 없는 답변을 내놓으며 실패할 수 있음을 확인했다. 즉, 객관식 질문만으로는 LLM의 실질적인 언어 능력을 종합적으로 평가하기에 불충분하다. 따라서 모델이 스스로 생성한 텍스트(Free-form generation)에 대한 직접적인 수동 검사가 필수적이다.</p>
<p>마지막으로 논문은 이러한 한계를 극복하기 위한 향후 연구 방향을 제안한다. 먼저, 모델의 설명을 보다 정교하게 정량화할 수 있는 평가 방법론이 마련되어야 한다. 또한, 자연스럽게 발생하는 대화를 기반으로 한 대규모 데이터셋 구축이 시급하다고 강조한다.</p>
<h1 id="2-llm의-화용론적-능력은-어떻게-발현되는가">2. LLM의 화용론적 능력은 어떻게 발현되는가?</h1>
<p>LLM이 함축(Implicature)을 처리할 수 있다면, 그 능력은 학습 과정 중 어느 시점에 어떻게 생성되는 것인가? 이를 규명하기 위해 LLM의 &#39;화용론적 능력(Pragmatic competence)&#39;이 발현되는 과정을 추적한 연구가 있다.<sup id="fn2"><a href="#fn2-desc">[2]</a></sup></p>
<p>저자들은 화용론적 대안(Pragmatic alternatives) 개념에 기반하여, 새로운 평가 데이터셋을 구축했다. 데이터셋은 동일한 대화 문맥에서 의미는 같지만 화용론적 뉘앙스나 의도가 명확히 다른 두 가지 응답(대안)을 짝지어 구성했다. 예를 들어 &#39;일부(some) 학생이 왔다&#39;라는 표현을 쓴 화자는, &#39;모든(all) 학생이 왔다&#39;라는 대안을 쓸 수 있었음에도 쓰지 않았으므로 &#39;전부가 온 것은 아니다.&#39;라는 숨은 의미를 전달한다.</p>
<p>평가에서는 이 두 가지 응답을 쌍으로 제시하여, 모델이 특정 상황에서 화자가 왜 그 표현을 선택했는지 숨은 의도를 추론하고 설명하도록 요구한다. 그리고 다양한 규모와 학습 단계(Checkpoints)에 있는 LLM들을 대상으로 실험을 진행했다.</p>
<p>실험 결과에 따르면, LLM의 화용론적 능력은 특정 임계점을 지나며 갑자기 나타나는 것이 아니었다. 이 능력은 사전학습(Pre-training) 과정에서 데이터의 양과 모델 크기가 증가함에 따라, 점진적으로 발현(Emergence)되는 양상을 보였다. 즉, 대규모 코퍼스를 학습하며 단어 간의 통계적 관계를 파악하는 과정이 화용론적 추론의 기초가 됨을 시사한다.</p>
<p>해당 논문의 논의(Discussion) 세션에서는 단순히 모델의 크기만을 강조하지 않는다. 저자들은 사전학습만 마친 모델보다 지시 미세조정(Instruction fine-tuning)이나 인간 피드백 기반 강화학습(RLHF)을 거친 모델에서 화용론적 능력이 비약적으로 상승했음을 발견했다. 이는 LLM이 단순히 텍스트 패턴을 익히는 것을 넘어, 인간의 선호와 의사소통 관습에 정렬(Alignment)될 때 비로소 화용론적 능력이 온전히 완성됨을 의미한다.</p>
<p>결과적으로 논문은 화용론적 능력이 구성적(Compositional)인 성격을 띤다고 분석한다. 언어적 지식이라는 하위 요소들이 사전학습을 통해 쌓이고, 인간과의 정렬 과정을 통해 사회적 맥락을 읽는 상위 능력이 결합된다는 것이다. 이러한 발견은 LLM이 인간의 언어를 더 깊이 이해하게 만들기 위해, 정교한 정렬 데이터 설계가 얼마나 중요한지를 역설한다.</p>
<h1 id="3-화용론을-프롬프트-엔지니어링에-적용하기">3. 화용론을 프롬프트 엔지니어링에 적용하기</h1>
<p>앞선 장들에서 우리는 LLM이 함축(Implicature)을 해석하는 데 여전히 한계를 지닌다는 것을 확인했다. 그렇다면 LLM의 가중치(Weight)를 직접 업데이트하지 않고도 이 능력을 향상시킬 방법은 없을까? 최근 한 연구는 화용론 이론을 프롬프트 엔지니어링(Prompt Engineering)에 접목하여 이 문제를 해결하고자 했다.<sup id="fn3"><a href="#fn3-desc">[3]</a></sup></p>
<p>해당 논문은 문맥 내 학습(In-context learning)을 활용하는 것이 파라미터를 수정하는 것보다 훨씬 효율적이라는 논지에서 출발한다. 즉, 추가 학습 없이 제로샷(zero-shot)을 통해 성능을 향상시킬 수 있다는 것이다. 저자들은 인간의 언어학적 지식을 프롬프트를 통해 LLM에게 화용론 이론의 핵심 원리를 명시적으로 제공하는 방법론을 제안했다. 구체적으로는 그라이스(Grice)의 대화 격률(Maxims of conversation)과 스퍼버와 윌슨(Sperber and Wilson)의 적합성 이론(Relevance theory) 등 핵심 화용론 개념을 지시문(System prompt)에 명시적으로 주입하는 방식을 택했다. </p>
<p>저자들은 세 가지 프롬프팅 기법을 설계했다. 첫째는 협력 원리의 4가지 대화 격률을 안내하는 &#39;그라이스 프롬프팅(Gricean Prompting)&#39;이다. 둘째는 &#39;적합성 이론 프롬프팅(Relevance Theory Prompting)&#39;이다. 여기에는 발화의 명시적 의미는 단서에 불과하며, 청자는 이를 바탕으로 숨겨진 의미를 추론해야 한다는 지침을 담았다. 셋째는 &#39;단축형 프롬프팅(Short Prompting)&#39;이다. 이는 화용론에 대한 상세한 설명 없이 프롬프트에 이론의 이름만 언급하는 방식이다.</p>
<p>저자들은 이 방법론을 검증하기 위해 대조 실험을 설계했다. 먼저 일반적인 과제 지시사항만 포함된 기본 프롬프트(Baseline prompt)를 준비했다. 그리고 화용론의 주요 원리들이 단계별로 요약되어 포함된 &#39;화용론 강화 프롬프트(Pragmatics-enhanced prompt)&#39;를 구성했다. 이후 다양한 규모의 LLM에게 숨겨진 의도를 파악해야 하는 여러 추론 과제(선의의 거짓말(Deceits), 간접화행(Indirect Speech), 반어법(Irony), 격률 위반(Maxims), 은유(Metaphor))를 수행하도록 지시하고 그 성능을 비교했다.</p>
<p>실험 결과, 화용론 이론을 프롬프트로 제공받은 모델들은 기본 프롬프트를 사용했을 때보다 함축 해석의 정확도가 일관되게 상승했다. 특히 격률 위반이나 반어법 해석과 같이 고도의 맥락 이해가 필요한 문항에서 그 격차가 크게 벌어졌으며, 그라이스 프롬프트 기법이 가장 좋은 성능을 달성했다.</p>
<p>해당 논문은 이 실험 결과를 바탕으로, LLM에게 단순히 &#39;숨겨진 의미를 찾으라&#39;고 지시하는 것만으로는 부족하다고 지적한다. LLM은 명시적인 논리 체계를 부여받았을 때 더 깊은 추론이 가능하기 때문이다. 인간이 무의식적으로 사용하는 암묵적 의사소통 규칙을, 기계가 단계적으로 읽을 수 있는 명시적 규칙으로 번역해 준 전략이 주효했다.</p>
<h1 id="결론-알잘딱깔센-llm">결론: &#39;알잘딱깔센&#39; LLM</h1>
<p>우리가 궁극적으로 원하고 만들어가야 할 LLM은 이른바 &#39;알잘딱깔센(알아서 잘 딱 깔끔하고 센스있게)&#39;하게 동작하는 모델이다. 사용자가 구구절절 모든 맥락을 지시하지 않아도, 개떡같이 말하면 찰떡같이 알아듣는 LLM 말이다. 이는 곧 언어학에서 말하는 &#39;함축(Implicature)&#39;을 LLM이 스스로 추론해 내는 상태를 의미한다고 할 수 있다.</p>
<p>지금까지 살펴본 연구들에 따르면, 현재의 LLM은 텍스트 이면의 화용론적(Pragmatic) 맥락을 완벽히 이해하는 데 여전히 한계를 보인다. 그러나 희망적인 점도 분명히 존재한다. 대규모 데이터 사전학습과 정교한 정렬 과정을 거치며, 기계의 화용론적 능력은 점진적으로 발전하고 있다.</p>
<p>특히 우리가 가장 주목해야 할 대목은 프롬프트 엔지니어링의 새로운 접근법이다. 우리는 종종 모델이 오해하지 않도록 지시문을 잘게 쪼개거나, &#39;You must&#39; 등의 강한 표현으로 모델을 다그치는 데 집중한다. 하지만 때로는 인간의 의사소통 규칙 자체를 프롬프트에 명시해 주는 전략이 훨씬 더 효과적일 수 있다. 언어학적 지식이 모델의 추론 능력을 향상시키는 도구로 작용할 수 있는 것이다.</p>
<p>결국 훌륭한 LLM을 구축하고 활용한다는 것은, 인간의 암묵적인 의사소통 규범을 기계가 처리할 수 있는 명시적인 데이터와 프롬프트로 번역해 내는 과정이다. 사용자가 매번 반복적으로 프롬프트 엔지니어링을 하지 않아도, 눈치껏 행간의 의미를 완벽히 읽어내는 진정한 &#39;알잘딱깔센&#39; LLM이 머지않아 등장하기를 기대해 본다.</p>
<hr>
<h1 id="참고-문헌">참고 문헌</h1>
<p><a id="fn1-desc" href="#fn1">[1]</a> <a href="https://aclanthology.org/2024.ccl-1.98/">Do Large Language Models Understand Conversational Implicature- A case study with a Chinese sitcom</a> (CCL, 2024)</p>
<p><a id="fn2-desc" href="#fn2">[2]</a> <a href="https://aclanthology.org/2026.eacl-long.9/">The Pragmatic Mind of Machines: Tracing the Emergence of Pragmatic Competence in Large Language Models</a> (EACL, 2026)</p>
<p><a id="fn3-desc" href="#fn3">[3]</a> <a href="https://aclanthology.org/2025.ijcnlp-long.132.pdf">Pragmatic Theories Enhance Understanding of Implied Meanings in LLMs</a> (IJCNLP, 2025)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[LLM과 언어학] LLM은 어떻게 내 '진짜' 의도를 읽어낼까? 화행이론의 관점에서]]></title>
            <link>https://velog.io/@kyle-bong/LLM%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%82%B4-%EC%A7%84%EC%A7%9C-%EC%9D%98%EB%8F%84%EB%A5%BC-%EC%9D%BD%EC%96%B4%EB%82%B4%EB%8A%94%EA%B0%80-%ED%99%94%ED%96%89%EC%9D%B4%EB%A1%A0%EC%9C%BC%EB%A1%9C-%EB%B3%B8-%EC%9D%98%EB%8F%84-%EC%B6%94%EB%A1%A0%EC%9D%98-%EC%A7%84%ED%99%94-%EA%B3%BC%EC%A0%95</link>
            <guid>https://velog.io/@kyle-bong/LLM%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%82%B4-%EC%A7%84%EC%A7%9C-%EC%9D%98%EB%8F%84%EB%A5%BC-%EC%9D%BD%EC%96%B4%EB%82%B4%EB%8A%94%EA%B0%80-%ED%99%94%ED%96%89%EC%9D%B4%EB%A1%A0%EC%9C%BC%EB%A1%9C-%EB%B3%B8-%EC%9D%98%EB%8F%84-%EC%B6%94%EB%A1%A0%EC%9D%98-%EC%A7%84%ED%99%94-%EA%B3%BC%EC%A0%95</guid>
            <pubDate>Tue, 14 Apr 2026 04:01:29 GMT</pubDate>
            <description><![CDATA[<h1 id="들어가며">들어가며</h1>
<p><strong>LLM은 왜 우리의 의도를 잘 읽지 못할까</strong>
우리는 LLM과 대화하며 종종 기묘한 단절감을 느낀다. 모델이 문장의 단어는 완벽히 이해하는 것 같지만, 정작 내가 왜 그 말을 했는지는 모르는 것처럼 보이기 때문이다. 엔지니어의 관점에서 보면, 이는 모델이 지시 따르기(Instruction Following)의 한계에 부딪힌 것으로 본다. 하지만 언어학자의 관점에서는, 이를 언어의 화용론(Pragmatics)적 맥락이 상실된 결과로 해석할 수 있다.</p>
<p>언어는 단순히 정보를 전달하는 데이터의 나열이 아니다. 인간은 말을 통해 요청하고, 약속하며, 때로는 사과하는 등 구체적인 사회적 행위를 수행한다. 이러한 &#39;말의 행동적 측면&#39;을 다루는 학문이 바로 화용론이다. 특히 화행이론(Speech Act Theory)은 우리가 던지는 프롬프트가 단순한 텍스트를 넘어 어떤 &#39;행위&#39;를 의도하는지 설명하는 강력한 도구가 된다.</p>
<p>이 글에서는 화행이론이라는 인문학적 렌즈를 통해 LLM의 의도 추론(Intent Reasoning) 과정을 분석하고자 한다. 모델이 단지 문장을 생성하는 기계를 넘어, 인간의 진의(眞意)를 파악하는 조수로 진화하는 과정을 기술적 방법론과 함께 살펴본다.</p>
<h1 id="1-발화행위locutionary-act를-넘어-화행이론과-zero-shot-의도-분류">1. 발화행위(Locutionary Act)를 넘어: 화행이론과 Zero-shot 의도 분류</h1>
<p>인간이 내뱉는 모든 말에는 층위가 존재한다. 영국의 언어철학자 오스틴(J. L. Austin)은 발화의 세 가지 층위를 제안했다. 첫째는 문장의 문법적 의미 자체를 생성하는 발화행위(Locutionary Act)다. 둘째는 그 발화를 통해 화자가 의도하는 기능인 발화수반행위(Illocutionary Act)다. 셋째는 발화가 청자에게 미치는 영향인 발화효과행위(Perlocutionary Act)다.</p>
<p>예를 들어, 회의 중에 &quot;벌써 세 시네요&quot;라고 말하는 상황을 가정해 보자. 이 문장의 발화행위(Locutionary Act)는 단순히 현재 시간이 오후 3시라는 사실을 진술하는 것이다. 하지만 이 발화의 진짜 목적인 발화수반행위(Illocutionary Act)는 &quot;회의를 곧 마치자&quot;는 요청이나 제안일 가능성이 크다. 의도 분류(Intent Classification)는 발화의 표면적 의미를 읽는 데서 출발하지만, 실제 분류 대상은 발화수반행위에 더 가깝다. 인공지능이 사용자의 진정한 의도를 파악한다는 것은, 바로 이 표면적인 발화행위에서 숨겨진 발화수반행위를 성공적으로 도출해내는 과정이다.</p>
<p>자연어처리 분야에서 이는 의도 분류 과제로 구체화된다. 과거의 NLU 시스템은 특정 도메인의 레이블(Lable) 데이터에 최적화된 지도 학습(Supervised Learning) 방식을 취했다. 하지만 최근 LLM의 등장은 Zero-shot 의도 분류라는 새로운 패러다임을 열었다.<sup id="fn1"><a href="#fn1-desc">[1]</a></sup></p>
<p>Parikh et al.(2023) 연구는 제로샷 환경에서 LLM이 의도를 파악하는 메커니즘을 상세히 다룬다.<sup id="fn2"><a href="#fn2-desc">[2]</a></sup> 저자들은 모델에게 단순히 레이블 이름만을 주는 것이 아니라, 각 의도에 대한 상세한 설명(Intent Description)을 제공하는 방법론을 제안했다. 모델은 이 설명을 바탕으로 사용자의 발화(발화행위)가 어떤 의도(발화수반행위)의 정의와 화용론적으로 가장 잘 일치하는지 추론한다.</p>
<p>예를 들어, &#39;환불&#39;이라는 레이블만 제공하는 대신 &quot;구매한 물건을 돌려주고 돈을 다시 받기를 원하는 화자의 요청&quot;이라는 상세 설명을 제공한다. 모델은 사용자의 &quot;이거 마음에 안 들어요, 돈으로 돌려주세요&quot;라는 발화 속에서 &#39;요청&#39;이라는 행위의 속성을 포착하여 의도를 정확히 분류해 낸다.</p>
<h1 id="2-발화수반행위illocutionary-act를-모델에-각인하다-instruction-tuning">2. 발화수반행위(Illocutionary Act)를 모델에 각인하다: Instruction Tuning</h1>
<p>인간의 의도는 단순히 단어의 정의를 나열한다고 해서 모두 파악될 만큼 평면적이지 않다. 모델이 제로샷 환경에서 의도 분류를 수행하는 것은 놀라운 성취다. 하지만 복잡한 현실의 화행(Speech Act)을 완벽히 소화하기에는 여전히 한계가 존재한다. 모델이 인간의 발화 속에 담긴 미묘한 &#39;힘&#39;을 이해하기 위해서는, 수많은 의사소통 패턴을 직접 경험하며 학습하는 과정이 필요하다. 이 과정이 바로 LLM의 Instruction Tuning이다.</p>
<p>Instruction Tuning은 자연어 처리 과제를 Instruction 형태로 변환하여 모델을 미세 조정(Fine-tuning)하는 기법이다. 이는 화행이론의 관점에서 보면 모델에게 다양한 발화수반행위(Illocutionary Act)의 표본을 각인시키는 작업으로 볼 수 있다. Longpre et al.(2023)은 이 과정을 극대화하기 위해 Flan Collection 데이터셋을 구축했다. <sup id="fn3"><a href="#fn3-desc">[3]</a></sup> 저자들은 수천 개의 서로 다른 과제를 지시어 형태로 섞어 학습시키는 것이 모델의 일반화 능력을 향상시킨다는 사실을 입증했다. 다양한 지시를 학습한 모델은 특정 단어에 매몰되지 않는다. 대신 발화자가 무엇을 &#39;수행&#39;하고자 하는지 그 본질적인 의도를 더 정밀하게 포착하게 된다.</p>
<p>최근의 연구들은 정교한 지시어를 활용하여 모델이 스스로 의도 분류기를 생성하는 단계까지 나아갔다. Peng et al.(2024)은 사용자의 지시만으로 새로운 텍스트 분류기를 생성해내는 &#39;인큐베이터(Incubator)&#39; 프레임워크를 제안했다.<sup id="fn4"><a href="#fn4-desc">[4]</a></sup> 이는 모델이 단순히 주어진 라벨을 맞추는 것을 넘어, 사용자가 서술한 분류 기준을 바탕으로 맞춤형 분류기를 구성할 수 있음을 보여준다. 엔지니어는 더 이상 모든 의도에 대해 수만 개의 데이터를 라벨링할 필요가 없다. 단지 정교한 지시를 통해 모델에게 화행의 규칙을 전달하기만 하면 된다.</p>
<p>더 나아가 모델의 추론(Reasoning) 능력을 의도 분류에 결합하려는 시도도 활발하다. Gao et al.(2025)이 제안한 ICLER 방법론은 모델이 발화의 의도를 판별하기 전, 그 근거를 논리적으로 고찰하는 단계를 추가했다.<sup id="fn5"><a href="#fn5-desc">[5]</a></sup> ICLER는 검색(Retrieval)과 추론을 함께 강화해 의도 분류 성능을 높인다. 이러한 향상된 추론 과정은 모델이 발화행위라는 텍스트의 껍데기를 깨고, 발화수반행위라는 진의에 도달하게 만든다.</p>
<p>결국 Instruction Tuning을 통해 모델은 텍스트의 표면적 의미에 갇히지 않고, 인간의 복잡한 의도를 논리적으로 재구성하는 능력을 갖추게 된다. </p>
<h1 id="3-현실-세계의-화용론-대화-행위dialogue-act와-다중-의도-탐지multi-intent-detection">3. 현실 세계의 화용론: 대화 행위(Dialogue Act)와 다중 의도 탐지(Multi-Intent Detection)</h1>
<p>우리가 일상에서 나누는 대화는 단발적인 지시의 연속이 아니다. 실제 대화는 여러 번의 발화가 오가는 다중 턴(Multi-turn) 구조를 가진다. 따라서 우리는 대화 행위(Dialogue Act)와 의도 분류의 차이를 명확히 구분해야 한다. 대화 행위는 대화 속 발화의 기능적 역할을 의미하며, 의도 분류는 보통 시스템이 정의한 행동 범위(Action Space) 안에서 사용자의 목표를 판별하는 일이다.</p>
<p>Qamar et al. (2025)은 모델이 대화 행위를 정확히 분류하기 위해 세 가지 선행 과제가 필수적임을 밝혔다.<sup id="fn6"><a href="#fn6-desc">[6]</a></sup> 첫째는 화자의 역할을 식별하는 말차례(Turn) 관리다. 둘째는 발화의 고수준 기능을 식별하는 의사소통 기능 식별이다. 셋째는 질문과 답변의 쌍을 포착하는 대화 구조(Dialogue Structure) 예측이다. 예를 들어, 사용자가 &quot;그 영화 결말이 어때?&quot;라고 묻고, 이어서 &quot;주인공은 어떻게 돼?&quot;라고 묻는 상황을 가정해 보자. 모델은 두 번째 질문을 이전 맥락과 이어진 &#39;추가 질문(Elaboration)&#39;으로 보지 못하고 단발성 질문으로 착각하는 경우가 많다. 이는 모델이 문장의 개별 의미는 알지만, 대화의 방대한 흐름 안에서 문장이 차지하는 위치를 놓치고 있음을 보여준다.</p>
<p>현실의 화용론이 가진 또 다른 난제는 다중 의도 탐지(Multi-Intent Detection, MID) 상황이다. 사용자는 종종 &quot;에어컨을 끄고 거실 조명을 밝게 해줘&quot;와 같이 복합적인 요구를 한 문장에 담는다. Deng et al. (2025)은 이러한 상황을 해결하기 위해 양방향 모델 구조를 활용한 MIDLM 프레임워크를 제안했다.<sup id="fn7"><a href="#fn7-desc">[7]</a></sup> 연구 결과에 따르면, 모델은 단일 의도 파악에는 능숙하지만 의도가 얽혀 있을 때는 특정 의도를 누락하는 경향이 있다.</p>
<p>결국 LLM이 인간의 진의를 완벽히 이해하기 위해서는 텍스트의 표면적 의미에만 집중하는 학습에서 벗어나야 한다. 모델은 대화의 흐름을 읽고, 그 이면에 숨겨진 복합적인 화행을 논리적으로 분리하여 재구성할 수 있어야 한다.</p>
<h1 id="결론">결론</h1>
<p>지금까지 우리는 화행이론을 통해 LLM의 의도 추론 진화 과정을 살펴보았다. 언어는 단순한 데이터의 나열이 아니라, 구체적인 사회적 행위다. 제로샷 학습부터 Instruction Tuning에 이르기까지, LLM의 발전은 인간의 화용론적 능력을 모사하는 방향으로 나아가고 있다. 하지만 현실 세계의 복잡한 대화 맥락과 다중 의도는 여전히 모델이 넘어야 할 높은 벽이다.</p>
<h1 id="참고-문헌">참고 문헌</h1>
<p><sup id="fn1"></sup><a id="fn1-desc" href="#fn1">[1]</a> Ma, B., Li, Y., Zhou, W., Gong, Z., Liu, Y. J., Jasinskaja, K., Friedrich, A., Hirschberg, J., Kreuter, F., &amp; Plank, B. (2025). Pragmatics in the Era of Large Language Models: A Survey on Datasets, Evaluation, Opportunities and Challenges. Proceedings of the 63rd Annual Meeting of the Association for Computational Linguistics (ACL).</p>
<p><sup id="fn2"></sup><a id="fn2-desc" href="#fn2">[2]</a> Parikh, S., Tumbade, P., Vohra, Q., &amp; Tiwari, M. (2023). Exploring Zero and Few-shot Techniques for Intent Classification. Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics: Industry Track (ACL).</p>
<p><sup id="fn3"></sup><a id="fn3-desc" href="#fn3">[3]</a> Longpre, S., Hou, L., Vu, T., Webson, A., Chung, H. W., Tay, Y., Zhou, D., Le, Q. V., Zoph, B., Wei, J., &amp; Roberts, A. (2023). The Flan Collection: Designing Data and Methods for Effective Instruction Tuning. Proceedings of the 40th International Conference on Machine Learning (ICML).</p>
<p><sup id="fn4"></sup><a id="fn4-desc" href="#fn4">[4]</a> Peng, Z., He, Z., Pang, J., Yu, D., Song, L., Liu, Q., Zhou, M., &amp; Nie, J. Y. (2024). Incubating Text Classifiers Following User Instruction with LLMs. Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing (EMNLP).</p>
<p><sup id="fn5"></sup><a id="fn5-desc" href="#fn5">[5]</a> Gao, D., Dong, X., Yang, S., &amp; Fu, B. (2025). ICLER: Intent Classification with Enhanced Reasoning. Findings of the Association for Computational Linguistics: EMNLP 2025.</p>
<p><sup id="fn6"></sup><a id="fn6-desc" href="#fn6">[6]</a> Qamar, A., Tong, J., &amp; Huang, R. (2025). Do LLMs Understand Dialogues? A Case Study on Dialogue Acts. Proceedings of the 63rd Annual Meeting of the Association for Computational Linguistics (ACL).</p>
<p><sup id="fn7"></sup><a id="fn7-desc" href="#fn7">[7]</a> Deng, J., Wang, J., &amp; Zhang, Y. (2025). MIDLM: Multi-Intent Detection with Bidirectional Large Language Models. Proceedings of the 31st International Conference on Computational Linguistics (COLING).</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[LLM과 언어학] Too Much Talker LLM]]></title>
            <link>https://velog.io/@kyle-bong/Too-Much-Talker-LLM</link>
            <guid>https://velog.io/@kyle-bong/Too-Much-Talker-LLM</guid>
            <pubDate>Mon, 13 Apr 2026 03:52:45 GMT</pubDate>
            <description><![CDATA[<h1 id="들어가며">들어가며</h1>
<p><strong>친절함은 왜 때로는 과잉이 되는가</strong>
LLM과 대화하다 보면, 종종 지나치게 장황하다는 느낌을 받는다. 분명히 한 문장으로 대답해도 되는 쉬운 질문을 던졌는데, 돌아오는 답은 세 단락이나 된다. 간단한 사실만 확인하고 싶었는데, 모델은 배경 설명을 덧붙이고, 주의사항을 붙이고, 마지막에는 정리와 후속 질문까지 추천해준다. 이 답변은 대개 틀리지는 않는다. 그런데도 어딘가 불편하다. 꼭 이렇게 말을 많이 해야 하나 싶은 생각이 든다.</p>
<p>LLM을 둘러싼 논의는 대체로 정확성, 환각(hallucination), 추론(Reasoning), 정렬(alignment) 같은 문제에 집중해 왔다. 물론 이런 주제는 중요하다. 다만 실제 사용 경험에서 사용자가 자주 부딪히는 문제는 &#39;틀린 답변&#39;만은 아니다. &#39;너무 긴 답변&#39;도 때때로 문제가 된다.</p>
<p>이 현상은 단순히 스타일의 문제가 아니다. 길고 친절한 답변은 더 나은 답처럼 보이기 쉽다. 정보가 많을수록 성실해 보이기 때문이다. 설명이 길수록 똑똑해 보이기도 한다. 그러나 대화는 정보를 가능한 한 많이 쏟아내는 행위가 아니다. 좋은 대화는 상대가 지금 필요로 하는 만큼만, 적절한 밀도와 길이로 정보를 건네는 행위다. 그런 점에서 LLM의 장황함은 단순히 수다스러운 말버릇이 아니라, 대화의 기본 원리를 자주 놓치는 방식이라고 볼 수 있다. </p>
<p>이 지점에서 언어학, 그중에서도 화용론(Pragmatics)은 매우 유용한 관점을 제공한다. 화용론은 문장의 사전적 의미만이 아니라, 발화가 실제 대화 속에서 어떻게 기능하는지를 묻는다. 화용론은 &#39;누가 말하는가&#39;, &#39;누구에게 말하는가&#39;, &#39;무엇을 물었는가&#39;, &#39;어디까지 말해야 충분한가&#39;, &#39;무엇은 생략해도 되는가&#39;와 같은 질문을 던진다. 그리고 이 질문들은 오늘날 LLM의 응답을 이해하는 데도 적용될 수 있다.</p>
<p>특히 이 글이 주목하고자 하는 개념은 그라이스(Grice)의 양의 격률(Maxim of Quantity)이다. 양의 격률에 따르면, 필요한 만큼만 말해야 한다. 필요 이상으로 말해서도 안 된다. 같은 질문이더라도 어떤 상황에서는 한 문장의 답변만으로도 충분하고, 어떤 상황에서는 자세한 설명이 필요하다. 즉, 양의 격률은 발화의 길이를 일괄적으로 줄이라는 규칙이 아니라, 정보량을 맥락에 맞게 조절하라는 원칙이다.</p>
<p>이 관점에서 보면, LLM의 장황함은 조금 다르게 보이기 시작한다. 문제는 모델이 너무 많이 안다는 데 있지 않다. 문제는 모델이 질문이 요구한 정보량을 자주 초과한다는 데 있다. 예를 들어, 사용자는 실행 가능한 한 줄을 원했는데, 모델은 배경지식과 예외사항까지 붙인다. 이때 모델은 틀리지 않을 수 있다. 그러나 협력적인 대화를 하고 있다고 보기는 어렵다.</p>
<p>LLM은 왜 이렇게 정보량을 초과하는 방향으로 응답하게 되었을까. 이것은 단순히 말투의 문제가 아니라, 선호 학습(Preference Learning), 직접 선호 최적화(Direct Preference Optimization, DPO), 보상 모델(Reward Model)의 길이 편향(length bias), 그리고 추론 예산(reasoning budget) 같은 학습 구조와 연결된 문제일 수 있다. 다시 말해, 장황함은 우연한 출력 습관이 아니라, 오늘의 정렬된 모델이 학습해 온 방식의 결과일 가능성이 크다. <sup id="fn1"><a href="#fn1-desc">[1]</a></sup> <sup id="fn3"><a href="#fn3-desc">[3]</a></sup> <sup id="fn4"> <a href="#fn4-desc">[4]</a></sup></p>
<p>이 글에서는 먼저 양의 격률이 무엇인지 간단히 살펴본다. 그다음 LLM의 장황함이 실제로 어떤 현상으로 나타나는지 정리한다. 이어서 왜 이런 현상이 생겨났는지를 최근 연구를 바탕으로 살펴본다. 마지막으로, 모델이 필요한 말만 하게 만들기 위해 연구자들이 어떤 해결책을 제안하고 있는지도 함께 본다.</p>
<hr>
<h1 id="1-양의-격률maxim-of-quantity">1. 양의 격률(Maxim of Quantity)</h1>
<p><strong>왜 적당히 말해야 좋은 대화인가</strong></p>
<p>우리는 보통 좋은 대화를 &#39;많이 말하는 대화&#39;라고 생각하지 않는다. 질문이 간단하면 답도 간단해야 한다. 설명이 필요한 상황이라면 그만큼 자세해져야 한다. 즉, 대화 맥락에 따라 전달하는 정보량을 적절하게 조절해야 좋은 대화라고 할 수 있다.</p>
<p>이것을 설명하는 대표적인 개념이 그라이스(Grice)의 협력 원리(Cooperative Principle)다. 그라이스는 대화가 단순히 문장을 주고받는 일이 아니라, 서로 협력하면서 의미를 조정하는 과정이라고 보았다. 우리는 대화할 때 아무 말이나 던지지 않는다. 상대가 묻는 바에 맞추어, 지금 이 상황에서 적절한 방식으로 응답하려고 한다. 양의 격률(Maxim of Quantity)은 바로 이 협력의 한 조건을 설명한다.</p>
<p>양의 격률은 보통 다음의 두 문장으로 요약된다.</p>
<blockquote>
<ol>
<li>대화의 목적에 필요한 만큼은 정보를 제공해야 한다.</li>
<li>필요한 것보다 더 많은 정보를 제공해서는 안 된다.</li>
</ol>
</blockquote>
<p>즉, 양의 격률은 질문이 요구하는 정보량을 맞추라는 원칙이라고 할 수 있다. 예를 들어 누군가 “지금 몇 시야?”라고 물었을 때, “세 시 십 분이야”라고 답하면 충분하다.
그런데 여기에 “정확히는 오후 세 시 십 분이고, 오늘 일정상 지금 출발하면 도착은 네 시쯤이고, 보통 이 시간대에는 길이 막히지 않고...”와 같은 설명이 계속 이어진다면 어떨까. 내용이 틀린 것은 아닐 수 있다. 오히려 친절해 보일 수도 있다. 하지만 질문이 요구한 정보량은 이미 넘어서고 있다. 이 순간 대화는 성실해 보이면서도, 동시에 어딘가 과잉된 느낌을 준다.</p>
<p>결국 양의 격률은 대화를 절제의 기술로 바라보게 한다. 좋은 대화는 정보를 아끼는 대화도 아니고, 정보를 과시하는 대화도 아니다. 상대가 지금 필요로 하는 만큼을 가장 적절한 길이로 건네는 대화이다. 이 관점에서 보면, LLM의 장황함은 단순한 스타일의 차이가 아니다. 그것은 대화의 가장 기본적인 협력 원리 중 하나를 자주 놓치는 현상으로 읽을 수 있다.</p>
<hr>
<h1 id="2-llm은-말이-너무-많다">2. LLM은 말이 너무 많다.</h1>
<h2 id="21-장황함을-측정하는-벤치마크-yapbench">2.1. 장황함을 측정하는 벤치마크 YapBench</h2>
<p>LLM의 장황함을 양적으로 측정해보려는 시도가 등장하고 있다. YapBench는 &#39;짧은 답변이 적절한 질문&#39;을 따로 수집한 뒤, 모델이 그 기준선을 얼마나 초과해서 말하는가를 측정하는 벤치마크다. <sup id="fn1"><a href="#fn1-desc">[1]</a></sup> 각 문항은 단일 턴 프롬프트, 사람이 정한 최소 충분 답변(minimal-sufficient baseline answer), 그리고 문항 유형 라벨로 구성된다. 핵심 지표인 YapScore는 기준선보다 얼마나 더 길게 답했는지를 문자 수 기준으로 계산하고, YapIndex는 범주별 중앙값 YapScore를 평균 내어 모델의 전반적인 장황함을 요약한다. </p>
<p>YapBench는 300개가 넘는 영어 프롬프트를 세 유형으로 나눈다. 첫째는 짧은 확인이나 되물음이 가장 적절한 모호한 입력이다. 둘째는 짧고 안정된 답이 가능한 사실 질문이다. 셋째는 한 줄짜리 명령문이나 코드 조각이면 충분한 기술 요청이다. 이 틀로 76개의 assistant LLM을 평가한 결과, 모델들 사이에는 중간 초과 길이에서 큰 격차가 나타났고, 특히 모호한 입력에서는 모델이 빈칸을 스스로 채우듯 길게 설명하는 vacuum-filling, 한 줄 코딩 요청에서는 설명과 서식을 과도하게 붙이는 경향이 관찰되었다.</p>
<p>LLM의 장황함 문제는 답변을 어디에서 멈춰야 하는지를 모른다는 데 있다. YapBench는 바로 그 멈춤의 실패를 측정 가능한 현상으로 바꾸어 보여준다.</p>
<h2 id="22-불필요한-정보의-누적">2.2. 불필요한 정보의 누적</h2>
<p>장황함의 더 핵심적인 문제는, 응답 안에 최소 답을 넘어서는 정보가 반복적으로 덧붙는다는 점이다.  ACL 2025 Findings에 실린 Brevity is the soul of sustainability는 12개의 decoder-only LLM을 5개 데이터셋에서 비교했다. 그 결과, 이 모델들이 자주 필요 이상으로 긴 응답을 생성하고, 필요한 최소 답을 넘어서는 중복 정보나 추가 정보를 함께 넣는다고 보고했다. <sup id="fn2"><a href="#fn2-desc">[2]</a></sup></p>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/a9fa3057-2fa1-490a-81ff-2e604a54875c/image.png" alt=""></p>
<ul>
<li>위 그래프는 Phi-3-small 모델이 각 QA 데이터셋에 대해 이상적인 답변의 길이(target answer length)와 생성한 답변의 길이(generated response length)를 비교한 그래프이다. 대부분의 경우 생성된 답변의 길이가 이상적인 답변의 길이를 초과한 것을 볼 수 있다.</li>
</ul>
<p>이 연구가 보여 주는 것은, LLM의 긴 답변이 언제나 더 풍부한 답변은 아니라는 점이다. 질문에 대한 직접적인 답변은 이미 한두 문장 안에 끝났는데도, 그 뒤에 배경지식, 주의사항, 예외 사례가 연속해서 덧붙는다. 각각은 유용해 보일 수 있지만, 전체 응답의 관점에서는 질문의 초점을 흐리고 독해 비용만 높이기도 한다. 결국 장황함의 본질은 단순히 길다는 데 있지 않다. 멈춰야 할 지점을 지나서도 계속 말한다는 데 있다.</p>
<hr>
<h1 id="3-llm은-왜-말이-많아졌을까">3. LLM은 왜 말이 많아졌을까?</h1>
<h2 id="31-선호-학습preference-learning은-길이가-긴-답을-좋아하게-만들-수-있다">3.1. 선호 학습(Preference Learning)은 길이가 긴 답을 좋아하게 만들 수 있다.</h2>
<p>최근 LLM이 장황한 답변을 출력하는 원인이 선호 학습(preference learning)에 있다고 보는 연구들이 등장했다. 특히 RLHF(Reinforcement Learning from Human Feedback)에서는 사람이 더 선호한 답변을 바탕으로 보상 모델(Reward Model)을 학습시키는데, 이 과정에서 긴 답변이 더 성실하고 도움이 되는 답변처럼 평가되는 편향이 함께 들어갈 수 있다. ALBM 논문은 보상 모델이 응답 길이를 과도하게 중시하는 길이 편향(length bias)을 보일 수 있으며, 이 편향이 지나치게 장황한 응답을 유도해 정렬 품질을 해칠 수 있다고 지적한다. 저자들은 응답 길이가 인간 평가에서 문맥 의존적인 요소라고 보고, 길이 편향을 무조건 제거하기보다 질문의 성격에 따라 다르게 다루어야 한다고 제안한다.<sup id="fn3"><a href="#fn3-desc">[3]</a></sup> 즉 문제는 길이 그 자체가 아니라, 길이가 품질의 대리 지표처럼 오인되는 상황에 있다.</p>
<p>이러한 관점에서 보면 장황함은 &quot;평가 신호의 왜곡된 학습 결과&quot;에 가깝다. 모델은 더 좋은 답을 하도록 학습된 것이지만, 실제로는 더 좋게 <strong>보이는</strong> 답의 형식을 함께 학습한 것일 수 있다. 그 결과 지나치게 설명을 늘어놓는 방향이 강화된다. 결국 선호 학습의 문제는 길이와 품질을 충분히 분리하지 못한 채 선호를 학습한다는 점이다.</p>
<h2 id="32-dpo는-구조적으로-길이-편향을-증폭시킬-수-있다">3.2. DPO는 구조적으로 길이 편향을 증폭시킬 수 있다.</h2>
<p>RLHF를 간소화한 DPO(Direct Preference Optimization)도 역시 장황함 문제를 피하지 못한다. ACL 2024 Findings의 Disentangling Length from Quality in Direct Preference Optimization 논문은 DPO에서 길이 편향의 적극적 활용이 나타난다고 보고한다. 저자들은 이를 out-of-distribution bootstrapping과 연결하며, DPO가 학습 과정에서 길이를 품질의 손쉬운 신호로 이용할 수 있다고 설명한다. 이 논문에 따르면, 길이가 긴 응답이 우연히 더 자주 선택되면, DPO는 그 경향을 그대로 학습하는 데서 멈추지 않는다. 학습이 진행되면서 모델은 길이를 늘리는 방식 자체를 유리한 전략으로 활용할 수 있다. 저자들은 길이 정규화를 도입해 이 문제를 완화했고, 길이를 통제한 평가에서 최대 20%의 win rate 개선을 보고했다.<sup id="fn4"><a href="#fn4-desc">[4]</a></sup> 즉 DPO의 장황함 문제는 긴 답을 좋아한다는 단순 취향이 아니라, 길이를 더 쉽게 최적화할 수 있다는 구조적 성질에 있다.</p>
<p>이 문제를 더 직접적으로 다룬 것이 EMNLP 2024의 SamPO다. 이 논문은 DPO 알고리즘 내부에 &#39;응답 길이에 대한 구조적 의존성(algorithmic length reliance)&#39;이 숨어 있다고 지적한다. 이 논문에 따르면, DPO에서 선택된 응답이 더 길면 토큰 수가 많아져 보상이 과대평가되고, 더 짧으면 품질이 좋아도 보상이 과소평가될 수 있다는 것이다. 이를 완화하기 위해 SamPO는 선택된 응답과 거절된 응답에서 동일한 수의 토큰만 각각 추출해 비교하는 down sampling을 도입했고, 여러 벤치마크에서 장황함 완화와 5%에서 12% 수준의 성능 개선을 보고했다.<sup id="fn5"><a href="#fn5-desc">[5]</a></sup></p>
<p>정리하면, 선호학습이 길이를 품질처럼 오해하는 문제라면, DPO는 그 오해를 학습 과정에서 더 강하게 밀어붙일 수 있는 구조를 가진다고 할 수 있다. 그래서 장황함은 정렬 알고리즘이 선택한 <strong>손쉬운 최적화 경로</strong>일 수 있다.</p>
<hr>
<h1 id="4-말이-많으면-무엇이-문제가-될까">4. 말이 많으면 무엇이 문제가 될까?</h1>
<h2 id="41-사용자-경험ux의-문제">4.1. 사용자 경험(UX)의 문제</h2>
<p>장황한 답변은 먼저 읽기 경험을 해친다. 사용자가 원하는 것은 대개 &quot;더 많은 텍스트&quot;가 아니라 &quot;더 빠른 해결&quot;이다. 그런데 짧게 끝날 수 있는 질문에 긴 답변이 나오면, 사용자는 불필요한 문장들을 읽으며 시간 낭비를 해야 한다. YapBench<sup id="fn1"><a href="#fn1-desc">[1]</a></sup>가 측정한 것도 바로 이러한, 사용자에게 직접 드러나는 과잉 생성(user-visible over-generation)이다. 짧은 답이 적절한 상황에서 모델이 계속 설명을 붙이는 현상은, 단순한 스타일 차이가 아니라 사용자 경험의 문제로 드러난다.</p>
<p>이 문제는 모호한 입력에서 더 두드러진다. 모호한 입력에서 짧게 되묻기보다 일반론을 길게 늘어놓는 빈칸 메우기식 설명(vacuum-filling)은 UX를 더 악화시킨다. 사용자는 아직 답을 받을 준비가 되지 않았는데, 모델이 먼저 과잉 설명을 시작하기 때문이다. 이때 문제는 정보 부족이 아니라, 응답 길이와 응답 타이밍이 사용자 의도와 어긋난다는 데 있다.</p>
<h2 id="42-정확한-소통의-문제">4.2. 정확한 소통의 문제</h2>
<p>장황함은 소통의 정확성도 해친다. Brevity is the soul of sustainability<sup id="fn2"><a href="#fn1-desc">[2]</a></sup>는 많은 LLM이 최소 답변 외에 중복 정보나 추가 정보를 함께 넣는다고 보고했다. 질문에 대한 직접 답이 이미 제시된 뒤에도, 배경 설명이나 일반론 등이 계속 덧붙는다는 뜻이다. 이런 정보가 항상 틀린 것은 아니지만, 질문의 초점을 흐릴 수 있다.
핵심 답과 부가 설명의 경계가 흐려지면, 사용자는 무엇이 직접적인 답이고 무엇이 주변 설명인지 스스로 걸러내야 한다. 즉 정보가 많아질수록 소통이 정교해지는 것이 아니라, 오히려 질문의 중심이 희석되는 방향으로 갈 수 있다. 이는 앞에서 본 양의 격률의 관점에서도 분명한 위배다.</p>
<h2 id="43-비용과-자원의-문제">4.3. 비용과 자원의 문제</h2>
<p>장황함은 비용 문제이기도 하다. YapBench는 추론 비용이 생성 토큰 수에 거의 선형적으로 비례하기 때문에, 불필요하게 긴 응답은 곧바로 더 많은 에너지 사용으로 이어진다고 지적한다. 같은 품질의 답을 더 짧게 줄 수 있다면, 길게 말하는 것은 계산 자원을 낭비하는 셈이다.
이 문제는 실제 절감 효과로도 확인된다. Brevity is the soul of sustainability는 길이 축소를 유도하는 단순한 프롬프트만으로도 응답 길이를 줄이면서 25–60% 수준의 에너지 최적화가 가능했다고 보고했다. 이는 장황함이 단지 읽기 피로의 문제를 넘어, 서비스 운영 비용과 추론 효율까지 좌우하는 문제임을 보여준다.</p>
<hr>
<h1 id="5-llm이-필요한-말만-하게-하려면">5. LLM이 필요한 말만 하게 하려면</h1>
<p>그렇다면 어떻게 해야 LLM의 장황함을 줄이고 필요한 말만 하게끔 만들 수 있을까? 이 장에서는 LLM의 장황함을 줄이기 위한 방법으로, 프롬프트, 길이 지시 추종, 보상 모델 교정, 정렬 알고리즘 수정, 추론 예산 최적화라는 다섯 가지 층위를 중심으로 살펴본다.</p>
<h2 id="51-프롬프트-엔지니어링을-통한-해결">5.1. 프롬프트 엔지니어링을 통한 해결</h2>
<p>가장 간단한 방법은 프롬프트를 바꾸는 것이다. Brevity is the soul of sustainability<sup id="fn2"><a href="#fn2-desc">[2]</a></sup>는 &quot;짧게 답하라(Answer briefly)&quot;, &quot;최소한의 답변만 제공하라(Only provide the minimal answer)&quot;, &quot;불필요한 텍스트나 대화체적 표현을 생성하지 마라. (not to produce redundant text or conversational enhancements)&quot;, &quot;N단어 이내로 답하라&quot; 같은 지시를 비교했고, 이런 프롬프트가 거의 모든 모델에서 응답 길이를 줄였다고 보고했다. 같은 논문은 적절한 프롬프트만으로도 응답 품질을 유지하면서 에너지 사용을 25–60%까지 줄일 수 있다고 정리한다. 특히 &quot;최소한의 답변만 제공하라&quot;라는 지시는 약 60%의 응답 길이를 줄여 가장 높은 단축률을 보였다.</p>
<h2 id="52-길이-지시를-따르도록-별도로-학습시키기">5.2. 길이 지시를 따르도록 별도로 학습시키기</h2>
<p>프롬프트만으로 부족하다면, 길이 제약을 따르는 능력 자체를 학습시킬 수 있다. EMNLP 2025의 Following Length Constraints in Instructions<sup id="fn6"><a href="#fn6-desc">[6]</a></sup>는 원하는 길이 정보를 포함한 지시문으로 모델을 훈련했고, 이렇게 학습된 모델이 길이 지시가 포함된 평가에서 GPT-4, Llama 3, Mixtral 같은 일반 instruction 모델보다 더 잘 통제된 출력을 보였다고 보고했다. 길이 제어를 부가 옵션이 아니라 instruction following의 일부로 본 셈이다.</p>
<h2 id="53-reward-model의-길이-편향-자체를-교정하기">5.3. Reward Model의 길이 편향 자체를 교정하기</h2>
<p>문제가 보상 신호에 있다면, 보상 모델을 직접 교정하는 방법도 있다. Post-hoc Reward Calibration은 추가 데이터나 재학습 없이 길이 편향 항을 추정해 제거하는 방법을 제안했고, RewardBench의 33개 reward model에서 평균 3.11의 성능 향상과 length-controlled win rate의 10% 개선을 보고했다.<sup id="fn7"><a href="#fn7-desc">[7]</a></sup> 핵심은 짧게 만들기보다, 보상 모델이 길이를 품질로 오인하지 않게 만드는 데 있다.</p>
<h2 id="54-dpo-계열-알고리즘을-길이에-둔감하게-바꾸기">5.4. DPO 계열 알고리즘을 길이에 둔감하게 바꾸기</h2>
<p>DPO 쪽에서는 목적함수 자체를 손보는 연구가 나왔다. Disentangling Length from Quality in Direct Preference Optimization는 길이 exploitation을 막는 정규화를 제안했고, 길이를 통제한 평가에서 최대 20%의 win rate 개선을 보고했다.<sup id="fn4"><a href="#fn4-desc">[4]</a></sup> 이어서 SamPO는 DPO 내부의 algorithmic length reliance를 문제로 지적하고, 선택·거절 응답에서 동일한 수의 토큰만 비교하는 down-sampled KL divergence를 도입해 장황함을 완화하면서 5–12%의 성능 개선을 얻었다.<sup id="fn5"><a href="#fn5-desc">[5]</a></sup> 해결의 핵심은 답을 짧게 강제하는 것이 아니라, 길이가 품질의 지름길로 쓰이지 못하게 막는 데 있다.</p>
<h2 id="55-reasoning-model의-길이-예산을-직접-최적화하기">5.5. Reasoning Model의 길이 예산을 직접 최적화하기</h2>
<p>추론형 모델(reasoning model)에서는 아예 토큰 예산을 학습 목표에 넣는 방향이 등장했다. ALP는 문제별 solve rate에 따라 길이 패널티를 다르게 주어 쉬운 문제에는 짧게, 어려운 문제에는 충분히 길게 생각하게 만들고, 평균 토큰 사용량을 50% 줄이면서 성능 저하를 크게 만들지 않았다고 보고했다.<sup id="fn8"><a href="#fn8-desc">[8]</a></sup> LACONIC은 목표 토큰 예산을 RL objective에 직접 넣어 수학 추론에서 출력 길이를 50% 이상 줄이면서 pass@1을 유지하거나 개선했고, 일반 지식과 다국어 평가에서도 44% 적은 토큰으로 성능을 유지했다고 보고했다.<sup id="fn9"><a href="#fn9-desc">[9]</a></sup> 이 흐름은 모든 답을 짧게 만드는 것이 아니라, 문제 난이도에 맞게 길이를 배분하는 방향에 가깝다.</p>
<hr>
<h1 id="6-결론">6. 결론</h1>
<p>LLM의 장황함은 단순히 말투의 문제가 아니다. 이 글에서 보았듯이, 그것은 화용론의 관점에서는 양의 격률을 자주 벗어나는 현상으로 읽을 수 있고, 기술적 관점에서는 선호 학습, 기술적 관점에서는 선호 학습, 보상 모델의 길이 편향, DPO의 구조적 특성이 맞물려 생겨난 결과로 볼 수 있다. 최근 연구들이 장황함을 별도의 벤치마크로 측정하고, 길이 편향을 정렬 문제의 핵심 변수로 다루기 시작한 것도 이 현상이 더 이상 사소한 스타일 문제가 아님을 보여준다.</p>
<p>중요한 것은, 긴 답변이 언제나 더 좋은 답변은 아니라는 점이다. 질문에 대한 직접적인 답이 이미 제시된 뒤에도 배경 설명, 일반론, 예외 사항이 계속 덧붙으면, 사용자는 더 많은 정보를 받는 대신 더 높은 독해 비용을 치르게 된다. 그 결과 사용자 경험은 나빠지고, 질문의 초점은 흐려지며, 불필요한 토큰 생성으로 비용과 자원도 더 많이 소모된다.</p>
<p>그렇기 때문에 해결도 한 가지 방법으로 끝나지 않는다. 프롬프트 엔지니어링은 가장 손쉬운 출발점이고, 길이 제약을 따르도록 별도로 학습시키는 방법은 길이 제어를 instruction following의 일부로 만든다. 더 나아가 보상 모델의 길이 편향을 교정하거나, DPO 계열 알고리즘이 길이를 손쉬운 편법으로 삼지 못하게 바꾸거나, 추론형 모델에서 토큰 예산 자체를 최적화하는 접근도 등장하고 있다. 최근 연구의 흐름은 공통적으로, 응답을 무조건 짧게 만들려는 것이 아니라 질문의 성격과 난이도에 맞게 적절한 길이로 응답하게 만들려는 방향으로 향하고 있다.</p>
<p>결국 앞으로의 정렬(alignment)에서 중요한 것은 필요한 만큼만 말하게 만드는 것이다. 좋은 LLM은 많은 정보를 쏟아내는 모델이 아니라, 사용자가 묻는 범위 안에서 가장 적절한 정보량을 선택할 수 있는 모델이다. 그런 점에서 양의 격률은 오늘날의 LLM을 이해하고 앞으로의 방향을 가늠하게 해주는 중요한 기준이라고 할 수 있다.</p>
<hr>
<h1 id="참고-논문">참고 논문</h1>
<p><a id="fn1-desc" href="#fn1">[1]</a> <a href="https://arxiv.org/abs/2601.00624">Do Chatbot LLMs Talk Too Much? The YapBench Benchmark</a> (arXiv, 2026)
<a id="fn2-desc" href="#fn2">[2]</a> <a href="https://aclanthology.org/2025.findings-acl.1125">Brevity is the soul of sustainability: Characterizing LLM response lengths</a> (ACL Findings, 2025)
<a id="fn3-desc" href="#fn3">[3]</a> <a href="https://aclanthology.org/2025.findings-naacl.169">Adaptive Length Bias Mitigation in Reward Models for RLHF</a> (NAACL Findings, 2025)
<a id="fn4-desc" href="#fn4">[4]</a> <a href="https://aclanthology.org/2024.findings-acl.297">Disentangling Length from Quality in Direct Preference Optimization</a> (ACL Findings, 2024)
<a id="fn5-desc" href="#fn5">[5]</a> <a href="https://aclanthology.org/2024.emnlp-main.60">Eliminating Biased Length Reliance of Direct Preference Optimization via Down-Sampled KL Divergence</a> (EMNLP, 2024)
<a id="fn6-desc" href="#fn6">[6]</a> <a href="https://aclanthology.org/2025.emnlp-main.1233">Following Length Constraints in Instructions</a> (EMNLP, 2025)
<a id="fn7-desc" href="#fn7">[7]</a> <a href="https://arxiv.org/abs/2409.17407">Post-hoc Reward Calibration: A Case Study on Length Bias</a> (arXiv, 2024)
<a id="fn8-desc" href="#fn8">[8]</a> <a href="https://arxiv.org/abs/2506.05256">Just Enough Thinking: Efficient Reasoning with Adaptive Length Penalties Reinforcement Learning</a> (arXiv, 2025)
<a id="fn9-desc" href="#fn9">[9]</a> <a href="https://arxiv.org/abs/2602.14468">LACONIC: Length-Aware Constrained Reinforcement Learning for LLM</a> (arXiv, 2026)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[순간의 최선으로 살아간다는 것]]></title>
            <link>https://velog.io/@kyle-bong/%EA%B0%9C%EB%B0%9C%EC%9E%90%EC%9D%98-%EA%B8%80%EC%93%B0%EA%B8%B0-%EB%8B%A5%ED%84%B0%EC%8A%A4%ED%8A%B8%EB%A0%88%EC%9D%B8%EC%A7%80%EC%B2%98%EB%9F%BC-%EC%84%A0%ED%83%9D%ED%95%A0-%EC%88%98-%EC%97%86%EB%8A%94-%EC%9D%B8%EA%B0%84%EC%9D%98-%EC%84%A0%ED%83%9D-%EB%B0%A9%EB%B2%95-%EC%88%9C%EA%B0%84%EC%9D%98-%EC%B5%9C%EC%84%A0%EC%9C%BC%EB%A1%9C-%EC%82%B4%EC%95%84%EA%B0%84%EB%8B%A4%EB%8A%94-%EA%B2%83</link>
            <guid>https://velog.io/@kyle-bong/%EA%B0%9C%EB%B0%9C%EC%9E%90%EC%9D%98-%EA%B8%80%EC%93%B0%EA%B8%B0-%EB%8B%A5%ED%84%B0%EC%8A%A4%ED%8A%B8%EB%A0%88%EC%9D%B8%EC%A7%80%EC%B2%98%EB%9F%BC-%EC%84%A0%ED%83%9D%ED%95%A0-%EC%88%98-%EC%97%86%EB%8A%94-%EC%9D%B8%EA%B0%84%EC%9D%98-%EC%84%A0%ED%83%9D-%EB%B0%A9%EB%B2%95-%EC%88%9C%EA%B0%84%EC%9D%98-%EC%B5%9C%EC%84%A0%EC%9C%BC%EB%A1%9C-%EC%82%B4%EC%95%84%EA%B0%84%EB%8B%A4%EB%8A%94-%EA%B2%83</guid>
            <pubDate>Sun, 05 Apr 2026 22:53:28 GMT</pubDate>
            <description><![CDATA[<h1 id="도입">도입</h1>
<p>영화 &lt;어벤져스: 엔드게임&gt;에서 닥터스트레인지는 수 억 가지의 경우의 수를 모두 관찰한 뒤 단 한 가지, 인간이 승리할 수 있는 경로를 발견해낸다. 이러한 그의 선택 방식은 마치 가능한 미래를 끝까지 검토하는 완전탐색(Exhaustive Search)을 수행하는 것처럼 보인다.</p>
<p>반면 일반적인 인간은 그렇게 살 수 없다. 우리는 어떤 선택이 몇 년 뒤 어떤 결과로 이어질지 미리 확인할 수 없다. 진학, 취업, 이직, 관계, 투자 같은 중요한 결정도 마찬가지다. 삶은 정답을 보고 고르는 과정이 아니라, 불완전한 정보 속에서 먼저 선택하고 나중에 결과를 알게 되는 과정에 가깝다.</p>
<p>이 점에서 인간의 선택은 그리디 알고리즘(Greedy Algorithm)을 닮아 있다. 그리디 알고리즘은 매 단계에서, 그 순간 가장 유리해 보이는 선택을 하는 방식이다. 예를 들어 편의점 직원이 거스름돈을 줄 때, 가장 적은 동전 개수로 거슬러주기 위해 보통은 큰 단위의 동전부터 최대한 사용한다. 먼저 500원짜리로 남은 금액을 최대한 채우고, 그다음 100원, 50원, 10원, 1원 순으로 내려가며 남은 금액을 채우는 방식이다. 이 과정에서는 미래의 모든 조합을 하나씩 비교하지 않는다. 다만 그 순간 가장 효율적으로 보이는 선택을 반복한다. 인간도 대개 지금 손에 쥔 정보와 시간, 감정, 자원 안에서 가장 낫다고 여겨지는 길을 택한다. 우리는 미래 전체를 계산할 수 없기 때문에, 결국 현재의 최선으로 보이는 선택을 반복하며 살아간다.</p>
<p>문제는 지금의 최선이 삶 전체의 최선과 일치하지 않을 수 있다는 점이다. 인간은 늘 최선을 다해 선택하면서도, 그 선택이 더 긴 시간의 관점에서는 다른 의미를 가질 수 있는 구조 속에 놓여 있다.</p>
<p>그렇다면 왜 우리는 이런 방식으로 선택할 수밖에 없는가. 그리고 미래를 완전히 알 수 없는 존재들에게 좋은 선택이란 무엇을 뜻하는가. 이 글은 닥터스트레인지의 완전탐색과 인간의 그리디한 선택을 비교하면서, 어떻게 해야 주어진 조건에서 바람직한 선택을 할 수 있는가를 생각해본다.</p>
<h1 id="1-닥터스트레인지와-인간의-차이">1. 닥터스트레인지와 인간의 차이</h1>
<p>닥터스트레인지와 인간의 차이는 선택 이전에 얼마나 많은 미래를 볼 수 있는가에 있다. 닥터스트레인지는 수많은 경우의 수를 미리 확인한 뒤, 그중에서 가장 나은 결과로 이어질 가능성이 높은 길을 고른다. 이 점에서 그의 선택은 마치 완전탐색을 수행한 뒤 결론에 도달하는 과정처럼 보인다. 가능한 경로들을 충분히 검토하고, 그중 가장 적절한 해답을 택한다는 점에서 그렇다.</p>
<p>반면 인간은 전혀 다른 조건 위에서 살아간다. 우리는 어떤 결정을 내리기 전에 그 결정이 가져올 미래를 끝까지 확인할 수 없다. 대학 전공을 고를 때도, 첫 직장을 선택할 때도, 이직을 고민할 때도, 어떤 관계를 시작하거나 끝낼 때도 우리는 늘 일부 정보만 가진 채로 판단한다. 지금은 좋아 보이는 선택이 몇 년 뒤에는 후회가 될 수도 있고, 당시에는 손해처럼 보였던 선택이 나중에는 삶의 방향을 바꾸는 전환점이 될 수도 있다. 인간은 선택의 결과를 본 뒤에 선택하는 존재가 아니라, 선택한 뒤에야 그 결과를 살아내는 존재다.</p>
<p>바로 이 점에서 인간의 삶에는 필연적으로 불확실성이 스며든다. 닥터스트레인지에게 미래는 비교 가능한 대상이다. 그는 여러 경로를 나란히 놓고 어느 쪽이 더 나은지 판단할 수 있다. 그러나 인간에게 미래는 비교의 대상이 아니라 상상의 대상이다. 우리는 몇 가지 시나리오를 떠올릴 수는 있어도, 그 모든 분기를 실제로 확인할 수는 없다. 어떤 선택 앞에서 우리가 할 수 있는 일은 많지 않다. 기껏해야 지금 가진 정보, 과거의 경험, 현재의 욕망, 막연한 기대를 바탕으로 한 방향을 정하는 것뿐이다.</p>
<p>이 차이는 선택의 성격 자체를 바꾼다. 닥터스트레인지의 선택은 결과를 검토한 뒤의 선택이다. 반면 인간의 선택은 결과를 알지 못한 채 이루어지는 선택이다. 그래서 우리의 결단에는 언제나 추측과 감정, 망설임과 우연이 함께 섞여 있다. 인간은 충분히 계산한 뒤 움직이는 존재가 아니라, 불완전한 계산 속에서도 결국 움직여야 하는 존재다. 바로 그 조건 때문에 인간은 멀리 있는 전체보다, 지금 눈앞에 있는 국면에 먼저 반응하는 방식으로 선택하게 된다.</p>
<h1 id="2-인간의-선택은-왜-그리디-알고리즘을-닮는가">2. 인간의 선택은 왜 그리디 알고리즘을 닮는가</h1>
<p>인간의 선택이 그리디 알고리즘을 닮는 이유는, 우리는 언제나 제한된 정보와 제한된 시간 속에서 결정해야 하는 존재이기 때문이다. 그리디 알고리즘은 지금 눈앞에 놓인 조건 안에서 가장 효율적인 경로를 택하고, 그 선택을 다음 단계로 이어간다. 인간의 삶도 대체로 이런 방식으로 움직인다. 우리는 삶 전체를 완전하게 조망할 수 없기 때문에, 결국 지금 주어진 조건 속에서 가장 나아 보이는 선택을 할 수밖에 없다.</p>
<p>우리는 대학 전공을 정할 때 앞으로 30년의 삶을 모두 계산해서 결정하지는 않는다. 첫 직장을 고를 때도, 어떤 관계를 시작할 때도, 이직을 고민할 때도, 지금 가진 정보와 자원 안에서 가장 괜찮아 보이는 선택을 한다. 지금 더 높은 연봉을 주는 곳, 당장 더 안정적으로 보이는 길, 즉시 더 큰 만족을 주는 관계, 현재의 나에게 덜 불안한 선택을 택한다. 이 선택들은 모두 당시의 조건 안에서는 충분히 합리적이다. 인간은 미래 전체를 알 수 없기 때문에, 결국 현재의 최선처럼 보이는 선택을 붙잡을 수밖에 없다.</p>
<p>그리디한 선택의 핵심은 멀리 있는 가능성보다 지금 더 선명하게 보이는 보상에 먼저 반응한다는 데 있다. 인간도 마찬가지다. 우리는 장기적으로 더 큰 의미를 가질 수 있는 선택보다, 당장 비교할 수 있고 즉시 체감할 수 있는 조건에 더 쉽게 끌린다. 연봉, 안정성, 타인의 인정, 현재의 편안함 같은 것들은 지금 바로 보인다. 그래서 인간의 선택은 비합리적이어서가 아니라, 현재에 더 잘 보이는 신호에 합리적으로 반응하기 때문에 그리디 알고리즘을 닮는다.</p>
<p>우리는 삶이라는 거대한 문제 전체를 한 번에 풀지 못한다. 대신 지금 이 순간의 판단을 통해 조금씩 앞으로 나아간다. 다시 말해 인간은 전체 인생의 정답을 먼저 구한 뒤 살아가는 존재가 아니라, 매 순간 부분적인 최선을 선택하며 인생의 방향을 뒤늦게 만들어가는 존재다.</p>
<h1 id="3-순간의-최선과-삶-전체의-최선은-왜-어긋나는가">3. 순간의 최선과 삶 전체의 최선은 왜 어긋나는가</h1>
<p>순간의 최선과 삶 전체의 최선이 어긋나는 이유는, 삶이 독립적인 한 번의 선택으로 이루어지지 않기 때문이다. 어떤 선택은 그 자체로 끝나지 않고, 다음에 가능한 선택들의 범위를 바꾼다. 다시 말해 삶의 선택은 하나의 점이 아니라 경로를 만든다. 그래서 어떤 순간에 가장 합리적으로 보였던 선택이, 더 긴 시간의 관점에서는 오히려 가능성을 좁히는 선택이 될 수 있다.</p>
<p>여기에는 국소 최적해(Local Optimum)와 전역 최적해(Global Optimum)의 차이가 있다. 국소 최적해는 지금 이 자리에서 가장 좋아 보이는 해답이다. 반면 전역 최적해는 전체 경로를 모두 고려했을 때 가장 좋은 해답이다. 문제는 이 둘이 항상 일치하지 않는다는 점이다. 어떤 문제에서는 매 단계의 최선이 전체의 최선으로 이어지지만, 어떤 문제에서는 그렇지 않다. 삶은 대체로 후자에 가깝다.</p>
<p>이를테면 지금의 직장에 남는 일은 그 순간에는 매우 합리적일 수 있다. 수입이 안정적이고, 직함이 보장되며, 주변의 인정도 받을 수 있기 때문이다. 하지만 그 자리가 배움의 폭을 좁히고, 몇 년 뒤 더 넓은 가능성으로 이동할 힘을 약하게 만든다면 이야기는 달라진다. 반대로 당장은 연봉이 줄고 불확실성이 커지더라도, 더 많이 배우고 더 넓은 역할을 맡을 수 있는 자리로 옮기는 선택은 장기적으로 더 큰 경로를 열 수 있다. 순간의 판단이 틀렸기 때문이 아니라, 안정과 성장이라는 두 기준이 서로 다른 시간축에서 작동하기 때문이다.</p>
<p>관계도 비슷하다. 당장의 편안함을 유지하기 위해 깊은 책임이 따르는 관계를 미루는 선택은 그 순간에는 합리적으로 보일 수 있다. 갈등을 피하고, 헌신하지 않고, 지금의 자유를 지키는 쪽이 더 가볍게 느껴질 수 있기 때문이다. 하지만 모든 관계는 시간 속에서 형성된다. 오랫동안 책임을 미루는 태도는 결국 함께 쌓을 수 있었던 신뢰와 미래의 가능성을 좁힐 수 있다. 지금의 편안함이 나중의 단절이나 공허함으로 이어질 수 있는 이유가 여기에 있다.</p>
<p>이러한 어긋남은 삶이 단순히 결과의 합으로 이루어지지 않는다는 사실과도 관련이 있다. 각각의 선택이 서로 영향을 주고받는다. 하나의 선택은 다음 선택의 조건이 되고, 하나의 포기는 다음 가능성을 좁힌다. 그래서 각 순간의 점수가 높다고 해서 전체 점수도 높아지지 않는다. 오히려 어떤 순간에는 당장의 이익을 조금 포기해야 더 긴 흐름에서 유리한 위치를 만들 수 있다. 문제는 우리가 그 전체 흐름을 미리 완전히 볼 수 없다는 데 있다.</p>
<p>여기에 시간차도 작용한다. 순간의 최선은 대개 즉각적인 보상을 기준으로 판단되기 쉽다. 돈, 안정, 인정, 편안함, 익숙함 같은 것들은 지금 곧바로 체감된다. 반면 삶 전체의 최선은 대개 늦게 드러난다. 성장, 방향, 관계의 깊이, 자기 이해, 삶의 밀도 같은 것들은 시간이 지나야 비로소 의미를 드러낸다. 인간이 당장의 신호에 더 민감하게 반응하는 것은 자연스러운 일이지만, 바로 그 점 때문에 순간의 최선은 종종 장기적인 최선과 어긋난다.</p>
<p>그래서 후회는 언제나 비합리성의 증거만은 아니다. 후회는 오히려 서로 다른 시간 척도 사이의 충돌에서 생겨나는 감정에 가깝다. 과거의 나는 그 시점의 정보와 조건 안에서 나름의 최선을 선택했다. 하지만 현재의 나는 더 긴 결과를 본 뒤 그 선택을 다시 해석한다. 후회는 선택이 반드시 잘못되었다는 뜻이 아니라, 국소적인 판단과 전체적인 결과가 서로 다른 방향을 가리켰다는 사실을 뒤늦게 깨닫는 경험일 수 있다.</p>
<p>결국 순간의 최선과 삶 전체의 최선이 어긋나는 것은 인간이 어리석어서가 아니다. 그것은 삶이 경로의존성(Path Dependence)을 가진 과정이기 때문이다. 우리는 선택할 때마다 하나의 답만 고르는 것이 아니라, 동시에 다른 가능성들을 닫거나 미루게 된다. 그리고 그 변화는 시간이 흐른 뒤에야 드러난다. 삶의 어려움은 바로 여기에 있다. 우리는 전체 지도를 보지 못한 채 한 걸음씩 전진해야 하고, 그 과정에서 지금의 최선이 나중의 최선과 다를 수 있다는 사실을 끝내 받아들여야 한다.</p>
<h1 id="4-그럼에도-우리는-왜-그렇게-선택할-수밖에-없는가">4. 그럼에도 우리는 왜 그렇게 선택할 수밖에 없는가</h1>
<p>그럼에도 우리는 그렇게 선택할 수밖에 없다. 삶은 정지된 문제풀이가 아니라, 시간이 흐르는 가운데 진행되는 과정이기 때문이다. 어떤 선택은 오래 미룰 수 있지만, 어떤 선택은 미루는 순간 이미 다른 결과를 낳는다. 입시의 원서 접수 기간은 지나가고, 채용 공고는 마감되며, 관계의 타이밍도 흘러간다. 삶에서는 선택 자체만큼이나 선택의 시점도 중요하다.</p>
<p>이 때문에 인간은 완전한 판단을 기다릴 수 없다. 모든 정보를 충분히 모은 뒤 결정하고 싶지만, 대개는 그 모든 정보가 끝내 주어지지 않는다. 설령 더 많은 정보를 얻는다 해도, 그 사이에 상황은 다시 변한다. 선택의 대상은 가만히 있지 않는다. 직장은 변하고, 사람은 변하고, 나 자신도 변한다. 그래서 삶에서는 정보를 더 모으는 일이 언제나 더 나은 판단으로 이어지지 않는다.</p>
<p>설사 모든 정보가 즉시 주어진다고 하더라도 모든 가능성을 끝까지 계산하는 일은 현실적으로 불가능하다. 삶의 중요한 선택일수록 고려해야 할 변수는 많고, 인간의 판단 능력은 제한되어 있다. 그래서 우리는 충분히 알게 된 뒤 선택하는 것이 아니라, 다 알지 못한 채 때가 오면 선택해야 한다.</p>
<p>선택하지 않는 것도 결국 하나의 선택이라는 점 역시 중요하다. 우리는 종종 더 확실해질 때까지 결정을 미루고 싶어 한다. 하지만 삶에서는 유보가 중립 상태로 남아 있지 않다. 답장을 보내지 않는 것도 관계의 방향을 만든다. 지원하지 않는 것도 하나의 진로를 포기하는 일이다. 떠나지 않는 것도 현재의 자리에 남겠다는 결정이 된다. 그래서 인간은 선택을 피할 수 없다. 선택의 부담에서 벗어나기 위해 결정을 미루더라도, 삶은 그 유예마저 하나의 선택으로 처리한다. 삶에서는 그 미룸조차 방향을 만든다.</p>
<p>게다가 우리는 결과만을 위해 사는 존재도 아니다. 인간은 계산만으로 움직이지 않는다. 우리는 두려움과 애정, 책임과 욕망, 체면과 희망 사이에서 선택한다. 그래서 인간의 선택은 순수한 계산의 산물이 아니라, 살아 있는 시간 속에서 감정과 책임을 함께 떠안는 결단이 된다.</p>
<p>결국 우리는 최선의 방법을 몰라서가 아니라, 다른 방법으로는 살아갈 수 없기 때문에 그렇게 선택한다. 미래를 완전히 알 수 없고, 시간을 멈출 수도 없으며, 모든 가능성을 끝까지 계산할 수도 없기 때문이다. 그리디한 선택은 인간의 약점이라기보다, 유한한 존재가 불확실한 세계를 통과하는 방식이다. 삶은 완전탐색을 허락하지 않는다. 그래서 우리는 매 순간 불완전한 판단 위에 발을 디디고, 그럼에도 계속 다음 선택으로 나아갈 수밖에 없다.</p>
<h1 id="5-미래를-모른-채-살아간다는-것">5. 미래를 모른 채 살아간다는 것</h1>
<p>미래를 모른 채 살아간다는 것은, 정답이 없는 상태에서 계속 결정을 내려야 한다는 뜻이다. 우리는 어떤 선택이 가장 좋은 결과로 이어질지 끝내 확신할 수 없다. 그럼에도 삶은 멈추지 않고, 시간은 판단을 요구한다. 그래서 인간의 삶에는 언제나 약간의 모험이 포함된다.</p>
<p>이때 중요한 것은 미래를 완전히 예측하는 능력보다, 불확실성을 견디는 태도다. 삶의 많은 순간은 확신이 아니라 불안 속에서 지나간다. 어느 길이 더 나은지 분명하지 않을 때도 있고, 이미 내린 선택이 옳았는지 끝내 확인할 수 없는 경우도 있다. 미래를 모른 채 살아간다는 것은 바로 그런 불투명함을 제거하지 못한 채 살아가는 일이다. 그러므로 모든 것을 알아내려고 하기보다는 알 수 없는 것들을 품은 채 앞으로 나아가는 태도가 더 바람직할 수 있다.</p>
<p>그런 의미에서 선택은 능력만으로 완성되지 않는다. 선택 이후를 견디는 힘도 필요하다. 어떤 결정은 시간이 지나야 의미가 드러나고, 어떤 결정은 한동안 실패처럼 보이다가 뒤늦게 다른 얼굴을 드러내기도 한다. 그래서 삶에서는 선택의 순간만큼이나 선택 이후의 해석도 중요하다. 같은 선택이라도 어떤 태도로 받아들이고, 어떤 방식으로 살아내느냐에 따라 전혀 다른 경험이 될 수 있다. 인간은 미래를 예측할 수 없지만, 지나온 선택에 의미를 부여할 수는 있다.</p>
<p>이 말은 아무 선택이나 정당화할 수 있다는 뜻은 아니다. 오히려 그 반대다. 미래를 모른다는 사실은 우리를 더 신중하게 만들기도 한다. 확실성을 가질 수 없기 때문에, 우리는 자신이 무엇을 중요하게 여기는지 더 또렷하게 물어야 한다. 결국 중요한 것은 결과를 예측하는 능력보다, 선택의 기준을 분명히 하는 일이다. 미래를 모른 채 살아간다는 것은 결국 결과를 통제할 수 없는 자리에서, 적어도 선택의 기준만큼은 스스로 세워야 한다는 뜻이기도 하다.</p>
<p>그래서 삶에서 중요한 것은 언제나 가장 유리한 선택을 하는 것이 아닐 수도 있다. 때로 더 중요한 것은 내가 어떤 사람이 되고 싶은지에 맞는 선택을 하는 일이다. 결과는 예상과 다를 수 있고, 경로는 얼마든지 휘어질 수 있다. 하지만 그 속에서도 어떤 기준으로 선택했는가는 남는다. 인간은 전역 최적해를 알지 못한 채 살아가지만, 어떤 방향을 향해 살 것인지는 스스로 정할 수 있다. 미래를 모른다는 사실은 우리를 무력하게 만들기도 하지만, 동시에 가치와 태도의 중요성을 더 선명하게 드러낸다.</p>
<p>결국 미래를 모른 채 살아간다는 것은 불완전함을 실패로만 보지 않는 일이다. 우리는 늘 부분적인 정보만 가진 채 선택하고, 지나고 나서야 그 선택의 의미를 조금씩 이해한다. 그렇기 때문에 삶은 완성된 지도를 따라가는 여정이 아니라, 걸어가면서 길의 의미를 만들어가는 과정에 가깝다. 인간은 닥터스트레인지처럼 미래를 확인한 뒤 움직일 수는 없지만, 그렇다고 해서 무의미하게 떠밀려 사는 존재도 아니다. 우리는 알지 못한 채 선택하고, 선택한 뒤 책임지고, 책임지는 과정 속에서 자기 삶의 형태를 만들어간다.</p>
<p>어쩌면 현명함이라는 것은 더 많은 미래를 보는 것을 뜻하지 않을지도 모른다. 오히려 보이지 않는 미래 앞에서도 자신의 기준으로 선택하고, 그 선택이 가져오는 불확실성까지 감당한다는 의미일 것이다. 완전탐색은 인간에게 허락되지 않는다. 그러나 바로 그렇기 때문에 인간의 삶에는 결단이 있고, 해석이 있고, 책임이 있다. 미래를 모른 채 살아간다는 것은 불완전한 존재로 살아간다는 뜻이지만, 동시에 그 불완전함 속에서만 가능한 방식으로 삶을 자기 것으로 만들어간다는 뜻이기도 하다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Paper Review] Zhang et al.(2025)_REARANK: Reasoning Re-ranking Agent via Reinforcement Learning]]></title>
            <link>https://velog.io/@kyle-bong/Paper-Review-Zhang-et-al.2025REARANK-Reasoning-Re-ranking-Agent-via-Reinforcement-Learning</link>
            <guid>https://velog.io/@kyle-bong/Paper-Review-Zhang-et-al.2025REARANK-Reasoning-Re-ranking-Agent-via-Reinforcement-Learning</guid>
            <pubDate>Sat, 04 Apr 2026 10:28:24 GMT</pubDate>
            <description><![CDATA[<h1 id="introduction">Introduction</h1>
<ul>
<li>최근 연구들은 리랭킹 작업에 LLM (reranking agents)으로 점수가 아니라 직접적으로 아웃풋을 출력하는 방식을 활용함.</li>
<li>그러나 다음과 같은 도전 과제가 남아있음.<ol>
<li>LLM 자체는 랭킹이라는 목적에 최적화되어 있지 않음.
또한, zero-shot 방식은 순위를 매기는 과정에서 출력한 결과가 좋은지 나쁜지에 대한 피드백을 받아 모델의 가중치를 업데이트하지 못함.</li>
<li>좋은 성능을 달성하기 위해서는 종종 SFT가 필요하며, 이때 라벨링된 랭킹 데이터를 얻기가 어려움.</li>
<li>LLM이 최종 결정을 내리는 과정이 불투명함.</li>
<li>SOTA reranking agent들은 거대 모델이나 비공개 모델(e.g., GPT-4)에 의존함. 이러한 의존은 고비용과 지연을 초래함.</li>
</ol>
</li>
<li>이 연구에서는 강화학습을 활용한 reasoning listwise reranking agent인 REARANK를 제안한다.</li>
<li>또한 197개의 질문만으로 listwise ranking 데이터셋 증강을 하였다.</li>
<li>추론 과정에서 명시적이고 해석 가능한 추론을 보여준다.</li>
<li>작은 사이즈의 모델에 강력한 추론 능력을 부여하여 저비용으로도 운영할 수 있다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/514e556a-a0cf-42c9-b9df-fd3dc63b245b/image.png" alt=""></p>
<h3 id="main-contritubutions">main contritubutions</h3>
<ol>
<li>강화학습을 활용하여 추론 기반 listwise 리랭킹 에이전트를 학습시켰다.</li>
<li>GPT-4, Qwen3 등을 능가하는 성능을 달성하였다.</li>
<li>추론의 전이, 추론 길이와 랭킹 성능 간의 관계를 조사하였다.</li>
</ol>
<hr>
<h1 id="related-work">Related Work</h1>
<h2 id="large-reasoning-models">Large Reasoning Models</h2>
<ul>
<li>강화학습을 통해 긴 CoT 능력을 향상한 deepseek-R1, OpenAI o1, o3</li>
<li>이러한 발전은 LLM이 수학이나 플래닝과 같은 복잡한 도메인에 LLM을 활용하는 것을 가능케 하였다.</li>
<li>이 연구에서는 이러한 진보된 추론 능력을 리랭킹에 활용하고자 한다.</li>
</ul>
<h2 id="llms-for-re-ranking">LLMs for Re-ranking</h2>
<ul>
<li>pointwise, pairwise, setwise, listwise 방법</li>
<li>few-shot/zero-shot 프롬프팅, SFT</li>
<li>이 연구에서는 listwise LLM reranker를 강화학습을 활용하여, out-of-domain, reasoning-intensive 시나리오에서 강건한 성능과 추론 능력을 갖도록 한다.</li>
<li>Rank-R1에서도 강화학습으로 setwise reranker를 학습하였다. Rank-R1은 가장 관련 있는 문단의 인덱스 1개를 찾는 것으로 task를 단순화하였고, binary reward signal에 의존하였다. 그러나 이러한 신호는 listwise ranking에서 나타나는, 순서 기반의 풍부한 정보는 결여되어 있다. 이것은 결국 상당한 양의 학습 데이터를 필요로 하게끔 만든다. 게다가, setwise 추론은 한 번에 하나의 문서만 순위매길 수 있어서 매우 비효율적이다. (Fig. 2)</li>
<li>따라서 우리는 listwise reranking 전략을 활용한다.</li>
</ul>
<hr>
<h1 id="3-method">3. Method</h1>
<h2 id="31-listwise-re-ranking-agent">3.1. Listwise Re-ranking Agent</h2>
<h3 id="objective">Objective</h3>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/06ddd6c9-9548-4975-8c48-39334b300445/image.png" alt=""></p>
<ul>
<li>$q$: query</li>
<li>$n$: 검색된 문서 집합 $P$의 개수</li>
<li>$K_n$: 문서 집합 $P$에서 가능한 모든 순열(랭킹)</li>
<li>$\sigma$: 특정한 순열(랭킹)</li>
<li>$p_{\sigma(i)}$: $\sigma$에 의해 정의된 순열에, i번째 순위에 위치한 문서</li>
<li>$r$: 순열의 품질을 측정하는 점수 계산 함수</li>
</ul>
<h3 id="sliding-window">Sliding window</h3>
<ul>
<li>context limit을 피하기 위해 sliding window 활용</li>
</ul>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/5ffd4e45-3771-43d3-b303-9ce10b3fe92b/image.png" alt=""></p>
<ul>
<li><p>$\tau$: $P$의 초기 랭킹</p>
</li>
<li><p>$h$: LLM 기반 순열 함수 (Fig. 2)</p>
</li>
<li><p>$w$: window size</p>
</li>
<li><p>뒤에서부터 각 window마다 $h$를 반복 적용함으로써, 최종 top-k 리스트를 얻는다.</p>
</li>
<li><p>윈도우는 $w/2$ 스텝만큼 움직여서 overlap을 만든다. (LLM call은 총 $O(2n/w)$</p>
</li>
</ul>
<h2 id="32-rl-for-listwise-re-ranking">3.2. RL for Listwise Re-ranking</h2>
<ul>
<li>Markov Decision Process (MDP) 프레임워크의 관점에서 보면,<ul>
<li>agent: LLM 정책 $\pi_\theta$</li>
<li>environment: query $q$, 초기 랭킹 $\tau$</li>
<li>state space: 현재의 query에 대한 랭킹 순열 $S = ({p_{\tau(1)}, …, p_{\tau(n)}}, q)$</li>
<li>action space: agent가 취할 수 있는 행동. LLM이 현재 상태에 적용할 수 있는 permutation function $h$의 가능한 집합</li>
<li>transition function $T$: 에이전트가 현재 상태에서 특정 행동을 취했을 때, 다음 상태로 넘어갈 확률(0에서 1 사이의 값)을 나타내는 함수</li>
<li>$r$:  relevance metric에 기반하여 리랭킹 액션의 품질을 계량화하여 에이전트에게 피드백을 제공하는 보상 함수</li>
</ul>
</li>
</ul>
<h3 id="grpo">GRPO</h3>
<ul>
<li>입력 $x$에 대해 출력 시퀀스 그룹 $G = {o_1, o_2… o_G}$를 뽑고, 각 출력에서 보상 $r_i$을 계산하고 그룹 $G$ 안에서 정규화하여 advantage $\hat A_i$ 를 얻는다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/986ca307-fbff-4c8b-a7e3-e8f76b931556/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/18d374c1-b5e7-4ae8-9b42-fb31447d7295/image.png" alt=""></p>
<ul>
<li>$|G|$: 입력 $x$와 현재 정책 $\pi_\theta$로부터 추출된 출력 시퀀스의 개수</li>
<li>$|o_i$|: 시퀀스 길이</li>
<li>$l_{i,t}$: 토큰별 loss</li>
<li>$\hat A_{i, t} = \frac{r_i - mean(r)}{std(r)}$</li>
<li>$r$: batch 안의 보상 점수들</li>
</ul>
<h2 id="33-reward-design">3.3. Reward Design</h2>
<h3 id="ranking-reward">Ranking reward</h3>
<ul>
<li>출력 시퀀스 $G_i$는 추론(<think>…&lt;|think|&gt;), 랭킹(<answer>…&lt;|answer|&gt;)의 요소들로 구조화되어 있음.</li>
<li>총 보상 $r$은 랭킹 성능과 동시에 출력 형식을 지키도록 유도함</li>
<li>보상 신호는 NDCG@10 (실제로 관련성 있는 문서를 선순위에 위치시킬수록 더 높은 점수를 준다.)<ul>
<li>$\frac{DCG@10}{IDCG@10}$</li>
<li>$DCG@10 = \sum^{10}_{i=1} \frac{rel_i}{log_2 (i+1)}$</li>
<li>$IDCG@10 = \sum^{10}<em>{i=1} \frac {rel</em>{i} ^{ideal}}{log_2 (i+1)}$</li>
</ul>
</li>
<li>i: LLM이 예측한, 문서의 순위</li>
<li>각 query는 사람 전문가가 관련성을 판단하여 매긴 점수로 라벨링되어 있음.</li>
<li>$rel_i$는 생성된 순열 내의 요소  $p_{\sigma(i)}$ 에 대한 라벨링된 점수. 즉, 모델이 생성한 순위에서 i번째에 위치한 문서가 인간 전문가로부터 부여 받은 관련성 점수</li>
<li>$rel_i ^{ideal}$은 해당 query에 대해 가장 관련성이 높은 문서부터 내림차순으로 완벽하게 정렬했을 때 <em>i</em>번째 자리에 와야 할 정답 문서의 관련성 점수</li>
<li>무작위로 추출된 문서 집합 $P$가 관련된 문서를 얼마나 포함하는가에 따라 NDCG@10의 가능한 최댓값이 달라질 수 있기 때문에, 우리는 랭킹 보상 $r_{rank}$를 relative improvement score이라고 정의한다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/4c9811fb-8ee4-4d70-8b35-7fc5c55a88b7/image.png" alt=""></p>
<pre><code>- $r^*$: 특정 문서 집합 $P$에서 얻을 수 있는 최고 NDCG@10 점수
- $r_{init}$: 문서 집합 $P$에 대한 초기 랭킹 $\tau$(초기 검색 결과)에 대한 NDCG@10
- $r_{rerank}$: 모델이 생성한 순위의 NDCG@10 점수</code></pre><h3 id="format-reward">Format reward</h3>
<ul>
<li>$r_{foramt1}$: <think>, <answer> 태그가 모두 출력되면 1 부여</li>
<li>$r_{foramt2}$: <answer> 태그 내의 랭킹 리스트 형식이 <code>[3] &gt; [1] &gt; [2]</code> 처럼 되어있을 때 1 부여</li>
</ul>
<h3 id="final-reward">Final reward</h3>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/8bfeb07b-28e2-47eb-9e87-08472d0ccb64/image.png" alt=""></p>
<h3 id="34-initial-state-expansion">3.4. Initial State Expansion</h3>
<ul>
<li>query와, 관련성 점수가 라벨링된 학습 데이터가 부족하다는 문제를 해결하기 위해 multi sampling data augmentation 기법을 도입</li>
<li>MSMARCO-V2에서 관련성 점수(0-3)가 라벨링된 179개의 query를 활용한다.</li>
<li>각각의 q에 대해 BM25 검색으로 top 100 문서 집합을 수집한다.</li>
<li>위에서 수집한 집합에서 문서를 랜덤하게 추출하여 다수의 $P$를 만든다.</li>
<li>동일한 질문에 대해 다양한 초기 랭킹 목록을 만듦으로써, 다양한 상황에 대해 모델을 강건하게 학습시킬 수 있음.</li>
</ul>
<hr>
<h1 id="4-experiments">4. Experiments</h1>
<h2 id="41-experimental-setup">4.1. Experimental Setup</h2>
<h3 id="training-details">Training Details</h3>
<ul>
<li>데이터<ul>
<li>179개의 쿼리에 대해 BM25로 뽑은 top 100 pool에서, 각 쿼리마다 20개의 후보 문서들을 무작위순서로 추출함. 이 과정을 50회 반복</li>
<li>이때 nDCG@10 &lt; 0.1 인 샘플들은 제외함. (<em>GRPO의 zero reward problem 회피</em>)</li>
<li>총 12k 개의 학습 데이터</li>
</ul>
</li>
<li>베이스라인 모델<ul>
<li>Qwen2.5-7B-Instruct</li>
</ul>
</li>
<li>학습<ul>
<li>VeRL</li>
<li>batch size 128, 1스텝 당 32개의 roolout</li>
<li>SFT 없이 RL으로만 학습</li>
<li>8개의 H100 으로 160 스텝을 학습</li>
</ul>
</li>
</ul>
<h3 id="sliding-window-reranking">Sliding window reranking</h3>
<ul>
<li>BM25로 100개의 문서를 검색함. (n=100)</li>
<li>window size k = 20</li>
<li>query 당 10번의 LLM 호출 (2 x 100 / 20 = 10) 을 통해 top 10 문서 추출</li>
</ul>
<h3 id="baselines">Baselines</h3>
<ul>
<li>Qwen2.5-7B, GPT-4,</li>
<li>reasoning: Qwen3-32B, Qwen3-235B-A22B</li>
<li>LLM baseline 모델들에 대해서도 동일한 슬라이딩 윈도우, 동일한 프롬프트 사용함. (RankQwen, RankGPT)</li>
<li>SFT: RankZephyr</li>
<li>RL: Rank-R1 (setwise)</li>
</ul>
<h3 id="benchmarks">Benchmarks</h3>
<ul>
<li>TREC-DL19, DL-20, MS-MARCO-V1, BEIR</li>
<li>BRIGHT</li>
</ul>
<h2 id="42-in-domain--ood-retrieval-results">4.2. In-domain &amp; OOD Retrieval Results</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/e705fcac-f013-4c3b-8832-aa4a141306bd/image.png" alt=""></p>
<ul>
<li><p>GPT-4가 모든 벤치마크에서 가장 좋은 성능을 달성함 → 강력한 언어 이해 성능 때문</p>
</li>
<li><p>REARANK → 7B 모델에 기반한 강화학습을 통해 GPT-4와 견줄 만한 성능 달성</p>
</li>
<li><p>REARANK는 RANKQwen2.5-7B 베이스라인에 비해, in-domain에서 6.5%, OOD에서 4.5% 성능 향상 달성.</p>
</li>
<li><p>SFT 모델인 RankZephyr-7B와 비교하였을 때는 TREC-DL에서 견줄 만 했고, BEIR에서는 능가함. → SFT는 in-domain에는 강하지만, RL을 하면 OOD task에서도 강건함</p>
</li>
<li><p>179개 쿼리(Rank-R1의 0.2%)만으로 Rank-R1을 능가함.</p>
</li>
<li><p>Qwen3-32B, Qwen3-235B도 능가함</p>
</li>
</ul>
<h2 id="43-reasoning-intensive-retrieval-results">4.3. Reasoning-intensive Retrieval Results</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/40c0d052-3479-4269-8b80-c8f2e0763ff8/image.png" alt="">
<strong>BRIGHT (<a href="https://arxiv.org/pdf/2407.12883">https://arxiv.org/pdf/2407.12883</a>)</strong></p>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/a51d778f-9f93-4e20-b632-72bed1b77976/image.png" alt=""></p>
<ul>
<li>BRIGHT 벤치마크 실험 결과, GPT-4를 능가하는 성능 → RL을 통해 추론 능력이 향상됨에 따른 것으로 보임</li>
<li>SFT 모델은 BM25보다 성능 하락</li>
<li>setwise인 RankR1보다 REARANK-7B가 더 좋은 성능을 달성 → 동일한 RL 기반 모델 대비 우리의 방법이 더 효율적</li>
<li>Qwen3과 같이 일반적인 추론 학습(math, coding, agent)을 거치지 않았음에도 견줄 만한 성능 달성</li>
<li>listwise 방식이 setwise에 비해 더 풍부한 신호를 주기에 더 효과적이고, 더 적은 LLM 호출을 하기 때문에 더 효율적</li>
</ul>
<h2 id="44-ablation-studies">4.4. Ablation Studies</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/f067f719-0a22-4995-aa6a-1aeedbd881c0/image.png" alt=""></p>
<ul>
<li>REARANK의 추론 프롬프트를 Qwen2.5-7B에 넣었을 때의 효과를 보자.<ul>
<li>조금의 성능 향상은 있지만 REARANK 만큼은 못함. → 프롬프팅만으로는 불충분하다.</li>
</ul>
</li>
<li>데이터 필터링의 효과를 보자.<ul>
<li>필터링 하지 않으면 full model에 비해 성능 하락 → 저품질의 후보셋은 zero reward를 생산하여, 제대로 된 보상이 주어지지 않아 성능 하락</li>
</ul>
</li>
<li>보상 함수 설계의 효과를 보자.<ul>
<li>바닐라 NDCG@10 ($w/r_{rank} = S_{rerank}$): 분산이 너무 커서 성능 하락</li>
<li>바닐라 NDCG@10 - 초기 점수 ($w/r_{rank} = S_{rerank} - S_{init}$): 안정성이 향상되지만 성능은 여전히 하락 → 보상 점수의 크기 자체가 작아져서 제대로 된 학습이 안 되었을 것.</li>
<li>full model의 정규화 보상 함수가 더 효과적인 가이드를 제공하여 좋은 성능이 나왔을 것임.</li>
</ul>
</li>
<li>RL의 효과를 보자.<ul>
<li>고품질 데이터에 대해 SFT만 수행함 (w/direct SFT) → in-domain, OOD에서 미미한 성능 향상. 그러나 BRIGHT에서는 성능 감소 → 소량의 고품질 데이터로 리랭킹 에이전트를 학습시키기 위해서는 RL 필요</li>
</ul>
</li>
</ul>
<hr>
<h1 id="5-analysis">5. Analysis</h1>
<h2 id="analysis-of-reward-functions">Analysis of Reward Functions</h2>
<ul>
<li>nDCG@10의 다양한 변이형을 비교<ul>
<li>Normalized nDCG  (이 연구의 방법)</li>
<li>Absolute nDCG ($S_{rerank}$)</li>
<li>Difference nDCG ($S_{rerank} - S_{init}$)</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/25c3b654-c05d-4c99-9e87-2dedb7570257/image.png" alt=""></p>
<h3 id="mean-reward-score-curve">Mean Reward Score Curve</h3>
<ul>
<li>Normalized nDCG는 reward가 꾸준히 우상향 (100스텝에는 0.8 근접). → 이상적인 랭킹 품질에 근접</li>
<li>Absolute nDCG → 50 스텝에서 포화됨</li>
<li>Difference nDCT → 0.15 부근에서 포화됨</li>
</ul>
<p>→ 정규화를 적용한 nDCG가 더 효과적인 신호를 주어 성능 향상에 기여했다.</p>
<h3 id="mean-response-length-curve">Mean Response Length Curve</h3>
<ul>
<li>Normalized nDCG가 일반적으로 가장 긴 길이(~850 토큰)를 출력</li>
</ul>
<p>→ Normalized nDCG가 더 상세한 추론 수행</p>
<h2 id="is-reasoning-helpful">Is reasoning helpful?</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/bd96cade-e296-49db-a03b-fb1faeb29b6a/image.png" alt=""></p>
<ul>
<li><p>Qwen3-32B는 thinking 모드 on/off를 지원하는데, thinking을 켜도 성능 향상은 제한적이다.</p>
<p>  → Qwen3-32B의 강력한 성능은 reasoning에서 비롯된 게 아니라 pre-training에서 비롯된다.</p>
</li>
<li><p>반면, REARANK에서는 추론 능력이 성능 향상에 핵심적으로 기여한다.</p>
<ul>
<li>reasoning 프롬프트를 적용하지 않더라도 베이스라인을 이미 뛰어넘기는 한다. → 이미 내재된 리랭킹 능력</li>
<li>그러나 추론 능력을 활용해야만 최적의 성능을 달성할 수 있다. 그만큼 RL로 추론 능력을 학습시키는 것이 중요하다.</li>
</ul>
</li>
</ul>
<h3 id="reasoning-pattern">Reasoning Pattern</h3>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/ad5602c1-dcad-4229-9ca5-860d46e78227/image.png" alt=""></p>
<ul>
<li>우리의 모델은 문서와 쿼리 간의 관련성에 대해 추론하고, 핵심 키워드를 추출한다.</li>
<li>이전 문서에 대한 비교와 동일한 비교이면 “same”과 같은 단어를 활용하는 모습을 보이는데, 이를 통해 verbosity를 줄이면서도 핵심 키워드는 보존할 수 있다.</li>
</ul>
<h3 id="is-improved-reasoning-transferable">Is improved reasoning transferable?</h3>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/d2aac61d-a810-496e-bff1-135c225abfec/image.png" alt=""></p>
<ul>
<li><p>우리의 추론 기반 리랭킹 강화학습이 다른 능력으로 전이될 수 있는가를 확인하기 위해 수학 추론 데이터셋에 대해 평가함. (temperature=0.7로 16개의 샘플에 대해 pass@1 계산)</p>
<p>  → rearanking task에 대해 추론 능력을 학습하는 것이 또 다른 reasoning task의 성능에도 전이될 수 있다.</p>
</li>
</ul>
<h3 id="impact-of-reasoning-length-on-performance">Impact of Reasoning Length on Performance</h3>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/fe536455-792c-41f4-9a7c-f5658c3c511d/image.png" alt=""></p>
<ul>
<li><p>BRIGHT의 biology에 대해 한 쿼리 당 50회씩 반복적으로 리랭킹 성능을 측정하였다. (temp=0.7) 0점인 경우들은 제외.</p>
<p>  → 기존 연구(Deepseek-r1, Marjanovic et al., 2025)와는 다르게 reasoning length와 reranking 성능 간의 유의미한 상관관계는 보이지 않았다.</p>
<p>  Deepseek-r1: reasoning token이 늘수록 성능이 올라가다가 특정 지점을 넘으면 다시 떨어진다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/c1dbf0c9-997b-4e1b-b494-220efc7156a3/image.png" alt=""></p>
<hr>
<h1 id="6-conclusion">6. Conclusion</h1>
<ul>
<li>강화학습 기반의 listwise reranking agent REARANK를 학습했다.</li>
<li>소량의 고품질 데이터셋으로 학습하여, 리랭킹 task에서 GPT-4, Qwen3과 같은 모델과 견줄 만한 성능을 달성하거나, 뛰어넘기도 했다.</li>
</ul>
<h1 id="limitations">Limitations</h1>
<ul>
<li>최종 랭킹을 결정하기 위해 출력하는 추론에 할루시네이션이 있을 수 있다. 이에 대한 평가는 진행하지 못했다.</li>
<li>BM25가 제공하는 초기 후보 문서 집합의 품질에 따라 전체 성능이 영향을 받는다. 즉, 리랭킹 전의 초기 검색의 품질에 의존적이다.</li>
</ul>
<hr>
<h1 id="reference">Reference</h1>
<p>REARANK: Reasoning Re-ranking Agent via Reinforcement Learning (<a href="https://arxiv.org/abs/2505.20046">https://arxiv.org/abs/2505.20046</a>)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[강화학습을 품은 LLM]]></title>
            <link>https://velog.io/@kyle-bong/%EA%B0%95%ED%99%94%ED%95%99%EC%8A%B5%EC%9D%84-%ED%92%88%EC%9D%80-LLM</link>
            <guid>https://velog.io/@kyle-bong/%EA%B0%95%ED%99%94%ED%95%99%EC%8A%B5%EC%9D%84-%ED%92%88%EC%9D%80-LLM</guid>
            <pubDate>Wed, 01 Apr 2026 03:46:23 GMT</pubDate>
            <description><![CDATA[<h1 id="1-llm-학습에-강화학습-끼얹기">1. LLM 학습에 강화학습 끼얹기</h1>
<p>  LLM은 거대한 말뭉치를 통해 주어진 토큰의 다음 토큰을 예측하는 능력을 극대화하도록 사전 학습된다. 이 과정은 모델에게 폭넓은 세상 지식(world knowledge)과 뛰어난 언어 생성 능력을 심어주지만, 한계도 분명하다. 단순히 텍스트를 그럴듯하게 이어 쓰는 능력과, 사용자의 의도를 유용하고(helpful), 정직하고(honest), 무해하게(harmless) 따르는 능력은 다른 차원의 문제이다. InstructGPT 논문은 이 점을 명확하게 짚어낸다. 사전 학습의 목적함수 자체가 &quot;사용자의 지시를 유용하고 안전하게 따르기&quot;와는 거리가 멀기 때문에, 모델은 사실을 지어내거나, 유해한 출력을 내거나, 단순한 지시조차 오해할 수 있다. 즉, 사전 학습만으로는 &#39;많이 아는 모델&#39;을 만들 수는 있어도 &#39;원하는 방식으로 행동하는 모델&#39;은 얻기는 어렵다.</p>
<p>  이 간극을 메우기 위한 시도로 Supervised Fine-Tuning (SFT)가 많이 쓰여왔다. 사람이 만든 모범 응답을 보여주고, 그 응답을 따라하도록 추가 학습시키면 instruction following 능력은 좋아진다. 그러나, 현실 세계의 복잡한 요청에 대응하기 위해서는 단순히 &#39;하나의 정답&#39;을 흉내내는 것만으로는 부족하다. 여러 유효한 답변들 사이에서 무엇이 더 유용하고, 안전하며, 사용자의 숨은 의도를 잘 반영하는지, 즉 응답 간의 상대적인 선호(preference)를 학습하는 과정이 필연적으로 요구된다.</p>
<p>  이러한 배경 속에서 LLM은 강화학습(RL)을 본격적으로 품기 시작한다. 유저가 실제로 체감하는 LLM의 품질은 토큰 하나하나에 대한 국소적인 예측이 아니라, 문장 전체가 완성된 후의 종합적인 품질에서 나온다. 답변이 정답이더라도 위험한 발언이 포함되어 있거나 지정된 형식을 어겼다면 실패한 응답이다. 이러한 가치 판단은 시퀀스가 완전히 끝난 뒤에야 평가할 수 있다. 따라서 RL은 LLM의 학습 패러다임을 기존의 &#39;다음 토큰을 잘 맞히는 문제&#39;에서 &#39;응답 전체를 관통하여 최적의 행동을 선택하는 문제&#39;로 전환하는 핵심 열쇠가 된다. RLHF는 바로 이 원리를 이용해 사람의 선호를 보상(reward)으로 모델링하고, 이를 극대화하는 방향으로 정책(policy)을 최적화했다.
  최근에 들어서는 LLM에 요구되는 기준이 유용성, 안전성을 넘어 복잡한 수학이나 코딩 문제를 풀어내는 논리적 추론(reasoning) 능력까지 확장되고 있다. 수학, 코딩 등의 영역에서는 사람의 주관적 선호뿐만 아니라 &#39;정답인가?&#39;, &#39;코드가 실행되는가?&#39;를 규칙 기반으로 명확히 검증할 수 있다. 이러한 검증 가능한 보상(verifiable reward)이 주어지면, 모델은 자기 자신의 출력을 샘플링하는 온라인 샘플링을 통해 스스로 여러 풀이 경로를 시도해 보고, 더 나은 풀이에 더 높은 보상을 주면서 스스로 추론 능력을 강화할 수 있게 된다.</p>
<p>정리하자면, LLM 학습에 강화학습(RL)이 필수불가결해진 이유는 크게 세 가지이다.</p>
<ol>
<li><p>사전 학습의 목적 함수는 사용자의 의도나 안전성 같은 정렬(alignment) 목표를 직접적으로 최적화하지 못한다.</p>
</li>
<li><p>좋은 응답의 기준은 토큰 단위의 정확성보다는, 시퀀스 전체 단위의 품질과 상대적 선호에 더 가깝다.</p>
</li>
<li><p>Reasoning LLM 시대가 도래하면서, 검증 가능한 보상을 바탕으로 모델 스스로 정답에 이르는 경로를 탐색(exploration)하는 학습이 필요해졌다.</p>
</li>
</ol>
<p>따라서 RL은 이제 LLM 학습 과정의 부가적인 기법이 아니라, alignment와 reasoning을 함께 완성하기 위한 가장 핵심적인 축으로 자리 잡게 되었다.</p>
<h1 id="2-이-글에서-사용할-notation">2. 이 글에서 사용할 Notation</h1>
<p>  참고 논문들의 서로 다른 notation들을 본 글에서는 아래와 같이 통일하고자 한다.</p>
<h2 id="21-notation">2.1. Notation</h2>
<table>
<thead>
<tr>
<th>기호</th>
<th>의미</th>
<th>이 글에서의 정의</th>
<th>다른 논문에서 자주 보이는 대응 표기</th>
</tr>
</thead>
<tbody><tr>
<td>$x$</td>
<td>prompt / input</td>
<td>모델에 주어지는 입력 문장 또는 문제</td>
<td>$q$</td>
</tr>
<tr>
<td>$y$</td>
<td>response / completion</td>
<td>모델이 생성한 전체 응답 시퀀스</td>
<td>$o$, $o_i$</td>
</tr>
<tr>
<td>$y_t$</td>
<td>t번째 token</td>
<td>응답 $y$의 $t$번째 token</td>
<td>$o_t$, $o_{i,t}$</td>
</tr>
<tr>
<td>$y_{&lt;t}$</td>
<td>prefix</td>
<td>$t$ 이전까지의 응답 prefix</td>
<td>$o_{&lt;t}$, $o_{i,&lt;t}$</td>
</tr>
<tr>
<td>$\pi_\theta(y\mid x)$</td>
<td>current policy</td>
<td>현재 학습 중인 policy가 (x)에 대해 (y)를 생성할 확률</td>
<td>동일</td>
</tr>
<tr>
<td>$\pi_{\text{old}}(y\mid x)$</td>
<td>old policy</td>
<td>rollout을 생성한 기준 policy</td>
<td>$\pi_{\theta_{\text{old}}}$</td>
</tr>
<tr>
<td>$\pi_{\text{ref}}(y\mid x)$</td>
<td>reference policy</td>
<td>KL 제약의 기준이 되는 reference model, 보통 SFT model</td>
<td>$\pi_{\mathrm{ref}}, \pi_{\mathrm{SFT}}$</td>
</tr>
<tr>
<td>$R(x,y)$</td>
<td>sequence-level reward</td>
<td>prompt (x)와 전체 응답 $y$에 대해 부여되는 scalar reward</td>
<td>$r(x,y)$, $R_i$</td>
</tr>
<tr>
<td>$R^{(g)}$</td>
<td>g번째 응답의 reward</td>
<td>같은 prompt에서 샘플링한 (g)번째 응답의 sequence reward</td>
<td>$R_i$, $r_i$</td>
</tr>
<tr>
<td>$\hat A_t$</td>
<td>token-level advantage</td>
<td>PPO에서 token $t$에 대해 계산되는 advantage</td>
<td>동일</td>
</tr>
<tr>
<td>$\hat A^{(g)}$</td>
<td>response-level/group-relative advantage</td>
<td>GRPO에서 (g)번째 응답 전체에 부여되는 상대적 advantage</td>
<td>$\hat A_i, \hat A_{i,t}$</td>
</tr>
<tr>
<td>$\rho_t(\theta)$</td>
<td>importance ratio</td>
<td>현재 policy와 old policy의 token-level 확률 비율</td>
<td>$r_t(\theta), r_{i,t}(\theta)$</td>
</tr>
<tr>
<td>$\epsilon$</td>
<td>clipping bound</td>
<td>PPO/GRPO 계열에서 importance ratio를 자르는 clipping 폭</td>
<td>$\epsilon, \epsilon_{\text{low}}, \epsilon_{\text{high}}$</td>
</tr>
<tr>
<td>$\beta$</td>
<td>reference 제약 강도</td>
<td>KL 제약 또는 DPO에서 reference policy와의 상대적 이탈 강도</td>
<td>동일</td>
</tr>
<tr>
<td>$V(s_t)$</td>
<td>value function</td>
<td>PPO에서 advantage 추정을 위한 critic</td>
<td>동일</td>
</tr>
<tr>
<td>$s_t$</td>
<td>state at step $t$</td>
<td>RL 관점에서 $t$ 시점의 상태. LLM에서는 보통 $(x,y{&lt;t})$로 볼 수 있다</td>
<td>동일</td>
</tr>
<tr>
<td>$G$</td>
<td>group size</td>
<td>하나의 prompt에 대해 샘플링한 응답 수</td>
<td>동일</td>
</tr>
<tr>
<td>$y^{(1)}, \dots, y^{(G)}$</td>
<td>grouped responses</td>
<td>같은 prompt에서 뽑은 $G$개의 응답</td>
<td>${o_i}_{i=1}^G$</td>
</tr>
<tr>
<td>$y_w$</td>
<td>preferred response</td>
<td>선호 데이터에서 chosen / winner response</td>
<td>$y^+$, chosen</td>
</tr>
<tr>
<td>$y_l$</td>
<td>dispreferred response</td>
<td>선호 데이터에서 rejected / loser response</td>
<td>$y^-$, rejected</td>
</tr>
<tr>
<td>$\mathcal D$</td>
<td>dataset</td>
<td>학습에 사용되는 데이터 분포 또는 데이터셋</td>
<td>$D$</td>
</tr>
<tr>
<td>$\sigma(\cdot)$</td>
<td>sigmoid</td>
<td>DPO와 reward modeling에서 쓰는 logistic sigmoid</td>
<td>동일</td>
</tr>
<tr>
<td>$D_{\mathrm{KL}}(\pi_\theta | \pi_{\text{ref}})$</td>
<td>KL divergence</td>
<td>현재 policy가 reference policy에서 얼마나 멀어졌는지 측정하는 항</td>
<td>동일</td>
</tr>
<tr>
<td>## 2.2. 표기 통일의 원칙</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>첫째, prompt는 항상 $x$로 쓴다. 둘째, 응답은 항상 $y$로 쓴다. 셋째, sequence-level reward와 token-level quantity를 분리한다. DPO와 RLHF의 보상은 기본적으로 전체 응답 $y$에 대한 scalar reward이므로 $R(x, y)$로 두고, PPO 및 GRPO objective 안에서 token마다 등장하는 확률비는 reward와 헷갈리지 않도록 $\rho_t(\theta)$로 쓴다.   넷째, advantage는 문맥에 따라 두 종류로 구분한다. PPO에서는 value function을 바탕으로 token-level advantage $\hat A_t$를 계산하고, GRPO에서는 같은 prompt에서 뽑은 여러 응답의 reward를 정규화해 얻는 response-level 또는 group-relative advantage를 $\hat A^{(g)}$로 표기한다. GRPO 계열 논문에서는 $\hat A_{i,t}$처럼 token 인덱스까지 붙여 쓰지만, 실제로는 같은 응답의 모든 token이 같은 advantage를 공유하는 경우가 많으므로, 이 글에서는 PPO의 advantage는 $\hat A_t$, GRPO의 advantage는 $\hat A^{(g)}$로 구분한다. 다섯째, $\beta$는 일관되게 &#39;reference policy에서 얼마나 멀어질 수 있는가&#39;를 조절하는 계수를 나타낸다.</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody></table>
<h1 id="3-sft와-preference-learning의-차이">3. SFT와 preference learning의 차이</h1>
<p>  SFT는 입력 $x$가 주어졌을 때, 사람이 작성한 모범 응답 $y$를 정답으로 두고, 모델이 그 응답을 생성할 확률을 높이도록 학습한다. 수식으로 쓰면, SFT는 보통 아래와 같은 maximum likelihood 학습 형태로 이해할 수 있다.</p>
<p>$$
\mathcal{L}<em>{\mathrm{SFT}}(\theta) = -\mathbb{E}</em>{(x,y)\sim \mathcal D} \left[\log \pi_\theta(y\mid x)\right]
$$</p>
<p>  여기서 $\log \pi_\theta(y\mid x)$는 현재 정책(policy)이 prompt $x$에 대해 전체 응답 $y$를 생성할 log-probability이다. 이 식은 모델이 사람이 보여준 정답 응답에 더 높은 확률을 주도록 만든다. 따라서 SFT는 명확한 target response가 존재할 때 매우 강력하다. 예를 들어, 요약이나 번역처럼 명확한 모범 답안을 제공할 수 있는 작업에서는 SFT가 효과적이다. RLHF나 DPO 파이프라인 역시 본격적인 선호 최적화에 앞서 SFT 모델을 먼저 구축하는 것을 기본 전제로 삼는다.</p>
<p>하지만 SFT에는 본질적인 한계가 있다. 현실 세계의 질문들에는 유일한 정답이 존재하기보다, 여러 훌륭한 응답 중 &#39;어느 쪽이 더 나은지&#39;를 가려야 하는 경우가 훨씬 많다. 예를 들어, 두 답변이 모두 사실 관계가 맞고 문법적으로 자연스럽더라도, 하나는 더 간결하고 안전하며 사용자의 숨은 의도를 더 잘 반영할 수 있다. 단순히 &#39;좋은 예시&#39;를 반복해서 보여주는 SFT 방식만으로는, 여러 선택지 사이에서 인간이 실제로 선호하는 미묘한 방향성을 모델에 온전히 학습시키기 어렵다.</p>
<p>이 지점에서 등장하는 것이 선호 학습(preference learning)이다. 선호 학습에서는 하나의 프롬프트 $x$에 대해 두 개 이상의 응답을 준비하고, 그중 사람이 더 선호하는 응답 $y_w$와 덜 선호하는 응답 $y_l$을 구분한다. 즉, 학습의 단위가 단일 정답인 $(x, y)$에서 비교쌍인 $(x, y_w, y_l)$로 확장된다. 여기서 모델이 배워야 하는 것은 특정 정답 문장을 앵무새처럼 복원하는 일이 아니라, &#39;어떤 응답이 다른 응답보다 더 나은가&#39;를 판단하는 기준점이다.</p>
<p>이 두 방법론은 모델에게 기대하는 일반화의 방향이 완전히 다르다. SFT는 모범 응답 패턴을 직접 모방하므로, 데이터에 포함된 task format과 문체를 잘 학습한다. 반면 preference learning은 어떤 응답이 더 낫다는 비교 신호를 통해, 보다 추상적인 선택 기준을 학습한다. 즉, 단순한 텍스트 생성을 넘어 &#39;이런 상황에서는 어떤 방식의 대답이 더 바람직한가&#39;라는 규칙을 내재화하게 된다. InstructGPT가 SFT만으로 끝나지 않고 비교 데이터와 보상 모델을 추가한 것도, 단순한 모방을 넘어 사용자 의도에 더 잘 맞는 행동 원리를 학습시키기 위해서였다.</p>
<p>물론 preference learning이 SFT를 완전히 대체하는 것은 아니다. 실제 파이프라인에서는 두 방법은 상보적으로 쓰인다. SFT는 모델에게 기본적인 instruction following 능력을 제공하고, 선호 학습은 그 위에서 여러 가능한 응답 중 더 바람직한 쪽으로 모델을 조정한다. InstructGPT가 SFT 모델을 기반으로 보상 모델을 학습시키고 PPO를 적용한 것, 그리고 DPO가 SFT 모델을 참조 모델(Reference policy)로 사용하는 것 모두 이 상보적 관계를 잘 보여준다.</p>
<p>정리하자면, SFT와 선호 학습의 차이는 모델에게 무엇을 보여줄 것인가의 차이라고 할 수 있다. SFT는 &#39;좋은 응답의 예시&#39;를 직접 보여주어 훌륭한 모방꾼을 만들고, 선호도 학습은 &#39;응답 간의 우열&#39;을 보여주어 상황에 맞는 최적의 행동을 선택하는 가치 판단 능력을 길러준다.</p>
<h1 id="4-rlhf의-목적함수">4. RLHF의 목적함수</h1>
<p>RLHF의 핵심은 정책이 단순히 높은 보상을 받는 응답을 생성하도록 만드는 데 있지 않다. 실제로는 보상을 높이되, 참조 정책(reference policy)에서 지나치게 멀어지지 않도록 하는 것이 목적이다. 이 점이 중요하다. 보상 모델은 제한된 선호 데이터셋 위에서 학습되므로, 정책이 보상만 무작정 최대화하면 보상 모델의 허점을 파고드는 방향으로 쉽게 무너질 수 있다. 따라서 RLHF의 목적함수는 보상 최대화와 규제를 함께 포함한다. 아래는 DPO 논문에서 RLHF의 목적함수를 정리한 식이다.</p>
<p>$$
\max_{\pi_\theta} ; \mathbb{E}<em>{x\sim \mathcal D,; y\sim \pi_\theta(\cdot\mid x)} \left[ r(x,y) - \beta D</em>{\mathrm{KL}}!\big(\pi_\theta(\cdot\mid x),|,\pi_{\mathrm{ref}}(\cdot\mid x)\big) \right]
$$</p>
<p>여기서 $r_(x,y)$는 보상 모델이 입력 $x$와 응답 $y$에 부여하는 보상 점수이고, $\pi_{\mathrm{ref}}$는 보통 SFT로 얻은 참조 정책이다. $\beta$는 보상을 얼마나 강하게 추구할지, 그리고 참조 정책에 얼마나 가깝게 머물지를 조절하는 계수이다. $\beta$가 너무 작으면 참조 정책에서 너무 멀어질 수 있고, 반대로 너무 크면 reference policy에서 거의 벗어나지 못해 alignment improvement가 작아질 수 있다. </p>
<p>이 목적함수를 이해하기 위해, 먼저 규제 항이 없는 형태를 생각해보자.</p>
<p>$$
\max_{\pi_\theta} ; \mathbb{E}_{x\sim \mathcal D,; y\sim \pi_\theta(\cdot\mid x)} [ r(x,y)]
$$</p>
<p>이 식만 보면 정책은 보상이 높은 응답을 점점 더 자주 생성하기만 하면 된다. 문제는 보상 모델이 진짜 인간 선호 그 자체가 아니라, 선호 데이터셋으로부터 학습된 근사 함수라는 점이다. 따라서 정책이 학습을 거듭할수록 보상 모델이 일반화를 잘 못하는 영역으로 이동할 수 있고, 그 결과 보상 점수는 높지만 실제 응답 품질은 나빠지는 현상이 나타날 수 있다. RLHF에서 KL 규제 항이 필요한 이유가 바로 여기에 있다.</p>
<p>참조 정책은 여기서 규제의 기준점으로 작동한다.</p>
<p>여기서 KL divergence는 $y \sim \pi_\theta(\cdot\mid x)$에 대한 기대값 형태로 전개할 수 있으므로, 목적함수를 아래와 같이 sequence-level log-ratio를 포함한 형태로 다시 쓸 수 있다. </p>
<p>$$
\max_{\pi_\theta} ; \mathbb{E}<em>{x\sim \mathcal D,; y\sim \pi_\theta(\cdot\mid x)} \left[ r(x,y) - \beta \log \frac{\pi_\theta(y\mid x)}{\pi</em>{\mathrm{ref}}(y\mid x)} \right]
$$</p>
<p>이 식은 sequence $y$ 단위에서 보면, 정책이 받는 유효 보상이 단순한 $r_\phi(x,y)$가 아니라, </p>
<p>$$
\tilde r(x,y) = r(x,y) - \beta \log \frac{\pi_\theta(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)}
$$</p>
<p>로 바뀐 것처럼 해석할 수 있다. 즉 보상은 높을수록 좋지만, 현재 정책이 참조 정책보다 특정 응답을 과도하게 밀어주고 있다면 그만큼 패널티를 받는다. InstructGPT와 이후의 PPO-based RLHF는 바로 이런 형태의 KL 규제가 포함된 보상을 통해 정책을 안정적으로 업데이트한다.</p>
<p>RLHF 전체 파이프라인에서 이 목적함수가 등장하기까지는 한 단계가 더 있다. 보상 $r(x,y)$는 직접 주어지는 값이 아니라, 선호 데이터셋으로부터 먼저 학습된다. 보통 하나의 입력 $x$에 대해 더 선호되는 응답 $y_w$와 덜 선호되는 응답 $y_l$을 모으고, 보상 모델은 $y_w$가 $y_l$보다 더 높은 보상을 갖도록 학습된다. DPO 논문은 이 보상 모델링 단계를 Bradley-Terry model 아래에서 다음과 같이 정리한다.</p>
<p>$$
p^*(y_w \succ y_l \mid x) = \sigma\big(r(x,y_w)-r(x,y_l)\big)
$$</p>
<p>그리고 이에 대응하는 보상 모델의 loss는 보통 다음과 같은 binary classification 형태를 갖는다.</p>
<p>$$
\mathcal L_{\mathrm{RM}} = - \mathbb{E}_{(x,y_w,y_l)\sim \mathcal D} \left[ \log \sigma\big(r(x,y_w)-r(x,y_l)\big) \right]
$$</p>
<p>즉, RLHF는 두 단계의 objective 이루어진다. 먼저 선호 쌍을 잘 구분하는 보상 모델을 학습하고, 그 다음 그 보상을 높이면서도 참조 정책에서 과도하게 벗어나지 않는 정책을 학습한다.</p>
<p>이제 RLHF의 핵심은 아래 한 줄로 요약할 수 있다.</p>
<blockquote>
<p>reward를 최대화하되, reference policy로부터 너무 멀어지는 것은 제한한다.</p>
</blockquote>
<p>이 구조 덕분에 RLHF는 더 직접적으로 인간 선호를 반영할 수 있다. 동시에 KL 규제 덕분에 최적화가 지나치게 불안정해지는 것을 막는다.</p>
<h1 id="5-ppo">5. PPO</h1>
<p>RLHF의 목적함수는 보상을 높이면서도 참조 정책에서 과도하게 벗어나지 않도록 하는 정책을 최적화하는 것이었다. 그러나 이 목적함수를 그대로 미분해서 안정적으로 학습시키는 것은 쉽지 않다. 정책이 업데이트될 때마다 샘플 분포가 계속 바뀌고, 보상 신호도 noisy하며, 한 번의 업데이트가 너무 크면 정책이 갑자기 무너질 수 있기 때문이다. PPO (Proximal Policy Optimization)는 바로 이러한 문제를 다루기 위해 등장한 알고리즘이다. 핵심 아이디어는 간단하다. 정책을 개선하되, 한 번에 너무 멀리 움직이지 않도록 제한하자. PPO는 이 제약을 clipping으로 구현한다. </p>
<p>PPO에서 먼저 필요한 것은 현재 정책과 과거 정책 사이의 token-level importance ratio이다.</p>
<p>$$
\rho_t(\theta) = \frac{\pi_\theta(y_t \mid x, y_{&lt;t})} {\pi_{\mathrm{old}}(y_t \mid x, y_{&lt;t})}
$$</p>
<p>이 ratio는 현재 정책이 과거 정책에 비해 특정 토큰을 얼마나 더 선호하게 되었는지를 나타낸다. $\rho_t(\theta) &gt; 1$이면 현재 정책이 그 토큰의 확률을 올린 것이고, $\rho_t(\theta) &lt; 1$이면 낮춘 것이다. PPO는 바로 이 ratio를 이용해 업데이트의 크기를 제어한다.</p>
<p>PPO의 핵심 objective는 다음과 같다.</p>
<p>$$
\mathcal{J}_{\mathrm{PPO}}(\theta) = \mathbb{E} \left[ \min\left( \rho_t(\theta)\hat A_t,; \operatorname{clip}(\rho_t(\theta), 1-\epsilon, 1+\epsilon)\hat A_t \right) \right]
$$</p>
<p>여기서 $\hat A_t$는 timestamp $t$의 advantage이고, $\epsilon$는 clipping bound이다. 이 식의 의미는 다음과 같다. 만약 현재 업데이트가 적당한 범위 안에 있으면, 즉 $\rho_t(\theta)$가 $1 - \epsilon$과 $1 + \epsilon$ 사이에 있으면, PPO는 일반적인 policy gradient처럼 $\rho_t(\theta)\hat A_t$를 사용한다. 반대로 ratio가 그 범위를 벗어나면, PPO는 더 이상 그 이득을 그대로 반영하지 않고 클리핑된 값을 사용한다. </p>
<p>왜 굳이 $min()$을 쓸까? $\hat A_t &gt; 0$이라면 그 토큰의 확률을 높이는 방향이 유리하다. 그런데 $\rho_t(\theta)$가 너무 커지면, 모델은 그 토큰을 과거 정책보다 과도하게 선호하게 되고 정책이 한 번에 크게 흔들릴 수 있다. PPO는 이때 클리핑된 objective를 택해 과도한 업데이트를 막는다.</p>
<p>이제 남는 질문은 $\hat A_t$를 어떻게 구하느냐이다. PPO는 보통 value function $V(s_t)$를 따로 학습하고, 이를 이용해 advantage를 추정한다. 가장 널리 쓰이는 방식이 GAE(Generalized Advantage Estimation)이다. </p>
<p>$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)} = \sum_{l=0}^{\infty} (\gamma \lambda)^l \delta_{t+l}
$$</p>
<p>$$
\delta_t = R_t + \gamma V(s_{t+1}) - V(s_t)
$$</p>
<p>여기서 $\delta_t$는 temporal-difference error이고, $\gamma$와 $\lambda$는 bias-variance tradeoff를 조절하는 하이퍼파라미터이다. 직관적으로 말하면, value function은 &#39;이 상태에서 앞으로 얼마나 보상을 받을 것 같은가&#39;를 예측하고, advantage는 실제로 선택한 행동이 그 기대보다 얼마나 좋았는지를 측정한다. PPO는 바로 이 advantage를 곱해 정책을 업데이트한다. </p>
<p>정리하면, PPO의 핵심은 다음 한 줄로 요약할 수 있다.</p>
<blockquote>
<p>advantage가 큰 방향으로 정책을 업데이트하되, 과거 정책에서 한 번에 너무 멀리 움직이지 않도록 clipping으로 제어한다.</p>
</blockquote>
<h1 id="6-grpo">6. GRPO</h1>
<p>PPO의 핵심은 클리핑이 적용된 목적함수를 통해 정책 업데이트를 안정적으로 제어하는 데 있다. 그러나 LLM에 PPO를 적용할 때는 한 가지 부담이 더 생긴다. 바로 advantage를 추정하기 위한 value function, 즉 critic을 별도로 학습해야 한다는 점이다. 시퀀스가 길고 보상이 sparse한 환경에서는 이 critic을 안정적으로 학습하는 것 자체가 쉽지 않고, 메모리와 계산 비용도 크게 증가한다. </p>
<p>GRPO(Group Relative Policy Optimization)는 바로 이 지점을 겨냥한다. PPO의 클리핑 적용 목적함수는 유지하되, critic 없이 advantage를 구하자는 것이 GRPO의 핵심 발상이다. DeepSeekMath는 이 방법이 PPO보다 자원을 덜 사용하면서도 추론 성능을 끌어올릴 수 있다고 주장한다.</p>
<p>GRPO의 아이디어는 다음과 같다. 하나의 입력 $x$에 대해 과거정책으로부터 응답 하나만 샘플링하지 않고, $G$개의 응답</p>
<p>$$
y^{(1)}, y^{(2)}, \dots, y^{(G)} \sim \pi_{\mathrm{old}}(\cdot \mid x)
$$</p>
<p>을 한꺼번에 샘플링한다. 그리고 각 응답에 대해 sequence-level reward $R^{(g)}$를 계산한 뒤, 이 값들을 같은 그룹 안에서 정규화해 advantage를 만든다. GRPO의 group-relative advantage는 다음과 같다.</p>
<p>$$
\hat A^{(g)} = \frac{R^{(g)} - \operatorname{mean}(R^{(1)}, \dots, R^{(G)})} {\operatorname{std}(R^{(1)}, \dots, R^{(G)})}
$$</p>
<p>이 식의 의미는 분명하다. 어떤 응답이 같은 입력에 대해 샘플링된 다른 응답들보다 상대적으로 더 높은 보상을 받았다면 positive advantage를 갖고, 반대라면 negative advantage를 갖는다. 즉 GRPO는 &#39;이 응답이 절대적으로 얼마나 좋은가&#39;보다 같은 문제에 대한 다른 시도들과 비교했을 때 얼마나 더 나은가를 학습 신호로 삼는다.</p>
<p>DeepSeekMath는 바로 이러한 group-relative normalization을 통해 가치 모델 없이 baseline을 구성한다.</p>
<p>이제 PPO와 같은 방식으로 token-level importance ratio를 정의하면,</p>
<p>$$
\rho_{g,t}(\theta) = \frac{\pi_\theta(y_t^{(g)} \mid x, y_{&lt;t}^{(g)})} {\pi_{\mathrm{old}}(y_t^{(g)} \mid x, y_{&lt;t}^{(g)})}
$$</p>
<p>GRPO의 목적함수는 다음과 같이 쓸 수 있다.</p>
<p>$$
\mathcal J_{\mathrm{GRPO}}(\theta) = \mathbb{E} \left[ \frac{1}{G}\sum_{g=1}^{G} \frac{1}{|y^{(g)}|} \sum_{t=1}^{|y^{(g)}|} \min\left( \rho_{g,t}(\theta)\hat A^{(g)}, \operatorname{clip}(\rho_{g,t}(\theta), 1-\epsilon, 1+\epsilon)\hat A^{(g)} \right) - \beta D_{\mathrm{KL}}(\pi_\theta ,|, \pi_{\mathrm{ref}}) \right]
$$</p>
<p>PPO에서는 $\hat A_t$를 value function과 GAE로 추정했다. 반면 GRPO에서는 $\hat A^{(g)}$를 group reward의 평균과 표준편차로부터 직접 계산한다. 다시 말해, PPO가 &#39;현재 상태의 기대 reward 대비 얼마나 좋았는가&#39;를 배우는 구조라면, GRPO는 &#39;같은 입력에 대해 생성된 여러 응답 중에서 상대적으로 얼마나 좋았는가&#39;를 배우는 구조이다.</p>
<p>GRPO를 이렇게 설계하면 두 가지 효과가 생긴다. 첫째, critic을 제거할 수 있다. 이를 통해 value model을 따로 학습하지 않아도 되므로 메모리 사용량이 줄고, reward estimation 과정에서 critic을 별도로 학습할 필요가 없으므로, value estimation error를 따로 관리해야 하는 부담도 줄어든다. 둘째, 같은 prompt에서 여러 응답을 직접 비교하기 때문에, reasoning task처럼 정답 여부가 outcome-level reward로 주어지는 환경에서는 특히 잘 맞는다.</p>
<p>또 하나 주목할 점은, GRPO에서는 보통 같은 응답의 모든 토큰들이 동일한 $\hat A^{(g)}$를 공유한다는 점이다. 즉 응답 전체에 대해 계산된 상대적 보상이 그 응답 내부의 각 토큰 업데이트에 동일하게 적용된다. 이 점에서 GRPO는 토큰별로 세밀한 advantage를 추정하는 PPO보다 상대적으로 희석된 신호를 활용한다고 볼 수 있다. 하지만 reasoning RL에서는 reward가 대개 최종 정답 여부나 형식 준수처럼 sequence-level에서 주어지기 때문에, 이런 단순화가 오히려 실용적일 수 있다.</p>
<p>정리하면, GRPO의 핵심은 다음과 같다.</p>
<blockquote>
<p>PPO의 clipped update는 유지하되, value function 기반 advantage를 버리고 그룹 내 상대적 reward로 advantage를 계산한다.</p>
</blockquote>
<h1 id="7-dpo">7. DPO</h1>
<p>DPO(Direct Preference Optimization)는 PPO 기반 RLHF와 다른 목표를 푸는 방법이 아니라, 같은 목표를 더 직접적인 형태로 다시 쓰는 방법이라 할 수 있다. DPO 논문은 기존 RLHF가 보상 모델을 학습한 뒤 다시 RL로 정책을 최적화하는 단계를 하나의 preference optimization loss로 줄일 수 있다고 주장한다.</p>
<p>출발점은 4장에서 본 RLHF 목적함수이다. </p>
<p>$$
\pi^* = \arg\max_{\pi} \mathbb{E}<em>{x\sim \mathcal D,; y\sim \pi(\cdot\mid x)} \left[ r(x,y) - \beta D</em>{\mathrm{KL}}!\big(\pi(\cdot\mid x),|,\pi_{\mathrm{ref}}(\cdot\mid x)\big) \right]
$$</p>
<p>위 objective를 최대로 만드는 최적의 정책 $\pi^*(y\mid x$)는 다음의 꼴을 갖는다.</p>
<p>$$
\pi^*(y\mid x) = \frac{1}{Z(x)} \pi_{\mathrm{ref}}(y\mid x) \exp!\left(\frac{1}{\beta}R(x,y)\right)
$$</p>
<p>여기서 $Z(x)$는 분배함수(partition function)이다. 위 식의 분자만 보면 각 응답 $y$에 대해</p>
<p>$$
\pi_{\mathrm{ref}}(y\mid x)\exp!\left(\frac{1}{\beta}R(x,y)\right)
$$</p>
<p>라는 점수가 계산된다. 그런데 이 점수들은 아직 확률이 아니다. 값들을 그대로 더하면 1이 되지 않을 수 있기 때문이다. 그래서 모든 후보 응답의 점수를 다 더한 값으로 나누어, 전체 합이 1이 되도록 맞춘다. 그 역할을 하는 것이 $Z(x)$이다. </p>
<p>이 과정을 아주 직관적으로 보면 이렇다. 어떤 입력 $x$에 대해 가능한 응답이 세 개 $y_1, y_2, y_3$ 있다고 하자. 각 응답에 대해 $\pi_{\mathrm{ref}}(y_i\mid x)\exp(R(x,y_i)/\beta)$를 계산하면 세 개의 양수가 나온다. 이를 각각 $w_1, w_2, w_3$이라고 하면, 최종 확률은 $\pi^*(y_i\mid x)=\frac{w_i}{w_1+w_2+w_3}$가 된다. 즉 $Z(x)$는 점수들을 확률로 바꾸기 위해 전체 합으로 나눠주는 값이다. 다시 말해 확률의 총합을 1로 맞춰주는 상수이다.</p>
<p>다음 단계에서는 양변에 로그를 취한 뒤 정리하면 보상을 다음처럼 다시 쓸 수 있다.</p>
<p>$$
R(x,y) = \beta \log \frac{\pi^*(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)} + \beta \log Z(x)
$$</p>
<p>원래는 &#39;보상이 주어지면 최적 정책을 구한다&#39;는 방향이었는데, 이제는 반대로 &#39;최적 정책과 참조 정책의 비율로 보상을 표현한다&#39;는 방향으로 바뀌었다. 여기서 첫 번째 항은 응답 $y$에 따라 달라지지만, 두 번째 항 $\beta log Z(x)$는 입력 $x$에만 의존하고 응답 $y$에는 의존하지 않는다. 다시 말해, 같은 입력 아래에서는 모든 후보 응답에 똑같이 더해지는 상수이다. </p>
<p>DPO와 RLHF의 보상 모델은 보통 Bradley-Terry model을 사용한다. 즉 하나의 입력 $x$에 대해 두 응답 $y_w$, $y_l$이 있을 때, 사람이 $y_w$를 더 선호할 확률은 두 보상의 차이로 결정된다고 본다.</p>
<p>$$
p^<em>(y_w \succ y_l \mid x) = \sigma\big(R^</em>(x,y_w)-R^*(x,y_l)\big)
$$</p>
<p>여기서 $\sigma$는 sigmoid 함수이다. 
이제 방금 얻은 보상의 재표현을 그대로 대입해보자. </p>
<p>$$
R^<em>(x,y_w) = \beta \log \frac{\pi^</em>(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)} + \beta \log Z(x)
$$</p>
<p>$$
R^<em>(x,y_l) = \beta \log \frac{\pi^</em>(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)} + \beta \log Z(x)
$$</p>
<p>따라서 보상의 차이는</p>
<p>$$
R^<em>(x,y_w)-R^</em>(x,y_l)
$$
$$
= \left( \beta \log \frac{\pi^<em>(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)} + \beta \log Z(x) \right) - \left( \beta \log \frac{\pi^</em>(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)} + \beta \log Z(x) \right)
$$
$$
= \beta \log \frac{\pi^<em>(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)} - \beta \log \frac{\pi^</em>(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)}
$$</p>
<p>가 된다. 여기서 $\beta \log Z(x)$는 상쇄된다. 따라서 선호 확률은 다음처럼 쓸 수 있다.</p>
<p>$$
p^<em>(y_w \succ y_l \mid x) = \sigma\left( \beta \log \frac{\pi^</em>(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)} - \beta \log \frac{\pi^*(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)} \right)
$$</p>
<p>즉 사람의 pairwise preference를 더 이상 &#39;명시적인 보상 모델의 출력 차이&#39;로만 볼 필요가 없다. 참조 정책 대비 선택된 응답과 거절된 응답의 상대적 log-probability 차이로도 표현할 수 있다. 최적 정책 $\pi^*$를 찾기 위해, 우리가 학습할 정책 $\pi_\theta$로 바꿔 놓고 최대 우도 학습을 하면 된다. 그러면 DPO loss는 다음과 같이 된다.</p>
<p>$$
\mathcal L_{\mathrm{DPO}}(\theta) = - \mathbb{E}<em>{(x,y_w,y_l)\sim \mathcal D} \left[ \log \sigma \left( \beta \log \frac{\pi_\theta(y_w\mid x)}{\pi</em>{\mathrm{ref}}(y_w\mid x)} - \beta \log \frac{\pi_\theta(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)} \right) \right]
$$</p>
<p>이 식을 직관적으로 읽으면 다음과 같다. 입력 $x$에 대해 $y_w$가 $y_l$보다 더 선호되는 응답이라면 학습은 </p>
<p>$$
\log \frac{\pi_\theta(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)}
$$</p>
<p>는 키우고, 반대는 줄이는 방향으로 진행된다. DPO는 명시적인 보상 모델을 사용하는 대신, $\hat R_\theta(x,y)=\beta \log \frac{\pi_\theta(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)}$를 암묵적인 보상으로 사용한다. DPO는 offline preference dataset $(x, y_w, y_l)$만 있으면 되므로 명시적인 보상 모델도, critic도, PPO 같은 RL loop도 필요 없다.</p>
<h1 id="8-simpo">8. SimPO</h1>
<p>DPO가 거대한 보상 모델을 사용하지 않고 파이프라인을 혁신적으로 단순화했다면, SimPO(Simple Preference Optimization)는 한 걸음 더 나아가 메모리를 차지하던 참조 모델마저 사용하지 않는 방법론이다.</p>
<p>DPO의 수식을 보면 을 보면 $\pi_\theta$가 $\pi_{\text{ref}}$에서 너무 멀어지지 않도록 하는 마진 역할을 하도록 하기 위해 항상 두 모델의 확률을 동시에 계산해야 한다. 하지만 SimPO에서는 &#39;응답 시퀀스의 평균 로그 확률&#39; 자체를 암묵적 보상으로 사용하면 굳이 참조 모델이 필요 없다&#39;는 점을 보인다.</p>
<p>$$
r_{\text{SimPO}}(x,y) = \frac{1}{|y|} \sum_{i=1}^{|y|} \log \pi_\theta(y_i \mid x, y_{&lt;i})
$$</p>
<p>SimPO는 이 평균 로그 확률을 바로 Bradley-Terry 모델에 대입하고, 선호/비선호 응답 사이에 최소한 마진 $\gamma$ 이상의 확률 격차가 벌어지도록 하여 다음과 같은 목적함수를 도출한다.</p>
<p>$$
\mathcal{L}<em>{\mathrm{SimPO}}(\theta) = - \mathbb{E}</em>{(x, y_w, y_l)} \left[ \log \sigma \left( \beta \left( r_{\text{SimPO}}(x, y_w) - r_{\text{SimPO}}(x, y_l) \right) - \gamma \right) \right]
$$</p>
<p>이 방식은 학습 중 $\pi_{\text{ref}}$를 띄울 필요가 없어 메모리 효율이 DPO 보다 뛰어나다.</p>
<h1 id="9-ppo-grpo-dpo-simpo의-비교">9. PPO, GRPO, DPO, SimPO의 비교</h1>
<p>지금까지 살펴본 알고리즘들은 모두 post-training 과정에서 정책을 더 바람직한 방향으로 옮기기 위한 방법이지만, 무엇을 학습 신호로 쓰고 어떻게 업데이트하는지에서 뚜렷한 차이를 지닌다.</p>
<ul>
<li><p>PPO: 가장 일반적인 출발점이다. 보상 모델과 critic(value function)을 모두 띄워놓고 online RL을 수행한다. 다양한 alignment 문제에 적용 가능하지만, 4개의 거대한 모델이 필요하고 하이퍼파라미터 튜닝이 까다롭다.</p>
</li>
<li><p>GRPO: PPO의 뼈대는 유지하되, 같은 그룹 내 응답들의 상대 평가를 통해 무거운 critic 모델을 제거했다. 메모리를 크게 절약하면서도 수학/코딩과 같은 exploration 중심의 task에 잘 맞는다.</p>
</li>
<li><p>DPO: 수학적 치환을 통해 RL loop 자체를 제거했다. 오프라인 선호도 데이터셋만으로 binary cross-entropy를 풀듯 직관적으로 최적화한다.</p>
</li>
<li><p>SimPO: DPO에서 한 걸음 더 나아가 참조 모델마저 제거한 경량화 기법이다. 평균 로그 확률을 보상으로 삼아 메모리 효율을 극대화한다.</p>
</li>
</ul>
<h1 id="10-reasoning-rl의-부상-reward와-online-rl">10. reasoning RL의 부상: reward와 online RL</h1>
<p>DPO가 human preference alignment를 더 단순한 형태로 정리했다면, 최근의 reasoning LLM 흐름은 다시 online RL의 중요성을 부각시키고 있다. 그 이유는 reasoning task에서는 단순히 &#39;어느 응답이 선호되는가&#39;보다 실제로 답이 맞는가, 형식을 지켰는가, 제약을 만족했는가가 더 직접적인 학습 신호가 되기 때문이다. </p>
<p>이 변화는 post-training의 중심 질문이 &#39;사람이 더 좋아하는 응답은 무엇인가&#39;에서 &#39;어떤 시도가 실제로 더 잘 풀었는가&#39;로 옮겨가는 과정을 보여준다. 이 차이는 학습 방식에도 직접 반영된다. offline preference dataset은 이미 수집된 응답들 사이에서 우열을 가리는 데는 강하지만, 모델이 새로운 reasoning path를 능동적으로 탐색하도록 유도하는 데에는 한계가 있다.</p>
<p>반면 online RL은 현재 정책으로부터 응답을 샘플링하고 그 결과에 따라 다시 정책을 바꾸기 때문에, 모델 스스로 다양한 trajectory를 시도해 보고 새로운 행동 패턴을 학습할 수 있다. DAPO 논문에서 &quot;test-time scaling과 long-CoT를 가능하게 한 중심 기술이 large-scale RL&quot;이라고 언급한 이유도 여기에 있다.</p>
<p>또한 학습 신호가 human feedback에서 검증 가능한 보상으로 확장되었다. 수학 문제의 정답 비교, 코드 실행 결과처럼 규칙 기반으로 판정 가능한 신호가 많아졌기 때문이다. 이는 post-training의 목표가 &#39;사람처럼 답하기&#39;에서 점차 &#39;검증 가능한 방식으로 더 잘 추론하기&#39;로 확장되고 있음을 보여준다. 결과적으로 alignment를 위해서는 DPO/SimPO가 효과적일 수 있지만, 고도의 추론을 위해서는 명확한 보상과 onine RL의 조합이 다시 중심으로 돌아오고 있다.</p>
<h1 id="11-grpo-이후의-안정화-dapo-dcpo-gdpo">11. GRPO 이후의 안정화: DAPO, DCPO, GDPO</h1>
<p>GRPO는 critic 없이도 reasoning RL을 수행할 수 있게 만들었지만, 그것이 곧바로 안정적인 대규모 RL을 보장하지는 않았다. 이후 연구들은 GRPO의 기본 구조는 유지하되, 실제 학습 신호가 무너지거나 왜곡되는 지점을 보완하는 데 집중했다. DAPO는 long-CoT 환경에서의 탐색과 학습 안정성을, DCPO는 zero gradient와 token-level clipping 비효율을, GDPO는 multi-reward 환경에서의 보상 붕괴(reward collapse)를 겨냥했다.</p>
<h2 id="111-dapo-long-cot-rl을-위한-안정화">11.1. DAPO: long-CoT RL을 위한 안정화</h2>
<p>DAPO 논문에서는 PPO나 GRPO를 그대로 적용할 경우 정책의 entropy가 빠르게 감소하면서 응답들이 서로 거의 비슷해지고, 탐색이 너무 빨리 닫히는 현상을 관찰했다고 설명한다. 이 문제를 해결하기 위해 DAPO는 네 가지 장치를 사용한다. Clip-Higher, Dynamic Sampling, Token-level Policy Gradient Loss, Overlong Reward Shaping이 그것이다.</p>
<p>먼저 Clip-Higher는 upper clip이 낮은 확률의 탐색 토큰을 충분히 끌어올리지 못한다는 문제에서 출발한다. DAPO는 기존의 대칭적 clipping이 exploration 토큰의 확률 상승을 지나치게 억제한다고 보고, upper clip을 더 높게 두는 방식으로 탐색 공간을 넓힌다. 즉, 희귀하지만 유망한 토큰이 실제로 확률을 올릴 수 있도록 하는 것이다.</p>
<p>둘째, Dynamic Sampling은 동일한 보상만 나오는 그룹을 걸러내는 전략이다. DAPO 목적함수에서는 </p>
<p>$$
0 &lt; |{y^{(g)} \mid \mathrm{is_equivalent}(y^*,y^{(g)})}| &lt; G
$$</p>
<p>라는 조건이 붙어 있는데, 이는 한 그룹 안의 모든 응답이 전부 맞거나 전부 틀려서 유효한 상대 신호가 사라지는 경우를 제외하겠다는 뜻이다. 저자들은 이런 zero-gradient 그룹을 계속 학습에 포함시키는 것보다, 걸러내고 다시 샘플링하는 편이 더 낫다고 본다.</p>
<p>셋째, Token-level Policy Gradient Loss는 긴 응답이 gradient를 과도하게 지배하거나, 반대로 sample-level 평균이 긴 응답 내부의 나쁜 패턴을 충분히 억제하지 못하는 문제를 겨냥한다. DAPO는 token-level로 합산한 뒤 전체 token 수로 나누는 형태를 사용해, 긴 시퀀스 내부의 국소적 패턴도 더 직접적으로 학습 신호에 반영되도록 만든다. 저자들은 이 변화가 성능 향상 자체보다도 training stability와 더 건강한 length 증가를 가져온다고 보고한다.</p>
<p>넷째, Overlong Reward Shaping은 truncated sample에 대한 보상 설계를 다룬다. 기본적으로 최대 길이를 넘긴 응답에 대해 처벌하는 보상을 주면, 실제 추론은 타당했음에도 단지 길다는 이유로 잘못된 학습 신호가 들어갈 수 있다. DAPO는 이를 reward noise로 보고, overlong filtering과 length-aware penalty를 통해 더 부드럽게 length를 제어한다. 핵심은 &#39;긴 응답을 무조건 나쁘다고 찍는 것&#39;이 아니라, 길이 초과가 reasoning validity 자체와 혼동되지 않도록 만드는 것이다. </p>
<h2 id="112-dcpo-zero-gradient와-fixed-clipping의-비효율-극복">11.2. DCPO: zero gradient와 fixed clipping의 비효율 극복</h2>
<p>DCPO는 동일 reward standardization 때문에 advantage가 0이 되어버리는 문제, fixed clipping이 rare token exploration에 불리한 문제를 다룬다. 저자들은 DAPO가 zero-gradient 그룹을 필터링하는 방식으로 문제를 완화했지만, 이는 샘플링의 효율을 떨어뜨린다고 본다.</p>
<p>DCPO의 첫 번째 축은 Smooth Advantage Standardization (SAS) 이다. GRPO 계열에서는 현재 step에서 생성된 응답들만 가지고 보상을 표준화하는데, 이 경우 우연히 보상이 모두 같아지면 advantage가 0이 되어 prompt 전체가 업데이트에 기여하지 못한다. DCPO는 이를 보완하기 위해, 현재 step의 보상 분포와 지금까지 누적된 보상 분포를 함께 사용하는 cumulative-smooth standardization을 도입한다. 이 방식은 동일 보상이 나와도 완전히 0이 되는 것을 줄이고, high-entropy sampling 때문에 step마다 advantage가 크게 흔들리는 문제도 완화한다. 즉 DCPO는 &#39;이번 step에서 차이가 없더라도, 지금까지의 분포 맥락에서는 여전히 학습 신호를 줄 수 있다&#39;는 방향으로 advantage를 재정의한다.</p>
<p>두 번째 축은 Dynamic Adaptive Clipping (DAC) 이다. DCPO는 fixed clipping bound가 과거 정책에서 확률이 낮은 토큰에 대해 너무 보수적으로 작동한다고 본다. 희귀한 토큰은 조금만 확률을 올리려 해도 upper bound에 빨리 걸리기 때문에, 탐색이 제한된다는 것이다. 이를 해결하기 위해 DCPO는 clipping bound를 토큰의 과거 확률 $q(x)$에 따라 다르게 두는 확률 의존적 clipping을 제안한다. 확률이 낮은 토큰일수록 더 넓은 상한선을 주고, 확률이 높은 토큰은 더 보수적으로 제한한다.</p>
<p>DCPO는 여기에 개별 응답 하나 내에서만 토큰 단위의 손실 평균을 사용하는 손실 함수(Only Token Meas Loss)도 추가한다. 이는 batch 전체에 걸친 averaging이 response 간 상대적 advantage 구조를 희석시킨다고 보고, 각 응답 내부에서만 토큰 평균을 취하는 방식으로 loss를 바꾼 것이다. 즉, GRPO의 response-level signal을 token 수준으로 나누되, batch 차원에서 정보가 희석되는 것은 피하려는 설계이다.</p>
<p>정리하면, DCPO의 핵심은 유효한 advantage를 더 자주 남기고, 희귀 토큰에 더 많은 탐색 공간을 허용하며, response-level 신호가 batch 평균 속에서 희석되지 않도록 하는 것이다.</p>
<h2 id="113-gdpo-multi-reward-환경에서-reward-collapse-방지">11.3. GDPO: multi-reward 환경에서 reward collapse 방지</h2>
<p>reasoning RL이 발전할수록 reward는 correctness 하나만으로 끝나지 않는다. 실제로는 correctness, format, length, bug ratio, tool validity처럼 서로 다른 성격의 reward를 동시에 최적화해야 하는 경우가 많다. GDPO는 바로 이 multi-reward 환경에서, 기존 GRPO를 그대로 적용하면, 포맛을 맞혀 점수를 받은 것인지 정답을 맞혀 점수를 받은 것인지 구분할 수 없게 되는 보상 붕괴가 발생함을 지적한다.</p>
<p>GDPO의 해결책은 group reward-decoupled normalization이다. 말 그대로 보상을 한 번에 합쳐 정규화하지 않고, 각 보상 차원을 먼저 따로 정규화한 뒤 이를 결합한다. </p>
<p>$$
A_k^{(g)} = \frac{r_k^{(g)} - \operatorname{mean}(r_k^{(1)}, \dots, r_k^{(G)})}{\operatorname{std}(r_k^{(1)}, \dots, r_k^{(G)})}
$$</p>
<p>이렇게 하면 correctness와 length처럼 서로 성격이 서로 다른 보상이 한 번의 표준화 안에서 서로를 덮어쓰지 않고, 각 보상 차원의 상대적 차이가 더 잘 보존된다. 그 뒤에는 보상의 개수가 많아져도 advantage scale이 과도하게 커지지 않도록 batch-wise normalization을 추가한다.</p>
<p>$$A_{sum}^{(g)} = \sum_k A_k^{(g)}$$</p>
<p>저자들은 GRPO 대비 GDPO가 correctness와 constraint adherence를 동시에 더 잘 달성했다고 보고한다. 예를 들어 math reasoning에서 correctness reward와 length reward를 함께 최적화할 때, GRPO는 쉬운 reward인 length를 먼저 빠르게 최대화하면서 correctness가 흔들리는 반면, GDPO는 correctness를 더 잘 회복하고 length 제약도 더 안정적으로 유지한다고 설명한다.</p>
<h2 id="114-소결">11.4. 소결</h2>
<p>정리하면, DAPO, DCPO, GDPO는 모두 GRPO의 뼈대 위에서 발생한 각기 다른 병목 현상을 타파하려는 시도였다. DAPO는 long-CoT reasoning RL을 위한 실용적인 탐색 기법들을 제시했고, DCPO는 advantage와 clipping의 비효율을 개선했으며, GDPO는 multi-reward 환경에서 서로 다른 보상을 붕괴 없이 동시에 최적화하고자 하였다.</p>
<h1 id="12-결론">12. 결론</h1>
<p>이 글은 LLM post-training에서 RL이 어떤 문제를 해결하기 위해 도입되었고, 그 과정에서 방법들이 어떻게 갈라졌는지를 따라왔다. 모든 논문을 다룬 것은 아니지만, 큰 흐름은 다음과 같이 정리할 수 있다.</p>
<p>첫째, pretraining과 SFT만으로는 사용자의 의도, 상대적 선호, 그리고 복잡한 추론 성능까지 직접 최적화하기 어렵다. 그래서 InstructGPT는 SFT -&gt; reward model -&gt; PPO라는 RLHF 파이프라인을 통해 human preference를 직접 학습 신호로 사용했고, 이것이 LLM 학습에 RL이 활용되는 중요한 기점이 되었다.</p>
<p>그 다음 갈림길은 두 방향으로 전개되었다. 한 방향은 RLHF를 더 단순하게 만들려는 흐름이었다. DPO는 수학적 치환으로 RL loop를 직접 수행하지 않는 형태로 objective를 설계했고, SimPO는 reference model 없이도 preference 최적화가 가능하도록 단순화했다.</p>
<p>다른 한 방향은 reasoning을 위해 RL을 다시 강화하는 흐름이었다. 모델이 스스로 정답을 찾아가야 하는 reasoning 영역에서는 탐색이 필수적이기에 다시 online RL이 호출되었다. 이 과정에서 PPO의 무거운 critic 모델을 덜어낸 GRPO가 등장했고, 다시 그 GRPO가 대규모 추론 환경에서 겪는 한계들을 극복하기 위해 DAPO, DCPO, GDPO와 같은 안정화 기법들이 등장했다.</p>
<p>결국 PPO, DPO, GRPO 등은 서로 우열을 가리는 경쟁자라기보다 풀고자 하는 문제에 맞는 선택지에 가깝다. 앞으로의 핵심 질문은, &#39;LLM 학습에 RL을 쓸 것인가 말 것인가&#39;가 아니라, &#39;어떤 reward를 어떤 objective로 바꾸고, 그 신호를 얼마나 안정적으로 policy에 전달할 것인가&#39;가 중요해질 것으로 보인다. </p>
<h1 id="참고">참고</h1>
<ul>
<li><a href="https://arxiv.org/abs/2203.02155">Training language models to follow instructions with human feedback</a></li>
<li><a href="https://arxiv.org/abs/2305.18290">Direct Preference Optimization: Your Language Model is Secretly a Reward Model
</a></li>
<li><a href="https://arxiv.org/abs/2402.03300">DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models</a></li>
<li><a href="https://arxiv.org/abs/2405.14734">SimPO: Simple Preference Optimization with a Reference-Free Reward</a> </li>
<li><a href="https://arxiv.org/abs/2503.14476">DAPO: An Open-Source LLM Reinforcement Learning System at Scale
</a></li>
<li><a href="https://arxiv.org/abs/2509.02333">DCPO: Dynamic Clipping Policy Optimization</a></li>
<li><a href="https://arxiv.org/abs/2601.05242">GDPO: Group reward-Decoupled Normalization Policy Optimization for Multi-reward RL Optimization</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Paper Review] Large Language Models are Effective Text Rankers with Pairwise Ranking Prompting]]></title>
            <link>https://velog.io/@kyle-bong/Paper-Review-Large-Language-Models-are-Effective-Text-Rankers-with-Pairwise-Ranking-Prompting</link>
            <guid>https://velog.io/@kyle-bong/Paper-Review-Large-Language-Models-are-Effective-Text-Rankers-with-Pairwise-Ranking-Prompting</guid>
            <pubDate>Sun, 08 Mar 2026 11:59:20 GMT</pubDate>
            <description><![CDATA[<h1 id="abstract">Abstract</h1>
<ul>
<li>리랭킹 task에서 기존 pointwise 및 listwise 방식은 LLM에게 지나치게 어려운 task였다.</li>
<li>본 연구에서는 이러한 부담을 경감하기 위해 한 쌍의 문서만을 비교하는 PRP(Pairwise Ranking Prompting) 기법을 제안한다.</li>
<li>중소형 오픈소스 LLM을 사용하여 GPT-4와 대등한 성능을 보였다.</li>
<li>또한 PRP의 여러 변형을 통해 성능을 유지하면서도 계산 복잡도를 선형(linear) 수준까지 낮출 수 있었다.</li>
</ul>
<h1 id="1-instruction">1. Instruction</h1>
<p>GPT-3과 같은 모델들은 제로샷에서도 잘 동작하지만, text ranking은 별도로 학습된 모델들에 비해 성능이 좋지 않다. Pointwise 방식의 경우, 모델이 각 문서의 보정된 예측값을 매겨야 하는데, LLM이 이를 어려워한다. Listwise 방식의 경우, LLM(특히 중소형 모델)은 모순되거나 쓸모없는 결과물을 생성한다.
따라서, 본 연구에서는 중소형 오픈소스 모델만으로도 좋은 성능을 낼 수 있는 PRP 방법을 제안한다.</p>
<h1 id="2-difficulties-of-ranking-tasks-for-llms">2. Difficulties of ranking tasks for LLMs</h1>
<h2 id="21-pointwise">2.1. Pointwise</h2>
<ul>
<li>LLM이 출력하는 <code>yes</code> 토큰의 확률값이 일관되어야 하는데 그렇지 않다.</li>
<li>또한 ranking은 결국 문서들 간의 상대적인 순서를 비교하는 것인데, 하나씩 점수를 매기는 방식은 불필요하다.</li>
<li>GPT-4와 같은 모델들(API)는 확률값을 제공하지 않아서 이 방식을 사용할 수 없다.</li>
</ul>
<h2 id="22-listwise">2.2. Listwise</h2>
<p>Listwise 방식의 오류 유형</p>
<ul>
<li>누락(Missing): 모든 문서 번호를 다 출력해야 하는데, 출력 결과에서 문서의 일부를 생략하는 오류</li>
<li>거부(Rejection): ranking을 매기지 않고 다른 결과를 출력하는 오류 </li>
<li>반복(Repetition): 똑같은 문서 번호를 여러 번 출력하는 오류</li>
<li>불일치(Inconsistency): 문서들의 순서를 바꾸어 입력할 때 출력 결과 순위가 완전히 뒤바뀌는 오류</li>
</ul>
<h1 id="3-pairwise-ranking-prompting">3. Pairwise Ranking Prompting</h1>
<h2 id="31-prompting-design">3.1. Prompting design</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/5fb7c576-ca89-4a07-9915-c421bd094030/image.png" alt=""></p>
<p>LLM에게 질의와 2개의 문서를 제공하고, 어떤 문서가 질의와 더 관련 있는지를 질문한다.</p>
<p>이 방식은 텍스트를 생성하는 generation mode와, 로그 확률을 계산하는 scoring mode를 모두 지원한다.</p>
<p>scoring mode를 사용하면, LLM이 엉뚱한 결과를 출력하는 문제를 완화할 수 있으므로, 기본 결과는 scoring mode를 기반으로 하였다.</p>
<p>또한, LLM이 문서 입력 순서에 민감한 점을 고려하여, 문서의 순서를 바꿔서도 테스트를 진행하였다. 순서가 일치하면 그대로 적용하였고, 서로 다르게 출력되면 <code>d1=d2</code>인 것으로 간주하였다.</p>
<h2 id="32-all-pair-comparisons">3.2. All pair comparisons</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/06fae2c0-342a-43b2-b605-5a108ae6719c/image.png" alt=""></p>
<p>모든 문서 쌍을 나열해서 비교하고, 비교하여 얻은 점수 (0, 0.5, 1)를 합산해서 최종 순위를 정한다.</p>
<p>이 방식은 구현이 단순하고 병렬 처리가 가능하며, 입력 순서에 영향을 받지 않는다.</p>
<p>단, 계산 복잡도가 $O(N^2)$ 라서 고비용이다.</p>
<h2 id="33-sorting-based">3.3. Sorting-based</h2>
<p>계산 복잡도는 $O(N)$이다. 상위 K개만 중요하면, K번만 반복하면 되기 때문에 효율성을 극대화할 수 있다.</p>
<p>본 연구에서는 Heapsort 방식을 사용햐여 계산 복잡도를 $O(NlogN)$으로 보장하였다.</p>
<p>실험 결과, 입력 순서에 큰 영향을 받지 않았다.</p>
<h2 id="34-sliding-window">3.4. Sliding window</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/ef25d1b3-29c3-4e5e-984c-ab59b3469dbc/image.png" alt="">
한 번의 슬라이딩 윈도우 pass는 Bubble Sort의 pass와 유사하다. </p>
<p>최초 ranking 목록이 주어졌을 때, 하위부터 시작하여 문서 한 쌍을 비교하고, 더 관련 있는 문서를 앞으로 배치한다(순위를 뒤바꾼다). </p>
<p>하나의 pass는 $O(N)$ 시간 복잡도만 요구한다. </p>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/16f2aa57-db4d-4141-8b02-fe62aa424919/image.png" alt=""></p>
<h1 id="4-experiments-on-trec-dl-datasets">4. Experiments on TREC DL datasets</h1>
<h2 id="41-datasets-and-metrics">4.1. Datasets and Metrics</h2>
<ul>
<li>TREC-DL 2019, 2020 사용</li>
<li>MS MARCO</li>
<li>BM25으로 상위 100개를 추출하여, LLM으로 Reranking 수행</li>
</ul>
<h2 id="42-methods">4.2. Methods</h2>
<ul>
<li>Supervised baseline (monoBERT, monoT5, RankT5)</li>
<li>LLM-based baseline (Unsupervised Passage Reranker, Relevance Generation, RankGPT, Listwise Reranker)</li>
</ul>
<h2 id="43-main-results">4.3. Main Results</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/1ae98634-18db-45cf-8be6-240e20cb70a0/image.png" alt=""></p>
<ul>
<li>FLAN-UL2(20B) 모델로 GPT-4와 유사한 성능 달성</li>
<li>FLAN-T5-XL, FLAN-T5-XXL도 좋은 성능 달성. PRP가 단순한 방식이기 때문에 작은 LLM에서도 일반화가 잘 된다는 것을 시사한다.</li>
<li>gpt-3.5-turbo, text-davinci-003보다 더 안정적인 성능 달성</li>
</ul>
<h1 id="5-experiments-on-beir-datasets">5. Experiments on BEIR datasets</h1>
<h2 id="51-datasets-and-metrics">5.1. Datasets and metrics</h2>
<ul>
<li>BEIR epdlxjtpt tkdyd</li>
<li>NDCG@10 사용</li>
</ul>
<h2 id="52-methods">5.2. Methods</h2>
<ul>
<li>TREC 실험과 동일한 프롬프트 사용</li>
</ul>
<h2 id="53-main-results">5.3. Main Results</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/9a1155ba-6f0f-4d31-87fe-6b219f183b16/image.png" alt=""></p>
<ul>
<li>FLAN-UL2 기반 PRP가 가장 좋은 성능을 보였다.</li>
<li>RankGPT보다 4.2% 더 높은 성능을 달성하였고, 기존 pointwise 방식들보다는 10% 이상 우수하였다.</li>
<li>RankT5보다도 7개 중에서 5개 데이터셋에서 더 낫거나 유사하였다.</li>
</ul>
<h1 id="6-ablation-studies">6. Ablation studies</h1>
<h3 id="robustness-to-input-ordering">Robustness to input ordering</h3>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/40344bbd-d2b1-4674-80ab-999c808ff106/image.png" alt=""></p>
<p>listwise 방식은 문서 입력 순서에 따라서 성능이 크게 차이나는 이슈가 있었다.</p>
<p>PRP 방식에서도 같은 현상이 나타나는가를 확인하기 위해 BM25결과를 역순으로 정렬하여 성능을 확인하였다.</p>
<p>PRP-Allpair의 경우 성능 변화가 거의 없었고, PRP-Sliding-10에서도 성능이 유지되었다.</p>
<h3 id="comparison-of-scoring-mode-and-generation-mode">Comparison of scoring mode and generation mode</h3>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/f18962b0-5709-4dea-a9ca-bc704a91626b/image.png" alt=""></p>
<p>PRP 방식은 scoring mode나 generation mode 모두에서 
일관된 성능을 보였다.</p>
<h3 id="study-on-sliding-window">Study on sliding window</h3>
<p>뒤에서부터 앞으로 비교하는 Backward 방식이 더 효과적이었다.</p>
<p>정렬 반복 횟수를 늘릴수록 nDCG가 더 개선되었다.</p>
<h1 id="7-discussion">7. Discussion</h1>
<h3 id="extendability">Extendability</h3>
<ul>
<li>설계가 단순해서 즉시 적용 가능하다.</li>
<li>정교한 프롬프트 설계 혹은 api 점수값과 같은 추가 정보를 활용해서 성능을 더욱 개선할 수 있다.</li>
</ul>
<h3 id="reproducibility">Reproducibility</h3>
<ul>
<li>9개의 데이터셋에 모두 동일한 프롬프트를 사용해서 재현 가능성을 확보하였다.</li>
</ul>
<h3 id="cost-and-efficiency">Cost and Efficiency</h3>
<ul>
<li>오픈소스 모델을 활용하여 비용 부담을 감소하였다.</li>
</ul>
<h3 id="data-leakage-from-llms">Data Leakage from LLMs</h3>
<ul>
<li>오픈소스 모델을 활용하여, label leakage를 최소화하였다.</li>
<li>동일한 LLM으로 pointwise, listwise를 모두 비교하여 실험의 공정성을 확보하였다.</li>
</ul>
<h1 id="9-conclusion">9. Conclusion</h1>
<p>본 연구에서는 Pairwise prompting 기법을 제안하였고, 이 방법을 통해 LLM의 task 부담을 줄여서, 중소형 오픈소스 모델의 text ranking 성능 향상을 확인할 수 있었다. </p>
<p>PRP 방법은 입력 순서와 무관하게 결과가 유지되고, scoring, generation mode 모두에서 잘 작동되므로 활용도가 높다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Paper Review] RankGPT(2024): Is ChagGPT good at search? Investigating Large Language Models as Re-Ranking Agents]]></title>
            <link>https://velog.io/@kyle-bong/Paper-Review-RankGPT2024-Is-ChagGPT-good-at-search-Investigating-Large-Language-Models-as-Re-Ranking-Agents</link>
            <guid>https://velog.io/@kyle-bong/Paper-Review-RankGPT2024-Is-ChagGPT-good-at-search-Investigating-Large-Language-Models-as-Re-Ranking-Agents</guid>
            <pubDate>Sun, 08 Mar 2026 10:38:58 GMT</pubDate>
            <description><![CDATA[<h1 id="abstract">Abstract</h1>
<ul>
<li>LLM은 다양한 태스크에서 뛰어난 제로샷 생성 능력을 보여왔지만, 기존 연구들은 LLM을 IR에 적용할 때 재정렬보다는 텍스트 생성 능력을 활용하는 데 그쳤다.</li>
<li>본 논문은 ChatGPT, GPT-4와 같은 LLM의 재정렬 능력을 조사하였고, 실험 결과 적절한 지시를 받은 LLM은 IR 벤치마크에서 SOTA supervised 방식을 뛰어넘는 성능을 보였다.</li>
<li>평가 데이터의 데이터 오염을 고려하기 위해 NovelEval 데이터셋을 수집하였다.</li>
<li>사용성을 고려해, 순열 증류(permutation distillation) 기법을 이용해 ChatGPT의 재정렬 능력을 소형 특화 모델에 증류하였다. 그 결과, BEIR 벤치마크에서 증류한 440M 모델이 3B 모델을 뛰어넘었다.</li>
</ul>
<h1 id="1-introduction">1. Introduction</h1>
<p>IR 시스템은 검색(Retrieval), 재정렬(re-ranking) 파이프라인으로 구성된다. 하지만 기존의 재정렬 방식들은 사람의 공수가 들어가는 지도학습 데이터에 지나치게 의존하여, 비용이 많이 들고 일반화하기 어렵다는 한계가 있었다.</p>
<p>LLM의 제로샷 생성 능력을 IR 영역에 활용하려는 연구가 늘어났지만, 문서들의 순위를 매기기보다는 질문이나 문단을 생성해내는 내용 생성에만 치중하였다. </p>
<p>LLM의 능력을 재정렬에 활용하기 위해서는 유저의 요구사항을 이해해야 하고, 질문과 문서 간의 관련성을 전체적으로 비교할 수 있어야 한다. </p>
<p>이에 본 논문은 다음과 같은 연구 질문을 해결하는 데 집중한다.</p>
<ul>
<li>RQ 1. ChatGPT를 문서 재정렬 작업에 투입하면 얼마나 잘할까?</li>
<li>RQ 2. 어떻게 하면 ChatGPT의 재정렬 능력을, 소형 특화 모델에 효율적으로 모방시킬 수 있을까?</li>
</ul>
<p>위 연구 질문을 해결하기 위해 제안하는 해결책</p>
<ol>
<li><strong>순열 생성</strong>(<strong>Permutation Generation), Sliding Window</strong><ul>
<li>LLM에게 직접 문서 번호를 관련된 순서대로 나열하라고 지시한다.</li>
<li>context 길이 제한을 극복하기 위해 그룹 단위로 묶어서 순위를 매기는 Sliding Window 전략을 사용한다.</li>
</ul>
</li>
<li><strong>NovelEval</strong><ul>
<li>기존 평가 데이터들은 이미 LLM 학습에 사용되어, 데이터 오염 가능성이 있다. 이를 방지하기 위해 최신 지식을 묻는 새로운 평가 데이터셋을 수집한다.</li>
</ul>
</li>
<li><strong>순열 증류(Permutation Distillation)</strong><ul>
<li>MS MARCO 데이터셋에서 무작위로 1만 개의 질문들을 추출하고, 후보 문서 20개씩을 BM25로 찾아낸다. 이후 ChatGPT가 이에 대해 예측한 순위 순열을 정답지로 삼아서, 학생 모델을 학습한다. 이때 RankNet 목적함수를 사용한다.</li>
</ul>
</li>
</ol>
<p><strong>Contributions</strong></p>
<ol>
<li>LLM의 문서 재정렬을 위한 지시 방법을 조사하였고, 순열 생성 방식을 제안한다.</li>
<li>ChatGPT, GPT-4를 다양한 재정렬 벤치마크에 대해 평가하였고, NovelEval 평가셋을 제안한다.</li>
<li>ChatGPT가 생성한 순열을 기반으로 소형 특화 모델을 증류하는 방법을 제안한다.</li>
</ol>
<hr>
<h1 id="2-related-work">2. Related Work</h1>
<h2 id="21-information-retireval-with-llms">2.1. Information Retireval with LLMS</h2>
<p>기존 연구들의 LLM 활용 방식</p>
<ul>
<li>문서 검색<ul>
<li>GPT를 이용해 텍스트 임베딩 생성 (SGPT)</li>
<li>GPT-3을 이용해 가짜 문서를 생성 (HyDE)</li>
</ul>
</li>
<li>재정렬<ul>
<li>지시 기반의 질문 생성 방식(UPR, SGPT-CE)</li>
<li>Relevance generation (HELM)</li>
</ul>
</li>
<li>학습 데이터 생성<ul>
<li>GPT-3을 활용해 가짜 질문 생성 (InPars)</li>
<li>few-shot dense 검색으로 도메인에 대한 설명을 연결하여 가짜 질문 생성 (Promptagator)</li>
</ul>
</li>
</ul>
<p>→ 본 논문은 ChatGPT, GPT-4를 재정렬 작업에 직접 활용하며, 지시 기반의 순열 생성 방식을 제안하고 다양한 벤치마크에서 평가한다.</p>
<p>최근 다른 연구(Ma et al., 2023)에서도 리스트 단위 문서 재정렬을 조사했지만, 본 연구는 새로운 데이터셋(NovelEval)을 포함하여 더 포괄적인 평가를 제공하고, 순열 증류 방법 또한 검증한다는 차이점이 있다.</p>
<h2 id="22-llms-specialization">2.2. LLMs Specialization</h2>
<p>비용 절감을 위해 지식 증류를 위한 연구들이 진행되어왔다.</p>
<ul>
<li>Reasoning 능력 증류</li>
<li>Self-instruct (GPT-3의 출력 결과를 활용한 증류)</li>
</ul>
<p>→ 본 논문에서는 ChatGPT를 teacher로 활용하여, 재정렬에 전문화된 모델을 얻기 위한 순열 증류 방식을 제안한다.</p>
<hr>
<h1 id="3-passage-re-ranking-with-llms">3. Passage Re-Ranking with LLMs</h1>
<p>최신 IR 시스템은 일반적으로 검색과 재정렬로 이루어지는 파이프라인을 따른다. 검색 단계에서 대규모 코퍼스에서 후보군을 찾아내면, 재정렬 단계는 이 후보군들을 다시 정렬하여 더 정확한 목록을 출력하는 것을 목표로 한다.</p>
<p>최근 연구들은 질문 생성이나 관련성 생성(relevance generation) 과 같이 제로샷 재정렬을 위해 LLM을 활용하는 방안을 탐구해왔다. 하지만 기존 방법들은 성능의 한계가 있으며, 모델이 출력하는 로그 확률을 얻을 수 있어야만 하는 한계가 있다. GPT-4와 같은 최신 모델에는 이와 같은 방법을 활용할 수가 없다.</p>
<p>이에 본 논문은 후보 문서 집합이 주어졌을 때 순위 목록을 직접 출력할 수 있도록, sliding window 전략과 permutation generation 방법을 제안한다.</p>
<hr>
<h2 id="31-instructional-permutation-generation">3.1. Instructional Permutation Generation</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/c00cce57-e6f5-42a6-919a-6be18cb7bae0/image.png" alt=""></p>
<ol>
<li>LLM에 입력을 넣을 문서 그룹을 넣을 때 각 문서마다 식별자 <code>[1], [2] 등</code> 을 넣어준다. </li>
<li>그런 다음 LLM에게 질문과의 관련성을 기준으로 문서를 내림차순으로 정렬한 순열을 생성하라고 지시한다.</li>
<li>LLM은 <code>[2] &gt; [3] &gt; [1]</code> 과 같은 형식으로 순열을 출력하게 된다. </li>
</ol>
<p>이러한 방법은 별도의 관련성 점수를 생성하지 않고, 문서들의 순위를 직접적으로 매긴다는 특징이 있다.</p>
<h2 id="32-sliding-window-strategy">3.2. Sliding Window Strategy</h2>
<p>LLM 입력 토큰 수 제한 때문에, 제한된 개수의 문서들에 대해서만 순위를 매길 수 있다. 이러한 제약을 극복하기 위해 슬라이딩 윈도우 전략을 제안한다.</p>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/29789f90-fbeb-42f8-aae3-7ed120eab011/image.png" alt=""></p>
<ol>
<li>검색 모델이 M개의 문서를 반환한다.</li>
<li>뒤에서부터, M-w 번째부터 M번째 까지의 문서 순위를 정렬한다. (w: window size)</li>
<li>윈도우를 s 스텝만큼 이동하여 M - w - s번째부터 M-s 번째 범위의 문서들을 다시 재정렬한다.</li>
<li>모든 문서가 재정렬될 때까지 반복한다.</li>
</ol>
<p><em>개인적인 의견: 왜 뒤에서부터 할까? 1단계 검색 결과에서 하위 순위로 잘못 평가된 문서를 점차 앞 순위로 올리기 위해 뒤에서부터 하는 것으로 보임</em></p>
<hr>
<h1 id="4-specialization-by-permutation-distillation">4. Specialization by Permutation Distillation</h1>
<p>ChatGPT, GPT-4는 좋지만 너무 비싸고, 지연이 걸릴 수 있다. 또한 생성 결과가 불안정할 수 있다. 이를 해결하기 위해 더 작은, 재정렬 특화 모델을 증류 방식으로 만들 수 있다.</p>
<h2 id="41-permutation-distillation">4.1. Permutation Distillation</h2>
<p>제안하는 방법과 기존 증류 방식 간의 핵심적인 차이점은, 일관성 확인(consistency-checking)이나 로그 확률을 거치지 않고, 그 대신에 모델이 생성한 순열 자체를 학습 목표 데이터로 사용한다.</p>
<p>이를 위해  MS MARCO 데이터셋에서 1만 개의 질문을 무작위 추출하고, 각 질문에 대해 BM25를 사용하여 20개의 후보 문서를 검색하였다.</p>
<p>이 증류의 목적은 학생 모델의 순열 출력 결과와 ChatGPT의 순열 출력 결과 사이의 차이를 줄이는 것이다.</p>
<h2 id="42-training-objective">4.2. Training Objective</h2>
<p>질문 q와, BM25로 검색한 M개의 문서들(p_1, …, p_M)이 있다고 가정해보자.</p>
<p>순열 생성 방식을 사용한 ChatGPT는 이 M개의 문서들의 랭킹 결과인 $R = (r_1, \dots, r_M)$ 을 생성할 수 있으며, 여기서 $r_i \in [1, 2, \dots, M]$ 는 문서 $p_i$의 순위를 의미한다.</p>
<p>파라미터 $\theta$를 갖는 크로스 인코더 기반 특화 모델  $s_i = f_\theta(q, p_i)$이 $(q, p_i)$ 쌍의 관련성 점수 $s_i$ 를 계산한다.</p>
<p>학생 모델을 최적화하기 위해 RankNet loss를 사용한다.</p>
<p>$\mathcal{L}<em>{RankNet} = \sum</em>{i=1}^{M} \sum_{j=1}^{M} \mathbb{1}_{r_i &lt; r_j} \log(1 + \exp(s_j - s_i))$</p>
<ul>
<li><em>RankNet: 질문과 각 문서 간의 관련성 점수 차이를 잘 맞히기 위한 loss 함수. 실제 정답 순위가 $r_i$ &lt; $r_j$ 일 때, 예측 점수도 $s_i &gt; s_j$ 라고 잘 맞힌다면, $s_j - s_i$ 가 음수가 되어 전체 loss는 아주 작게 부여된다. 반대로 예측 점수가 틀린다면 (</em>$s_j&gt; s_i$<em>),</em> $s_j - s_i$ <em>가 양수가 되어, 틀린 차이 만큼 큰 loss가 주어진다.</em></li>
</ul>
<h2 id="43-specialized-model-architecture">4.3. Specialized Model Architecture</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/996a5439-27e5-44bf-80da-f4d985e0defa/image.png" alt=""></p>
<h3 id="431-bert-like-model">4.3.1. BERT-like model</h3>
<p>DeBERTa-large 기반의 cross-encoder 모델을 활용한다. 질문과 문서를 [SEP] 토큰으로 연결하고, [CLS] 토큰의 representation 값으로 관련성 점수를 측정한다.</p>
<h3 id="432-gpt-like-model">4.3.2. GPT-like model</h3>
<p>LLaMA-7B를 활용한다. 제로샷 관련성 생성 지시문으로 프롬프팅한다.</p>
<p>relevance token의 확률 값으로 관련성 점수를 측정한다.</p>
<h1 id="5-datasets">5. Datasets</h1>
<h2 id="51-benchmark-datasets">5.1. Benchmark Datasets</h2>
<ul>
<li>TREC: TREC_DL19 (43개 질문), TREC_DL20 (54개 질문)</li>
<li>BEIR: covid(COVID-19 관련 질의), NFCorpus(bio-medical), Touche(argument), DBPedia(DBPedia 코퍼스), SciFact(주장 검증), Signal(트위터), News(헤드라인), Robust04(토픽)</li>
<li>Mr.TyDi: 저자원 언어(아랍어, 벵골어, 한국어 등. 각 언어에서 100개 샘플 추출)</li>
</ul>
<h2 id="52-a-new-test-set--noveleval">5.2. A New Test Set – NovelEval</h2>
<p>기존 벤치마크들은 수년 전에 수집된 것이기 대문에 , 기존 LLM이 이미 이 질문들에 대한 지식을 보유하고 있을 수 있다는 문제가 있다.</p>
<p>따라서 공정한 평가를 위해 최신 LLM이 아직 학습하지 못한 지식임을 보장하는,  지속적으로 업데이트되는 IR 테스트셋 구축을 제안한다.</p>
<p>그 초기 시도로, 21개의 새로운 질문이 포함된 NovelEval-2306을 구축하였다. GPT-4 출시 이후에 발표된 4개 도메인의 질문과 문서들을 모아 만들었으며, gpt-4-0314, gpt-4-0613에 질문을 던져보면서 gpt-4가 이들에 대한 사전 지식을 갖고 있지 않음을 검증하였다.</p>
<p>후보 문서는 각 질문에 대해 구글 검색을 사용하여 20개의 문서를 선정하였다. 이 문서들의 관련성은 수동으로 라벨링하였으며, 관련 없음(0), 부분 관련(1), 관련 있음(2)과 같이 부여하였다.</p>
<hr>
<h1 id="6-experimental-results-of-llms">6. Experimental Results of LLMs</h1>
<h2 id="61-implementation-and-metrics">6.1. Implementation and Metrics</h2>
<p>각 벤치마크 데이터셋에서 BM25로 검색한 top-100 개의 문서에 대해 재정렬을 수행한다. nDCG로 이를 평가한다.</p>
<p>앞서 언급한 슬라이딩 윈도우 방식을 사용하였고, window size=20, step size=10을 사용하였다.</p>
<p>NovelEval에서는 20개의 후보 문서를 무작위 순서로 섞었고, ChatGPT, GPT-4의 순열 생성으로 이들을 재정렬하였다.</p>
<h2 id="62-results-on-benchmarks">6.2. Results on Benchmarks</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/e4e2f4b1-09ce-418f-ba08-8ce440751fcb/image.png" alt=""></p>
<p>Table 1은 TREC, BEIR에 대한 결과를 보여준다.</p>
<ul>
<li>GPT-4가 두 데이터셋 모두에서 우수한 성능을 보여준다.</li>
<li>ChatGPT(gpt-3.5-turbo) 역시 BEIR에서 지도학습 베이스라인들을 뛰어넘었다.</li>
<li>BEIR 실험에서는 비용 절약을 위해 ChatGPT가 우선 재정렬한 상위 30개 문서에 대해서만 GPT- 4로 최종 재정렬을 수행하였다. 이 방식은 GPT-4만 단독으로 사용해 재정렬했을 때의 비용의 1/5만으로도 좋은 결과를 달성하였다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/a2b41f0d-6d33-41ea-a225-ee4f86507daf/image.png" alt=""></p>
<p>Table 2는 Mr.Tydi에 대한 결과를 보여준다.</p>
<ul>
<li>GPT-4는 대부분의 언어에서 지도학습 모델을 능가한다. 하지만 벵골어, 텔루구어와 같은 일부 언어에서는 mmarcoCE보다 성능이 떨어지는 경우도 발생하였다. 그 이유로는 이러한 언어들에 대한 GPT-4의 언어 모델링 능력이 상대적으로 약하고, 저자원 언어 텍스트가 영어보다 더 많은 토큰을 소비하여, 문서가 과도하게 잘려나갔기 때문일 수 있다.</li>
<li>ChatGPT 역시 대부분의 언어에서 지도학습 모델과 비슷한 수준을 보였으나, 모든 언어에서 일관되게 GPT-4에는 뒤쳐졌다.</li>
</ul>
<h2 id="63-results-on-noveleval">6.3. Results on NovelEval</h2>
<p><img src="attachment:833e70dd-d8cb-41d5-848e-a9cd8385673e:image.png" alt="image.png"></p>
<p>Table 3은 NovelEval에 대한 결과를 보여준다.</p>
<ul>
<li>GPT-4가 역시 가장 좋은 성능을 보인다.</li>
<li>ChatGPT는  monoBERT와 비슷한 수준의 성능을 달성하였다.</li>
<li>이러한 결과는 LLM이 친숙하지 않은 정보를 효과적으로 재정렬할 수 있는 능력을 보유하고 있음을 시사한다.</li>
</ul>
<h2 id="64-compare-with-different-instructions">6.4. Compare with Different Instructions</h2>
<p>순열 생성 방식(PG), 질문 생성(QG), 관련성 생성(RG) 방식을 TREC 데이터셋으로 비교 평가하였다.</p>
<p>또한 OpenAI API에서 제공하는 4개의 LLM(curie-001, davinci-003, gpt-3.5-turbo, gpt-4)의 성능도 함께 비교하였다.</p>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/5766cf29-c0bb-400a-8af2-518b9ce661ca/image.png" alt=""></p>
<p>Table 4는 각 API별, 지시 방법별 결과를 보여준다.</p>
<ul>
<li>PG 방식이 QG, RG보다 더 우수한 성능을 보여준다.</li>
<li>PG가 다른 방식들에 비해 nDCG@1 정확도가 현저히 높다. LLM은 PG를 통해 여러 문서들을 명시적으로 비교할 수 있으며, 이를 통해 문서 간의 미묘한 차이를 구별할 수 있다.</li>
<li>LLM은 여러 문서를 함께 읽음으로써 질문과 문서에 대한 보다 포괄적인 이해를 얻게 되며, 이는 재정렬 능력 향상으로 이어진다.</li>
<li>Davinci 모델이 ChatGPT 보다 성능이 떨어지는데, 이는 davinci 모델의 생성 안정성이 GPT-4에 미치지 못하기 때문일 수 있다.</li>
</ul>
<h2 id="65-ablation-study-on-trec">6.5. Ablation Study on TREC</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/03272f8d-5cf7-4e82-aefa-521ce3e330e2/image.png" alt=""></p>
<p><strong>Initial Passage Order</strong></p>
<p>기본적인 구현에서 BM25의 랭킹 결과를 초기 순서로 활용했다면, 무작위 순서와 역순 방식을 추가적으로 실험하였다.</p>
<p>실험 결과, 모델의 성능은 초기 문서 순서에 매우 민감한 것으로 나타났다.</p>
<p>기본적인 구현 방식이 가장 높은 성능을 달성한 이유는, BM25가 비교적 좋은 초기 순서를 제공하기 때문에, 단 한번의 슬라이딩 윈도우 재정렬만으로도 좋은 결과를 얻을 수 있기 때문이다.</p>
<p><strong>Number of Re-ranking</strong></p>
<p>슬라이딩 윈도우 횟수가 미치는 영향도 실험하였다.</p>
<p>실험 결과, 재정렬 횟수를 늘리면 nDCG@10이 향상될 수 있지만, 최상위 문서 랭킹 성능(nDCG@1)은 오히려 저하되는 현상이 나타났다.</p>
<p>한편, GPT-4를 사용하여 상위 30개 문서를 다시 재정렬했을 때(gpt-4 Rerank)는 큰 성능 향상을 보였다.</p>
<h2 id="66-results-of-llms-beyond-chatgpt">6.6. Results of LLMs beyond ChatGPT</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/1351b11d-ab87-4143-87cc-d36103ff3037/image.png" alt=""></p>
<p>TREC DL-19에 대해 여타 LLM들의 능력을 평가하였다.</p>
<ul>
<li><p>상용 LLM: GPT-4가 가장 높은 성능을 보여주었으며, Cohere rerank 역시 좋은 결과를 보였으나, 이는 지도 학습을 거친 모델이다. 한편 구글과 앤트로픽의 모델들은 ChatGPT에 뒤쳐지는 결과를 보였다.</p>
</li>
<li><p>오픈소스 LLM: ChatGPT와 비교하여 상당한 격차를 보였다.</p>
<p>  → 20개의 문서 순열을 생성하는 과업은 기존 오픈소스 모델들에게는 어려운 과제였을 것이다. </p>
</li>
</ul>
<hr>
<h1 id="7-experimental-results-of-specialization">7. Experimental Results of Specialization</h1>
<p>특화 모델로는 cross-encoder 기반 DeBERTa-v3-Large 모델, 관련성 생성을 사용하는 LLaMA-7B 모델을 사용하였다. </p>
<p>비교를 위해 원본 MS MARCO 라벨을 사용하여 훈련된 특화 모델(지도학습)도 함께 평가하였다.</p>
<h2 id="71-results-on-benchmarks">7.1. Results on Benchmarks</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/ee32536e-52f8-4ba7-acd7-9b789b4ee0f5/image.png" alt=""></p>
<p>Table 7은 특화 모델들의 NDCG@10 을 보여준다.</p>
<p>순열 증류 방식은 TREC 및 BEIR 모두에서 지도학습 방식을 능가하였다. 이는 ChatGPT의 관련성 판단이 기존 MS MARCO 라벨보다 더 포괄적이기 때문일 수 있다.</p>
<p>특화된 DeBERTa 모델은 BEIR에서 기존 SOTA 모델이었던 monoT5(3B)를 능가하였다. </p>
<p>특화 모델은 teacher 모델인 ChatGPT도 능가하였다. 이는 특화 모델의 재정렬 안정성이 ChatGPT보다 뛰어나기 때문인 것으로 보인다. </p>
<h2 id="72-analysis-on-model-size-and-data-size">7.2. Analysis on Model Size and Data Size</h2>
<p><img src="https://velog.velcdn.com/images/kyle-bong/post/077f6b34-92c9-450b-83cb-dde0c66f423f/image.png" alt=""></p>
<ul>
<li>순열 증류 모델은 다양한 모델 크기, 다양한 데이터 크기에 걸쳐 우수한 성능을 달성하였다.</li>
<li>특히, 단 1K 개의 질문을 학습한 것으로도, monoT5를 능가하였다 (BEIR).</li>
<li>학습 데이터의 양을 늘리는 것보다 파라미터 크기를 늘리는 것이 랭킹 성능 향상에 더 큰 영향을 미친다.</li>
<li>지도 학습 모델의 성능은 불안정하다. 이는 MS MARCO 라벨에 존재하는 노이즈가 과적합 문제를 일으키기 때문일 수 있다.</li>
</ul>
<hr>
<h1 id="8-conclusion">8. Conclusion</h1>
<ul>
<li>LLM의 능력을 활용하기 위해 순열 생성 기법을 도입하였다.</li>
<li>3가지 벤치마크 실험을 통해 ChatGPT와 GPT-4의 문서 재정렬 능력을 입증하였다.</li>
<li>친숙하지 않은 지식에 대해 LLM을 더욱 엄격하게 검증하기 위해 NovelEval이라는 새로운 평가셋을 도입하였다.</li>
<li>기존의 지도학습 방식 대비 우수한 효과와 효율성을 보여주는 순열 증류 방법을 제안하였다.</li>
</ul>
<hr>
]]></description>
        </item>
    </channel>
</rss>