abstract
사람이 의도한 행동양식을 수식으로 옮기는 것은 어렵기 때문에 RL reward를 디자인하는 것은 힘들다.
이 논문에서는 지향하는 행동양식을 언어적으로 표현했을 때 이를 LLM을 통해 숫자 형태 reward로 바꾸는 방식을 제안한다.
유저는 여러 예제(few-shot)나 description(zero-shot) 를 prompt 에 포함시키고 LLM 은 이와 함께 agent 의 행동양식을 input으로 받아 reward를 반환한다.
이 보상은 rl agent을 훈련시키는데 사용된다.
intro
reward를 직접 만드는 것보다 몇가지 예시를 주면서 선호도를 보상에 반영하는 것이 쉽다!
예시를 이해하기 위해 LLM을 사용한다.
결론 : RL 을 훈련시키기 위한 reward function을 얻기 위해 prompt를 만드는 방법을 연구한다.
Reward를 만들기 위한 LLM의 input
Reward를 만들기 위한 LLM의 input
두 가지 장점)
단점)
LLM을 Reward signal로 사용하는 것
S : trajectory가 있는 sequential 환경에서 state가 어떻게 정의되는지 잘 봐야할듯
input to LLM을 rho 로 표현 (네 가지 요소 포함)
rho_1. task 를 설명하는 string
rho_2. few-shot 이나 zero-shot으로 agent가 했으면 하는 행동양상을 설명하는 string
rho_3. RL 에피소드의 state, action 에 대한 textual 한 설명
rho_4. 과연 rho_3 가 rho_2에서 언급한 내용을 충족시켰는지
최종적으로 additional parser 가 존재해 LLM의 output을 binary 값으로 변환한다.
experiment
평가를 위한 세가지 질문
proxy reward로 사용한 LLM : ‘text-davinci-002’ GPT-3 model , temp : 0
유저의 의도와 맞는 reward를 꾸준하게 생성하는지 판단하는 방법 : ground truth 와 비교
baselines
SL(few-shot baseline) : LLM에게 주어진 것과 같은 example으로 reward signal을 예측하도록 훈련된 모델.
대신 입력을 structured non-text input으로 주어 조금 더 쉽게 훈련하도록 만듦.
few-shot prompting 을 사용하는 경우에만 baseline 으로 사용함
DealorNoDeal 에서 모델 → negotiation 이 주어졌을 때 binary label을 예측하도록 훈련됨
mlp-GRU-mlp 구조의 모델이 supervised 방식으로 훈련됨
Deal or Nodeal에서의 실험결과)
timestep 이 있는 환경에서는 state 한개보다는 trajectory로 주어져야 한다.
하지만 longer prompt는 LLM 이 훈련과정에서 보지 않았을 것이므로 불리하다.
LLM은 recency bias 때문에 앞전에 나타낸 내용보다 나중 내용에 bias가 있을 수 있다.
(환경 상세설명)
task 설명 : 최대 100 timestep 으로 alice와 bob이 book, hat, ball 이 세 물건에 대한 allocation 문제에 협상하는 과정이다.
각 agent는 물건의 개수, 각자가 물건에 느끼는 효용함수 정보를 받는다.
원래 task 에서는 split 에 따른 효용함수로 보상을 받는다. 또한 협상이 결렬될 경우 둘다 아무 보상을 받지 못한다.
각 negotiation 에서 agent는 context를 제공받는데 (물건의 개수 , utility) → 총 길이 6의 배열이 주어진다.
train.txt 훈련 데이터는
여기서 가져옴
reward가 네가지 협상 방식을 배우도록 하는 것이 목표
parser : prompt 에 yes/no 로 대답하게 만들고 답변에 yes, no 찾아서 1, 0 을 반환한다.
만약 두 단어모두 없을 경우 그냥 해당 episode는 넘긴다.
prompt design : 세 가지 예시를 통해 관철시키고자 하는 성질을 설명한다.
예시 만드는 법: 코드 뜯으면서 자세히 봐야할 듯 ..
논문의 개선여지