Akinator로 시작하는 Agentic RL: 태스크 설계와 초기 검증
요약
본 기사는 LLM을 학습 가능한 정책으로 간주하고 강화학습(RL)을 통해 목표 달성 능력을 향상시키는 Agentic RL 프레임워크를 소개합니다. Akinator 게임을 모방한 태스크 설계와 초기 검증 결과를 다루며, NVIDIA의 Nemotron-Personas-Japan 데이터셋을 활용하여 에이전트가 인물에 대해 'Yes/No' 질문으로 추론하는 과정을 보여줍니다.
핵심 포인트
- Agentic RL은 LLM을 정책으로 보고 강화학습으로 성능을 개선하는 프레임워크입니다.
- Akinator 게임을 모방한 태스크를 설계하여 에이전트의 추론 능력을 검증했습니다.
- NVIDIA Nemotron-Personas-Japan 데이터셋(100만 건)을 활용하여 페르소나 기반 질문/답변 데이터를 구축했습니다.
1. 서론
마츠오 연구소의 구입니다. 최근 LLM이 외부 환경에 작용하여 자율적으로 태스크를 수행하는 AI 에이전트에 대한 연구가 주목받고 있습니다. 그중에서도 다양한 도구를 사용하여 Agent에게 적절한 행동을 하도록 만들기 위해, 도구 사용 방법을 추론 시 컨텍스트로 전달하는 것이 아니라 사후 학습(事後学習)을 통해 습득하게 하는 프레임워크인 Agentic RL이 주목받고 있습니다. Agentic RL이란 'LLM을 학습 가능한 정책(方策)으로 간주하고 환경과 대화하면서 목표 달성 능력을 강화학습(RL)으로 향상시키는 프레임워크'입니다.[1]
저희 회사의 과거 노력에서는 오타 씨와 오자키 씨의 이 기사[2]를 통해 메일 검색 태스크 성능에서 4B 모델의 Agentic RL이 GPT-5를 초월한 사례가 소개되었습니다. 본 기사에서는 Akinator[3]를 모방한 태스크를 소재로, Agentic RL용 태스크 설계와 초기 검증 결과를 소개합니다.
2. 원조 Akinator
본 기사는 Akinator를 소재로 태스크를 설계했습니다. Akinator는 플레이어가 인물/동물에 관한 임의의 주제를 떠올리면, AI가 'Yes/No' 질문으로 추측하는 게임입니다. 드래곤볼에서 익숙한 크리링을 주제로 했을 경우의 결과가 여기입니다.
표 1 원조 Akinator에서 크리링을 주제로 했을 때의 질문과 답변
| # | Akinator의 질문 | 답변 |
|---|---|---|
| 1 | 여성? | 아니요 |
| ... |
표3의 요구사항을 충족하는 데이터셋을 직접 제작하는 것도 고려했지만, 이미 기존에 이러한 요구사항을 충족하는 데이터셋이 있어 이를 채택했습니다. 이번에 채용한 것은 Nemotron-Personas-Japan[4]입니다.
Nemotron-Personas-Japan은 NVIDIA가 공개한 데이터셋으로, 일본의 인구 통계에 기반하여 LLM으로 생성된 가상의 인물(페르소나)을 수록하고 있습니다. 레코드 수는 100만 건이며, 1개의 레코드가 1명의 인물에 해당합니다. 컬럼은 총 22개로 구성되어 있으며, 성별이나 연령 같은 기본 속성과 함께 그 인물의 직업・취미・식생활 등을 문장으로 묘사한 페르소나의 자유문으로 이루어져 있습니다(표4).
표4 Nemotron-Personas-Japan의 컬럼 구성
| 종류 | 컬럼명 | 내용 |
|---|---|---|
| 식별자 | uuid | 인물별 ID |
| 기본 속성 | sex | 성별 |
age | 연령 | |
marital_status | 혼인 상태(자녀 유무 포함) | |
education_level | 학력(문과・이과 구분 포함) | |
occupation | 직업(업종・기업 규모・취업 상태 포함) | |
prefecture / region / area / country | 도도부현/지역/동일본・서일본/국가(전원 '일본') | |
| 페르소나 자유문 | persona | 인물상 요약 |
professional_persona / sports_persona / arts_persona / travel_persona / culinary_persona | 직업/운동/예술/여행/식생활 관점에서 묘사한 인물상 | |
cultural_background | 자란 환경이나 문화적 배경 | |
skills_and_expertise / hobbies_and_interests / career_goals_and_ambitions | 스킬・전문성/취미・관심/커리어 목표 | |
| 리스트 | skills_and_expertise_list / hobbies_and_interests_list | 스킬/취미를 항목으로 나열한 것 |
레코드 예시는 표5에 나와 있습니다.
표5 Nemotron-Personas-Japan의 레코드 예시 (발췌)
| 컬럼명 | 값 |
|---|---|
sex | 남 |
age | 33 |
marital_status | 미혼 |
education_level | 고교 졸업 |
occupation | 간호복지업 중견 |
prefecture | 히로시마현 |
persona | 카라사와 리오(柄沢 利生)는 간호 현장의 실무와 지역 문화의 실천을 연결하여, 리더십과 재무 전략으로 지역 포괄 케어를 구축하는 실용적이고 경쟁적인 시각을 가지고 있다. |
hobbies_and_interests_list | 낚시, 도예, 사진 촬영, 카드 게임 |
skills_and_expertise_list | 신체 보조, 생활 지원, 케어 플랜 작성, 간호 기록 작성, 업무 흐름 개선 |
이 데이터셋은 표3의 요구사항을 충족합니다. 예를 들어, 요구사항①의 예시로는 education_level과 occupation 등이 해당하며, 요구사항②는 uuid, sex, country를 제외한 모든 속성이 해당할 가능성이 예상됩니다.
본 연구는 초기 검증이라는 위치이므로, 가장 간단하고 복잡한 전처리가 필요 없는 기본 속성 6개 항목(성별, 연령, 혼인 상태, 학력, 직업, 도도부현)을 채택했습니다.
문제 설정
직접 제작한 Akinator에는 두 개의 LLM이 등장합니다(그림2). 하나는 본래 Akinator의 '사람'에 해당하는 출제자(Answer・Oracle LLM)이고, 다른 하나는 본래 Akinator의 'AI'에 해당하는 질문자(Question LLM)입니다. 이번 학습 대상은 질문자입니다.

