[arXiv]On the Entropy Dynamics in Reinforcement Fine-Tuning of Large Language Models

안녕하세요. 오늘은 지난번 세미나에서 소개해 드린 강화학습에서의 entropy dynamic을 정리한 논문을 소개해 드리려고 합니다. 지난번 세미나에서는 제가 설명을 너무 어렵게 드렸는데요. 오늘은 세미나에서 받은 질문을 기반으로 조금 더 풀어서 작성해 보았습니다. 그럼 리뷰를 시작하겠습니다.


[Intro] 어떤 논문인가요?

최근 LLM 모델의 사후 학습(post-training)을 위해 강화학습 기법(Reinforcement Fine-tuning)이 많이 사용되고 있습니다. 강화학습은 에이전트가 환경 위에서 액션을 수행하며 발생하는 보상을 통해 학습하며, 최종적으로 어떠한 환경(상황)에서는 어떤 엑션을 취하는것이 좋은지(높은 보상을 받는지) 학습하는 과정입니다. 즉, 에이전트가 액션 수행을 반복하며 학습할 정보를 만들어서 능동적으로 학습한다는 특징을 갖습니다.

이때, 에이전트는 어떠한 액션을 수행할지 결정하는 데 있어서 탐험(exploration)-이용(exploitation) 전략을 활용합니다. 탐험적으로 액션을 선택하는 것은 습득한 지식을 무시하고 수행 가능한 액션 중 무작위로 선택하여 “새로운 시도”를 하는 것입니다. 반면 이용 전략을 취하는 것은 습득한 지식을 기반으로 가장 보상이 높을 것으로 예상되는 행동을 수행하는 것으로, 습득한 지식을 강화하는 성격을 갖습니다. 이러한 전략을 그림으로 예시를 들면 아래와 같습니다. 이용 전략만을 반복한다면 아직 찾지못한 최고의 보상을 발견하지 못할 위험이 있고, 지식을 사용하지 않는 탐험 전략만을 반복한다면 고보상 패턴을 효과적으로 활용하지 못해 학습의 수렴이 느려지고 불안정해질 수 있습니다. 따라서 탐험과 이용이 적절히 조화로운 지점을 찾아야 하며, 이때 entropy 값이 상태를 나타내는 값으로 활용되고 있습니다.

그림1. 강화학습의 학습전략인 탐험과 이용 전략의 시각화

즉, 강화학습은 효과적인 탐색-이용 전략 구축을 위해 entropy 값을 기준으로 사용하고 있습니다. 그러나 기존 방법의 경우 entropy가 급격히 높아지는 값을 학습에 사용하지 않는 등(클립핑)의 직접적인 연관성을 밝히지 않고 경험에 의존한 설계(heuristic)로 이루어졌습니다. 본 논문은 강화학습의 과정이 어떻게 entropy를 변화시키는지 수식적으로 다루며, 수식에 기반한 클립핑 전략의 유효성을 실험으로 보여주고 있습니다.

[Background] 분석의 대상

본 논문은 강화학습의 과정에서 entropy의 변화를 분석한 논문입니다. 따라서 본 장에서는 분석의 대상인 강화학습 알고리즘에 대해 설명하겠습니다. 논문에서는 대표적인 강화학습 알고리즘인 GRPO를 기준으로 분석을 수행합니다. GRPO를 그림으로 보면 그림2와 같으며, 하나의 질문에 대해 모델이 여러가지(G개) 답변(o)을 생성하게 한 후, 답변들 사이의 점수(r)를 비교하여 상대적으로 점수가 높은 답변이 더 자주 발생하도록 파라미터(θ)를 업데이트 하는 학습 방법입니다. 즉, 어떤 답변(o)이 가장 좋은 답변인지에 대한 직접적인 정답값이 없어도 그룹(G) 내의 상대적인 위치를 통해 학습이 가능하도록 하는 기법입니다.

그림2. GRPO의 프로세스

그림2의 프로세스를 수식으로 다시보면 아래 수식(1)과 같습니다.

수식(1). GRPO의 수식
  • T: 응답 토큰 개수
  • G: 하나의 쿼리(q)에 대해 생성한 답변 개수
  • A: 보정된 보상값(advantage)
  • r_{i,t}: 현재 모델과 이전 모델이 q에 대한 i 번째 응답 o_{i,t}을 선호하는 비율. 현재모델이 더 선호할 경우 r>1 이며 과거 모델이 해당 응답을 더 선호할 경우 r<1.

즉, 모든 응답 토큰 T을 고려할 때 G개의 생성 된 응답중 좋은 답변이 가장 자주 발생하도록 하는 파라미터를 찾기 위한 것이며, 급격한 업데이트 방지를 위해 clip 기법이 도입 된 것입니다.