그림2 직접 제작한 Akinator의 문제 설정 (출제자와 질문자의 상호작용 흐름)
표6 질문자에게 전달할 후보 표의 예시 (4건의 경우)

1 게임의 흐름은 다음과 같습니다(번호는 그림2의 ①~⑥에 해당합니다).
- 데이터셋에서 K명의 인물을 추출하여 후보로 삼고, 그중 1명을 출제 대상으로 결정합니다.
- 질문자에게 후보 K명의 표를 제공합니다(표 6).
- 질문자는 Yes/No로 답할 수 있는 질문을 합니다.
- 출제자는 출제 대상 인물 역할을 맡아 yes/no/unknown으로 답변합니다.
- 3과 4를 질문 수의 상한까지 반복하고, 마지막에 질문자는 후보 P1~PK 중에서 1명을 답하게 합니다.
- 정답일 경우 보상을 제공합니다.
학습 대상은 질문을 하는 모델입니다. 이 문제 설정의 핵심 포인트는 질문자에게 후보 K명의 표가 모두 제공된다는 점입니다. 질문자는 누가 후보인지 알고 난 후, 어떤 순서로 무엇을 물어볼지 생각합니다. 즉, 지식을 묻는 문제가 아니라 질문 전략을 묻는 문제가 됩니다. 또한, 출제자는 오직 출제 대상의 속성만을 근거로 답변합니다. "블루워커인가요?"와 같이 속성을 의미로 해석하는 질문에도, 속성으로 판단할 수 있다면 yes 또는 no로 답하고, 속성만으로는 판단할 수 없는 사안에는 unknown으로 답변합니다.
4. 본 태스크에서의 질문 전략의 본질
범용 모델을 이용한 사전 검증
학습에 들어가기 전에, 범용 모델로 어느 정도 난이도에서 풀 수 있는지, 어떤 질문 전략이 바람직한지를 파악하기 위해 사전 검증을 실시했습니다.
분석 1. 모델별 성능 비교
평가 조건
평가 조건은 표 7에 제시되어 있습니다. 질문자에게는 동세대 OpenAI의 모델 3가지(gpt-4.1-mini와 gpt-4.1은 비추론 모델, o3는 추론 모델)를 사용했습니다. gpt-4.1과 o3는 거의 같은 시기의 모델이므로, 두 모델 간의 성능 차이는 추론 유무에 따른 영향이 크다고 생각됩니다.
표 7 분석 1의 평가 조건
| 항목 | 조건 |
|---|---|
| 질문자 (평가 대상) | gpt-4.1-mini (비추론), gpt-4.1 (비추론), o3 (추론) |
| ... | |
| 비교 기준으로는 두 가지 이론적 값 라인을 설정했습니다. 하나는 이론 하한인 log₂K로, 매번 질문할 때마다 후보를 정확히 절반으로 나눌 경우의 질문 수입니다. 다른 하나는 brute force로, "Aさん인가요?" "Bさん인가요?"와 같이 후보를 한 명씩 무작위로 물어봤을 경우의 기대 질문 수입니다. 정답이 후보 내에서 균일하게 결정될 때, 이 기대값은 (K−1)(K+2)/2K가 됩니다. |
결과 및 고찰
결과는 표 8과 그림 3에 제시되어 있습니다.
표 8 후보 수 K별, 정답을 맞힌 게임의 평균 질문 수 ± 표준편차 (괄호 안은 정답률)
| K | log₂K | brute force | gpt-4.1-mini | gpt-4.1 | o3 |
|---|---|---|---|---|---|
| 8 | 3.00 | 4.38 | 4.77 ± 0.80 (1.00) | 4.76 ± 0.86 (0.97) | 3.13 ± 0.76 (1.00) |
| ... | |||||
![]() |
그림 3 후보 수 K에 따른, 정답을 맞힌 게임의 평균 질문 수 (오차 막대: 표준편차)
o3는 다른 두 모델에 비해 압도적으로 적은 질문 수로 정답에 도달했으며, 모든 K에서 이론 하한 log₂K와의 차이는 0.1~0.5문항 내에 머물렀습니다. 또한, 정답률 역시 K=64까지 모두 0.97 이상이었습니다. 반면, gpt-4.1과 gpt-4.1-mini는 K가 커질수록 o3와의 차이가 벌어지는 경향을 보였고, 정답률도 낮아졌습니다. 같은 세대의 gpt-4.1과 o3의 큰 차이를 통해, 최적의 질문을 하기 위해서는 추론(CoT)이 중요한 요소가 아닐까라는 가설을 세웠습니다.
이는 직관적인 해석과도 일치하는 결과입니다. 인간이 동일한 태스크를 해결하는 것을 상상하면 이해하기 쉬운데, "먼저 표를 읽어내고, 다음으로 속성별로 값의 분포를 집계하고, 다른 축에서의 질문 방법을 생각한다"와 같이 System2 시점의 추론 과정이 요구되기 때문입니다.
모델이 정답에 도달하는 CoT(Chain-of-Thought) 트레이스의 예시로 Qwen3.5-4B (thinking 모드, 학습 전. 5장에서 학습에 사용되는 모델)의 사례를 보여드립니다.
Qwen3.5-4B (thinking 모드, 학습 전)의 사고 예시 (K=8, 출제 대상은 P2)
후보 표
| id | 성별 | 연령 | 혼인 상태 | 학력 | 직업 | 도도부현 |
|---|---|---|---|---|---|---|
| P1 | 여 | 54 | 미혼 | 대학 졸업 문과 | 콜센터 업 중견 | 사이타마현 |
| ... | ||||||
| Q1 이전의 사고 (발췌) |
먼저, 각 후보의 특징을 정리합니다:
⚠️ [IMG:N] 형식 토큰은 이미지 placeholder 입니다. 번역하지 말고 원래 위치에 그대로 유지하세요.
[번역된 제목]: Akinator로 시작하는 Agentic RL: 태스크 설계와 초기 검증
- P1: 여성, 54세, 미혼, 대학 졸업 문과, 콜센터 업계 중견, 사이타마현
(P2~P8도 유사하게 나열)
첫 질문에서는 여러 후보를 한 번에 구분할 수 있도록 해야 합니다. 예를 들어 '성별'이나 '결혼 상태', '도도부현' 등입니다.
질문 초안 1: "당신은 남성이신가요?"
- P1, P3, P6, P7 -> 아니오 (여)
- P2, P4, P5, P8 -> 예 (남)
반반으로 나눌 수 있습니다.
(중략)
예를 들어, 먼저 '기혼 여부'를 확인한 다음, '남/녀' 등을 묻는 순서가 좋을 수도 있습니다.
또는, 처음에 '여성인가요?'라고 물어보고, 그 답변에 따라 다음과 같이 답합니다:
- 만약 예라면 (P1, P3, P6, P7) → 다음으로 나이 또는 혼인 상태를 묻기로 결정
- 만약 아니오라면 (P2, P4, P5, P8) → 다른 조건을 확인
Q1: 당신은 여성인가요? → 아니오
Q2 전의 사고 과정 (발췌)
다음으로 나이로 구분합시다. 남성은 모두 다음 중 하나를 선택하게 됩니다.
- P2: 32세
- P4: 40세
- P5: 20세
- P8: 20세
20세의 P5와 P8가 있습니다. 이 차이를 명확히 할 필요가 있습니다.
다음으로, 혼인 상태로 확인합니다. 남성의 혼인 상태:
- P2: 기혼 (자녀 있음)
- P4: 기혼 (자녀 있음)
- P5: 미혼
- P8: 미혼
(중략)
먼저 "당신은 기혼이신가요?"라고 묻습니다.
- 만약 예라면: P2 또는 P4
- 만약 아니오라면: P5 또는 P8
Q2: 당신은 기혼이신가요? → 예
Q3: 당신이 거주하는 곳은 도쿄도입니까? → 예
답변: P2 (정답, 3문)
분석 2. 질문 경향
다음으로, 각 모델이 실제로 어떤 질문을 했는지, 질문과 답변 기록(트레이스)에서 살펴보겠습니다. 한 가지 예를 그림 4에 제시합니다.
먼저, 1번째 질문은 모든 모델이 공통적으로 성별을 물었습니다. gpt-4.1과 gpt-4.1-mini는 모든 게임에서 o3에서도 과반수로 1번째 질문이 성별 질문이었습니다. 성별은 후보가 거의 반반으로 나뉘는 속성이므로, 1번째 질문으로는 적절한 선택입니다.
2번째 이후의 질문은 모델에 따라 다르지만, 공통적인 점은 속성 값 자체를 묻기보다는 의미를 파악하여 질문하고 있다는 것입니다. 예를 들어 나이라면 "몇 살입니까?"가 아니라 "60세 이상입니까?"라고 질문하고, 학력이라면 "최종 학력이 고졸보다 높습니까?"와 같이 질문합니다. 이러한 질문이 무차별 대입적 접근(brute force)보다 후보를 크게 좁힐 수 있습니다. 따라서 의미를 파악하여 다음에 무엇을 물어볼지가 질문 전략의 한 가지 포인트라고 할 수 있습니다.

그림 4 K=8 사례 (task_idx=12, 출제 대상은 P1)에 따른 후보표와 각 모델의 질문 흐름
o3과 gpt-4.1-mini의 2번째 질문까지를 비교해 보면, o3은 "기혼입니까?"로 후보를 5명에서 3명으로 줄였고, gpt-4.1-mini는 "60세 이상입니까?"로 5명에서 2명으로 줄였습니다. 어떤 질문을 먼저 선택하느냐에 따라 남은 후보의 수가 달라지고, 그 후에 필요한 질문 수도 달라집니다. 여기서, 질문 전략에는 의미를 파악하여 다음에 무엇을 물어볼지 외에도, 여러 단계 앞까지 내다보며 다음에 무엇을 물어볼지 (한 번 한 번 최선의 질문을 고르는 것이 아니라, 앞을 보고 질문 순서를 고르는 것)가 중요함이 시사됩니다.
덧붙여, gpt-4.1-mini가 이 순서를 의도적으로 선택했는지는 자명하지 않으며, 우연일 가능성이 높다고 생각합니다. 하지만 Q2부터 Q3까지를 통해 보면, gpt-4.1-mini의 질문 배열은 이 사례에서는 최적입니다. gpt-4.1-mini는 "60세 이상입니까?"로 후보를 2명으로 줄이고, Q3의 "가나가와현에 살고 있습니까?"로 1명으로 확정하여, 이론적 하한과 같은 3문(= log₂8) 만에 정답에 도달했습니다. 반면, o3은 후보가 3명 남아 4문을 필요로 했습니다.
5. 4B 모델에게 질문 전략을 습득시키기
4장의 결과로부터 다음과 같은 포인트가 밝혀졌습니다.
- 추론(reasoning)의 유무가 성능 차이를 크게 좌우한다는 점
- 질문 전략으로서 '속성의 의미를 파악하여 샘플을 균등하게 나누는 질문'과 '여러 단계 앞을 내다보며 질문 순서를 고르는 것' 두 가지가 중요하다는 점
이 장에서는 강화학습(RL)을 통해 이러한 질문 전략의 방식을 습득할 수 있는지 검증합니다. 사용하는 모델로는 태스크 난이도, 컨텍스트 크기, reasoning 모음 유무를 고려하여 파라미터가 작은 Qwen3.5-4B를 선정했습니다.
하이퍼파라미터 탐색
학습 및 평가 조건
학습 및 평가 조건은 표9에 제시합니다. 학습 프레임워크로는 prime-rl (v0.9.0)을 사용했으며, 강화학습(RL) 알고리즘으로는 GRPO를 사용했습니다. GRPO에서는 동일한 문제를 여러 번 풀어보게 하여 보상을 비교하고, 평균보다 높은 보상을 받은 출력을 강화하고 낮은 출력을 약화시키는 방식으로 정책을 업데이트합니다 (이 '평균과의 차이'가 advantage입니다). 이번에는 1단계당 10문제를 각각 10번씩 풀게 했습니다. 원래 그룹 크기(group size)는 GRPO에서 학습 진척도를 좌우하는 중요한 파라미터이지만, 이번에는 계산 시간의 제약으로 탐색을 진행하지 않고 10으로 고정했습니다.
표9 하이퍼파라미터 탐색 학습 및 평가 조건
| 항목 | 조건 |
|---|---|
| 질문자 (학습 대상) | Qwen3.5-4B (사고 모드). 사고 과정도 일본어로 진행하도록 지시. LoRA (rank 32, α 64)로 학습 |
| ... | brute force 방식(속성 값을 임의로 하나씩 물어보아 후보를 한 명으로 좁히는 데 필요한 질문 수)의 기대값 |
| 학습용 문제 | 평가용 문제와 중복되지 않도록 문제를 무작위로 선정 |
| 평가 | 학습 시작 시점 (step 0)부터 5단계마다. 고정된 30문제 × 3회 = 90게임 |
| 평가 지표 | 정답률, 평균 질문 수 (정답/오답을 불문하고 모든 게임의 평균) |
첫 학습 실패
우선 시도 삼아 K=32, 학습률 1e-5, presence_penalty 1.5, 보상은 오직 정답 보상만(정답이면 1, 오답이면 0)인 조건으로 50단계 동안 학습시켜 보았습니다. 하지만 학습이 전혀 잘 진행되지 않았습니다. 학습의 추이는 그림5에 나타나 있습니다.