그러면 탐색-이용 전략은 여기에 어떻게 사용될까요? GRPO에서 응답을 생성하는 과정은 이미 모델링된 파라미터가 최적이라고 생각하는 출력들을 G회 반복하는 것입니다. 응답을 생성할때 모델의 온도 변수 등을 통해 이용 및 탐험을 모두 적용하고 있지만, 보통은 이용에 치우치게 되며 강화학습 과정 중 학습이 완료되지 않았음에도 과확신의 답변을 생성하는 엔트로피 붕괴 현상이 발생하게 됩니다. 기존의 방법은 업데이트시 응답의 토큰 중 엔트로피가 높은 답변에 높은 가중치를 주어 학습하는 등의 접근법으로 이를 해결하고자 했지만 대부분 실험적 근거로 유효성을 증명할 뿐 이론적 근거는 마련하지 못했습니다.

본 논문은 토큰과 엔트로피 간의 연관관계를 수식적으로 정리하여 강화학습 과정 중 엔트로피 붕괴 예방을 위해 어떤 토큰을 마스킹해야 하는지 명확히 합니다. 또한 실험을 통해 실제로 동작함을 보였습니다.

[Main1] 예측 토큰의 변화가 엔트로피에 미치는 영향

논문은 먼저 t 시점에 k번째 토큰에 ε만큼 변화를 주었을 때, t+1 시점의 엔트로피의 변화량(∆H)t 시점의 k번째 토큰 예측 logit으로 표현하였으며, 이를 통해 판별 지수 S를 도출해냈습니다.

수식(2). main1의 주요 수식

본 과정에서 도출한 판별지수 S_{*}는 엔트로피 변화량의 방향을 알 수 있는 지표로 활용할 수 있습니다. 수식 (2)에서 O(ε^{2})는 테일러 변환 시 발생한 작은 상수로 무시되므로 S_{*}와 엔트로피 변화량은 역방향입니다. 이때 수식(3)과 같이 정리할 수 있으므로 p_{k}e^{-H(p)1}의 대소 비교를 통해 엔트로피의 변화 방향을 알 수 있게 됩니다. 즉, t 시점의 정보로 k번째 토큰에 ε의 변화를 주었을 때 엔트로피의 변화 방향을 알 수 있게 된 것입니다.

수식(3). 동치 관계 식

[Main2] 강화학습 프로세스가 엔트로피 변화에 미치는 영향

본 과정은 [Main1]의 토큰과 엔트로피 간의 연관관계를 GRPO 과정으로 확장한 것입니다. 해당 과정을 통해 GRPO로 발생하는 엔트로피 변화량(the value of (t+1)-t)을 t 시점의 관측값으로 나타내면 수식(4)와 같습니다. 수식 (4)의 핵심은 GRPO의 엔트로피 변화량이 t시점의 관측값인 판별 지수 S_{*}로 결정되는 것이 아니라 현재 정책 분포를 반영한 S_{*}의 전체 기댓값 E_{i~P}[S_{i}]와의 차이로 결정된다는 점입니다. 즉, 특정 토큰 k가 엔트로피를 변화시킬지 여부는 그 토큰의 S_{*} 값이 평균적인 S_{*} 값보다 큰지 작은지에 따라 결정됩니다.

수식(4). main2의 주요 수식

[Experiments] 클립핑 기법의 경험적 우수성

논문은 수식을 통해 토큰과 엔트로피간의 상관관계를 판별할 수 있는 판별지수 S를 정의했을 뿐 만 아니라, GRPO에서 실제 토큰 k의 변화가 엔트로피에 미치는 영향을 수식으로 정의했습니다. 이를 통해 엔트로피가 너무 높은 토큰을 학습에 사용하지 않는 경험적 클립핑 방법이 아닌, 엔트로피를 급격하게 변화시킬 위험이 있는 토큰을 직접 클립핑할 수 있게 됩니다.

Main2에서 엔트로피의 변화 방향은 토큰 k에 대한 t시점의 logit 관측값인 판별지수 S와 S의 기댓값의 차로 알 수 있음을 밝혔습니다. 이때 S의 기댓값을 구하는 방법은 두 가지입니다. 1) 모델의 단어장을 활용하여 전체 단어(토큰)에 해당하는 S로 기댓값을 산출하거나 2) 학습 중인 배치 내에 포함된 토큰들의 평균값을 활용하여 기댓값을 구하는 것입니다. 단어장으로 기댓값을 산출한 Clip_{v}가 보다 더 정교한 클립핑 기법이라고 볼 수 있습니다. 아래의 수식(5)처럼 각 클리핑 기법은 S와 기댓값 S의 차가 지정한 범위를 벗어나는 경우 엔트로피를 과도하게 변화시키는 토큰으로 파라미터 업데이트에 사용하지 않으며, 이에 대한 실험 결과는 Table1과 같습니다. 다양한 수학 추론 벤치마크에서 베이스라인 대비 성능 개선이 있으며 실제로 판별지표 S를 통한 클리핑이 효과가 있었음을 확인할 수 있습니다.

수식(5). 클리핑 기법 수식