그림5 첫 학습 (K=32, 학습률 1e-5, presence_penalty 1.5, 정답 보상만)의 추이
그림5 상단 두 개는 평가 시점 지표로, 정답률과 평균 질문 수입니다. 정답 보상만인 조건이므로, 보상의 평균은 정답률과 일치합니다. 하단 두 개는 학습 시점 지표로 각각 다음의 의미를 가집니다.
- Entropy: 모델이 다음 토큰을 출력할 때의 확률 분포의 확산 정도. 값이 클수록 어떤 토큰을 출력할지 결정되지 않음(출력이 들쭉날쭉함) 상태를 나타냅니다. Entropy가 계속 증가하는 경우, 출력의 확률 분포가 무너지고 있다는 신호입니다. -
- Mismatch KL: 롤아웃(학습에 사용하는 게임)을 생성했을 때의 확률 분포와, 학습 측 모델이 동일한 출력을 가지고 계산한 확률 분포 간의 차이(KL 다이버전스). 본래 두 값의 차이는 작은 수치에 머물러야 하지만, 이 차이가 크다는 것은 학습에 사용되는 데이터가 학습 중인 정책의 출력과 크게 벗어난 상태를 의미합니다.
그림5에서 읽을 수 있는 내용은 다음과 같습니다. 먼저, 정답률은 step 15까지는 0.8 전후를 유지하다가 급격히 하락하여, step 30에서는 0.23까지 떨어졌습니다. 이와 동기화되게 Entropy는 step 30을 향해 상승하고 있습니다. Entropy의 상승과 정답률의 저하로부터, GRPO의 advantage 계산에 사용되는 각 롤아웃의 출력(질문)이 들쭉날쭉하며, 게다가 최적 질문 전략에서 벗어나고 있음을 읽어낼 수 있습니다.
동시에 Mismatch KL도 step 30을 향해 상승하고, 1게임당 평균 질문 수도 증가하는 것(6.5문 → 11.7문)으로 보아 학습이 불안정해지고 있다는 점도 파악할 수 있습니다. 게다가 Mismatch KL은 step 1 시점부터 이미 0.048이 있어, 학습이 시작되기 전부터 오차가 발생하고 있었습니다.
presence_penalty의 악영향
Mismatch KL이 크고, 학습이 시작되기 전부터 오차가 있다는 것은, 학습 진행 방식(학습률이나 보상 설계)이 아니라 추론 측면에서의 샘플링에 원인이 있는 징후였습니다. 샘플링 파라미터(표9) 중 이번에는 presence_penalty를 1.5로 설정했기에 이를 의심했습니다.
presence_penalty에 대해 보충 설명합니다. presence_penalty는 출력물 안에 한 번이라도 나타난 토큰에 대해 재출력 확률을 낮추도록 설정하는 것입니다. 구체적으로는, 추론 엔진이 샘플링할 때 이미 나온 토큰의 logit에서 일정 값(이번에는 1.5)을 빼줍니다. 1.5를 빼면, 이미 나온 토큰의 샘플링 확률은 나오지 않은 토큰과 비교했을 때 상대적으로 e^−1.5 ≈ 0.22배, 즉 약 2할까지 낮아집니다. 본래는 같은 단어의 반복을 막기 위한 설정이지만, Akinator에서는 '직업', '도도부현'처럼 동일한 열 이름이나 표현을 여러 번 사용하는 것이 자연스럽습니다. 따라서 이번 태스크에서의 presence_penalty는 악영향을 미칠 수 있습니다.
실제로 학습 도중의 트레이스를 살펴보니, 스텝이 진행됨에 따라 질문이 빙빙 돌리는 표현이 되거나 CoT(Chain-of-Thought)의 언어가 일본어에서 영어로 전환되는 경향을 보였습니다. 아래는 step 30 평가 시의 트레이스 발췌입니다.
질문 예시 1: 이 인물이 이전에 근무했던 회사나 지역과 떨어져, 현재 다른 직업으로 전직했나요? 아니면 일을 마치고 은퇴한 상황인가요?
질문 예시 2: 이 인물의 학력이나 직업에는, 현재 진행형의 상황과 '〜에서는 은퇴/이직'이라고 기재된 과거 기록이 존재하는 것은 없나요?
CoT 예시: Oh! Wait, it seems like I've run out of turns? But no that didn't happen right... Let me verify what's going on with this tool response.
step 5와 step 30 평가 시의 트레이스를 비교했을 때, 이러한 경향은 각종 지표에서도 읽을 수 있었습니다(표 10).
표 10 학습 도중의 트레이스에서 관찰된 변화 (평가 시 각 90 게임)
| 지표 | step 5 | step 30 |
|---|---|---|
| 질문문의 평균 글자 수 | 16자 | 34자 |
| 사고가 영어 중심인 턴의 비율 | 7.1% | 63.6% |
※사고 과정에서 알파벳 문자의 수가 일본어(가나/한자) 문자의 수를 초과하는 턴을 영어 중심으로 계산했습니다.
기존에 사용된 단어를 피하려다 보니, 의역을 거듭하며 표현이 빙빙 돌게 되고 다른 언어로 출력되는 경향을 읽을 수 있습니다. 이 모든 것은 presence_penalty의 영향으로 설명할 수 있기 때문에, 이것이 주원인일 가능성이 높다고 생각했습니다.
제거(Ablation) 테스트
이에 따라, presence_penalty 유무에 따른 영향을 검증하는 동시에 학습률이나 보상 설계의 영향도 확인하기 위해, 학습률, 보상 함수, presence_penalty를 변경한 A~G의 7가지 조건으로 제거 테스트를 실시했습니다(표 11). K=32는 후보가 많아 트레이스의 육안 분석이 어려웠기 때문에, 후보 수를 K=8로 낮추고 학습은 30 스텝으로 진행했습니다.
보상 함수 중 '정답만'은 초기 학습과 동일한 정답 보상만을 사용합니다. '정답+효율성'은 정답 보상에 효율성 보상을 결합한 것으로, 질문 수가 적을수록 정답에 도달하는 만큼 보상이 커지는 구조입니다(함수 형태의 자세한 내용은 후술합니다).
표 11 A~G 조건 (K=8, 30 스텝. 굵은 글씨는 A로부터 변경된 부분)
| 조건 | 학습률 | 보상 | presence_penalty | 목적 |
|---|---|---|---|---|
| A | 1e-5 | 정답만 | 1.5 | 초기 학습과 동일한 설정 (기준) |
| ... | 1.5 | 효율성 보상을 도입함 | ||
| D | 1e-5 | 정답만 | 0 | presence_penalty를 0으로 설정 |
| E | 1e-6 | 정답+효율성 | 0 | B~D의 변경 사항을 모두 적용 |
| F | 1e-5 | 정답+효율성 | 0 | D와 비교하여 효율성 보상의 효과를 확인 |
| G | 5e-6 | 정답+효율성 | 0 | E와 F 사이의 학습률 |
A~G의 학습 추이를 그림 6에 나타냅니다.

그림 6 A~G의 학습 추이 (점선은 presence_penalty 1.5, 실선은 0)
presence_penalty의 영향 (A~C 비교)
Mismatch KL이 초기 값에서 큰 문제는 presence_penalty가 1.5인 AC에서만 발생했습니다. step 1 시점에서 AC는 0.0530.055, DG는 0.00140.0015로 약 38배의 차이가 납니다. 게다가 AC 중 학습률이 1e-5인 A와 C에서는 Entropy와 Mismatch KL이 스텝에 따라 상승하고 정답률도 떨어졌습니다. 효율성 보상을 넣은 C에서도 학습의 붕괴를 막을 수 없었습니다. 이 결과로부터, presence_penalty가 생성 정책과 학습 정책을 괴리시켜 학습이 진행되지 못하게 하는 주요 원인 중 하나였음을 알 수 있습니다. presence_penalty가 학습을 붕괴시킨 이유는, 한 번의 응답 안에서 사고와 질문에 '성별', '직업' 같은 컬럼명을 여러 번 사용할 필요가 있음에도 불구하고, 한번 출력한 표현이 피하게 되면서 장황한 표현이나 타 언어로의 전환이 일어났기 때문이라고 생각합니다(표 10 참조).
위의 결과에 따라, 이후 학습에서는 presence_penalty를 0으로 설정했습니다.
참고: 다른 케이스 비교
효율성 보상(Efficiency Reward)의 영향 (D와 F 비교)
D와 F는 효율성 보상의 유무만 다른 조건입니다. 30단계에서의 정답률은 D가 0.96, F가 0.92로 동일하지만, 평균 질문 수는 D가 3.51문에서 5.57문으로 증가한 반면, F는 3.57문에서 3.63문으로 거의 증가하지 않았습니다. 이는 효율성 보상이 적은 질문 수로 정답에 도달하게 하는 중요한 보상 설계임을 시사합니다.
학습률(Learning Rate)의 영향 (E와 G 비교)
E와 G는 학습률만 다른 조건입니다 (E: 1e-6, G: 5e-6). 두 조건 모두 Entropy와 Mismatch KL에 큰 차이가 없었으며, 어느 쪽도 붕괴되지 않고 학습이 진행되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기