아래의 그림 3은 저자들이 제시한 판별지표 S의 유효성을 직관적으로 알아보기 위한 실험입니다. 실험에 앞서 [Main1]에서 S의 방향이 entropy 변화량의 방향과 반대였음을 기억합시다. 그림 3의 (a)로부터 우측으로 순차적으로 설명하면 아래와 같습니다.

  • (a) 맞은 샘플을 업데이트하는 데 있어서 S가 양수인 토큰의 보상을 지속하면 엔트로피가 지속적으로 낮아져 엔트로피 붕괴가 발생할 위험이 있습니다. 한편, S가 음수인 토큰을 보상하면 엔트로피가 베이스라인 대비 증가함을 알 수 있습니다.
  • (b) 틀린 샘플을 업데이트하는 데 있어서 S가 양수인 토큰의 처벌을 지속하면 해당 토큰의 발생 확률이 낮아지면서 엔트로피가 다시 높아지게 됩니다. 한편, S가 음수인 토큰을 처벌하면 오히려 엔트로피가 지속적으로 낮아지며 엔트로피 붕괴를 가속화할 수 있습니다.
  • (c) 맞은 샘플을 업데이트하는 데 있어서 S가 양수인 토큰의 보상을 막으면 엔트로피를 낮출 수 있는 토큰을 활용하지 않아 엔트로피가 증가합니다. 한편, S가 음수인 토큰의 보상을 막으면 엔트로피를 증가시킬 수 있는 토큰에 대한 접근이 제한되어 베이스라인 대비 엔트로피가 감소하게 됩니다.
  • (d) 틀린 샘플을 업데이트하는 데 있어서 S가 양수인 토큰의 처벌을 막으면 엔트로피를 낮추는 토큰이 발생확률이 조정되지 않고 다른 토큰의 발생 확률이 낮아지면서(처벌) 상대적으로 엔트로피는 감소하게 됩니다. 한편, S가 음수인 토큰의 처벌을 막으면 엔트로피를 높이는 토큰의 발생 확률이 유지되면서, 다른 토큰의 발생 확률이 낮아져 상대적으로 엔트로피가 증가하게 됩니다.

이와 같이 S를 통해 변인을 통제하여 업데이트하였을 때 뚜렷한 패턴 변화가 확인됨을 알 수 있으며, 저자들이 제시한 판별지표가 유효함을 직관적으로 확인할 수 있는 실험이었습니다.

그림3. 판별 지표 S 제약에 따른 entropy 변화 상관관계

Main 1, 2의 수식의 경우 핵심 수식을 제외한 증명 과정은 제외했습니다. 이해에 어려움이 있다면 질문 부탁드립니다. 감사합니다.

Author: 황 유진

4 thoughts on “[arXiv]On the Entropy Dynamics in Reinforcement Fine-Tuning of Large Language Models

  1. 리뷰 잘 읽었습니다. 몇 가지 궁금한 점이 있어서 질문남깁니다!

    본 논문에서는 entropy collapse를 주요 문제로 보고 이를 방지하는 방향으로 설계한 것 같습니다. 그런데 한편으로는 어떤 task에서는 확신이 높은 분포(낮은 entropy)가 오히려 좋은 결과를 낼 수도 있을 것 같습니다. 혹시 이 방법이 ‘과도하게 entropy를 유지’하려고 해서 성능이 떨어지는 경우는 없었는지도 궁금합니다.

    1. 안녕하세요 좋은 댓글 감사합니다.

      물론 확신이 낮은 엔트로피가 좋은 결과를 낼 수 있습니다. 낮은 엔트로피를 갖는 데이터 타입을 학습과정 전부동안 사용하지 않는다면 문제가 될 수 있지만, 만약 성능이 떨어질 정도로 해당 데이터의 학습이 마스킹 되었다면 다음 업데이트에서 그 데이터가 마스킹 되지 않고 학습에 사용 될 확률이 높습니다.

      논문에서는 과도한 entropy 유지로 인한 성능 하락을 따로 다루지는 않았으나 본 연구가 entropy를 과도하게 유지하는것이 목적이 아닌, 과도한 수렴을 막는것이 목적이므로 해당 문제가 크게 이슈가 되지는 않을 것 같다는 의견 전해드립니다.

      감사합니다

  2. 안녕하세요 유진님 좋은 리뷰 감사합니다.
    “특정 토큰 k가 엔트로피를 변화시킬지 여부는 그 토큰의 S∗값이 평균적인 S∗값보다 큰지 작은지에 따라 결정됩니다.”라고 설명해주셨는데, 평균보다 크면 어떻게 되고, 평균보다 작다면 어떻게 변화하는지 궁금합니다.
    감사합니다.

    1. 안녕하세요 좋은 댓글 감사합니다.

      학습의 방향이 좋은 결과에 대해 리워드를 주는 방향일 경우(즉α가 양수) S∗값이 평균적인 S∗값보다 크다는 것은 수식 4에 따라 엔트로피(H) 변화량이 음수가 되어 엔트로피가 감소합니다. 반대로 평균보다 작다면 엔트로피가 증가합니다. 학습의 방향이 나쁜 결과에 페널티를 주는 방향일 경우 반대라고 생각하시면 됩니다.

      감사합니다.

Leave a Reply