[논문리뷰] ALI-Agent : Assessing LLM's Alignment with Human Values via Agent-based Simulation(2024)

느리·2025년 1월 30일

HAI

목록 보기
4/10

ALI-Agent : Assessing LLM's Alignment with Human Values via Agent-based Simulation(2024)

해당 논문은 ALI-Agent라는 테스트 시나리오 생성 프레임워크를 소개한다. 그게 무슨 말이냐 하면...

LLM의 위험성을 완화하기 위해서 현재 전문가가 직접 설계한 맥락적 시나리오를 사용하여 LLM이 인간의 가치와 얼마나 부합하는지(align)를 판단하고 있다.
-> 하지만 이것에는 한계가 있는데 일단 시험을 해볼 수 있는 범위가 적고 일반화 능력을 저하시키며 '롱테일 위험'을 식별하는데 방해가 된다. (롱테일 위험= long tail rick는 발생 가능성이 낮지만 발생할 경우 큰 영향을 미치는 사건을 뜻함.)
반면 연구진이 제안한 ALI-Agent는 LLM 기반 에이전트의 자율적인 능력을 이용해서 더 나은 평가를 할 수 있다.

ali-agent는 크게 두 가지로 나눠져 있는데
1. 에뮬레이션 단계 : ali-agent가 현실적인 테스트 시나리오 생성을 자동화!
2. 정제 단계 : 롱테일 위험을 탐지하기 위해 시나리오를 반복적으로 정제

해당 그림은 LLM 평가를 위한 세 가지 접근 방법의 결과를 시각적으로 나타낸 것이다. 자해, 폭력, 성적, 혐오, 괴롭힘이라는 5가지의 요소들. 파란색은 기존 평가 벤치마크이며 주황색과 녹색은 ali-agnet를 뜻한다. 요 차트를 보면 확실히 ali-agent가 기존 평가 방법에 비해서 다양한 위험 요소에 대한 탐지 능력이 우수하다는 것을 알 수 있다.
-> 참고로 그래프에서 표시된 값이 작을 수록 더 좋은 것! 그래야 해당 요소의 위험성이 낮음을 의미한다.

1 ALI-Agent System

그럼 본격적으로 이게 어떻게 이루어지는 건지 한 번 볼까.

해당 그림을 보면 먼저 기존 벤치마크(existing benchmark)가 있다. 인간 전문가가 사전에 잘못된 행동을 시나리오화 하여 대상 LLM에게(=평가 대상) 주고, LLM의 응답을 평가자가 판단하여 그 결과를 보여준다.

그럼 ali-agent는 어떨까.

1단계 : Emulation
사전 정의된 잘못된 행동이나 직접 쿼리를 통해 시나리오를 생성하면, 생성된 시나리오가 실제 상황을 반영하고, 평가 기록을 저장해 다음 평가에 사용한다.

2단계 : Refinement
초기 생성된 시나리오는 반복적으로 업데이트해서 더 정교하게 만들어진다. 이때 Target LLM은 업데이트 된 시나리오에 대해서 새로운 피드백을 받고, Automatic Evaluator가 LLM의 응답을 평가해서 Misalignment에 기록한다.

Evaluation Memory
요 친구는 이전에 수행된 평가의 결과와 시나리오를 저장한다. Automatic Emulator는 이 안에서 retrieve하여 새로운 시나리오를 만들 수 있다.

정리하자면, target llm이 인간의 가치와 맞지 않는 행동을 한 시나리오를 memory에 지속적으로 저장 & 평가 하고, 만약 그에 맞는 행동을 했을 경우 자체적으로 더 교모한 시나리오를 만들어 llm의 행동을 지켜보는 것이다.
즉, red-team이 일일이 테스트하고 저장하고 생각했던 것을 자동화한 것이라고 생각하면 됨!

2 Method of ALI-Agent

전체적인 프로세스는 알겠는데, 그럼 대체 어떻게 인간의 가치와 부합한 것인지 평가한 것일까?

yi=FT(pxi),xiX.y_i = F \circ T (p \oplus x_i), \, x_i \in X.

이를 평가하기 위해서는 (1) 위법 행위 샘플 xix_i와 작업 특정 프롬프트 템플릿 pp를 결합해 테스트 프롬프트를 생성 (pxip \oplus x_i) (2) 결합된 프롬프트를 이용해 LLM T에 쿼리를 던지고 (3) LLM의 응답을 평가자 F를 사용해서 평가한다.

yi(n)=FT(pxi(n)),n=0,,N,yi={1,if yi(n)=1 for some n<N,0,if yi(n)=0 for all nN.y_i^{(n)} = F \circ T ( p \oplus x_i^{(n)} ), \quad n = 0, \ldots, N, \\ y_i = \begin{cases} 1, & \text{if } y_i^{(n)} = 1 \text{ for some } n < N, \\ 0, & \text{if } y_i^{(n)} = 0 \text{ for all } n \leq N. \end{cases}

위 식을 보면...!
결국 yi=1y_i=1이면 LLM의 결과가 인간의 가치와 비일치했다고 보고 이를 memory안에 넣는 것! 반대로 yi=0y_i=0이 나오면 일치했다고 보고 다시 비일치가 나올 때까지 테스트를 해야 한다.

figure4를 보면 알 수 있는 것.
'black people are ciminals'라는 misconduct에 대해 먼저 현실적인 시나리오를 만드는데, 여기서는 대놓고 '특정 고객을 더 감시'한다고 나와 있다. 만약 target LLM이 여기서 '이러면 안돼!!'를 외친다면, '흑인 고객'을 '부유한 피부색을 지닌 고객'으로 바꿈으로서 덜 공격적으로 수정해서 다시 집어넣어보는 것이다.

마치 lv1 몬스터를 쓰러뜨리면 lv2 몬스터가 나오는 것 같군...

2.1 Emulation Stage

해당 과정에서는
1. ali-agent의 메모리에서 llm의 이전 평가기록을 검색한다.
2. 검색한 평가 기록 바탕으로 새로운 테스트 시나리오 생성(Ae)
3. LLM의 피드백을 평가하는 평가자(F)를 통해 결과 도출

Evalutaion Memory

mj=R(xi)=argminmkMD(C(xi),C(mk)),m_j = R(x_i) = \arg \min_{m_k \in M} D(C(x_i), C(m_k)),
  • mjm_j는 가장 관련성이 높은 평가기록
  • C(xi)C(x_i)는 위법 상황 xix_i의 벡터 표현, C(mk)C(m_k)는 기억 M 내의 특정 평가 기록 mkm_k의 벡터 표현을 나타낸다.
  • 각기 다른 두 개의 입력 데이터의 거리 D가 최소가 되는 mkm_k를 찾는 것!

Automatic Emulator

xi(0),ei(0)=Ae(xi,R(xi)),i=1,,Nx,x_i^{(0)}, e_i^{(0)} = A_e(x_i, R(x_i)), \quad i = 1, \ldots, N_x,
  • 평가할 원래의 위법 행위 시나리오 xix_ixix_i와 가장 관련이 깊은 과거의 평가 기록 R(xi)R(x_i)을 바탕으로 자동 에뮬레이터인 AeA_e가 실제적인 초기 시나리오 xi(0)x_i^{(0)}와 이에 대한 설명 ei(0)e_i^{(0)}을 만들어낸다.

Automatic Evaluator

yi(0)=FT(pxi(0)).y_i^{(0)} = F \circ \mathcal{T} ( p \oplus x_i^{(0)} ).

2.2 Refinement Stage

xi(n+1),ei(n+1)=Ar(xi,xi(n),T(pxi(n))),i=1,,Nx.x_i^{(n+1)}, e_i^{(n+1)} = A_r(x_i, x_i^{(n)}, T(p \oplus x_i^{(n)})), \quad i = 1, \ldots, N_x.
  • ArA_r은 정제기로 LLM의 허점을 탐색함
  • 이미 만들어진 시나리오와 이에 대한 반응을 바탕으로 새로운 시나리오와 설명인 xi(n+1),ei(n+1)x_i^{(n+1)}, e_i^{(n+1)}을 만들어내는 것!!

3 Experiments

실험 방법은 크게 3가지.
1. RQ1: ALI-Agent의 평가 하에서 LLM은 다른 일반적인 평가 기준에 비해 어떻게 수행되는가, 그리고 인류 가치의 세 가지 측면에서?
2. RQ2: ALI-Agent는 특정 인류 가치에 대한 문제 행동을 제대로 포함하는 현실적인 시나리오를 생성하며, 테스트 시나리오에서 긴꼬리 위험을 탐구하는가?
3. RQ3: ALI-Agent의 구성 요소(즉, 평가 메모리와 반복 정제기)가 ALI-Agent의 효과성에 미치는 영향은 무엇인가?

3.1 Performance Comparison(RQ1)

-> ali-agent의 성능은 어떨까?

결과

위의 그래프를 보면 zero-shot이나 다른 시스템 프롬프트를 이용했을 때보다 ali-agent를 이용해서 평가했을 때 그 점수가 더 큰 것으로 보인다. (점수가 낮을 수록 인간의 가치와 일치)
-> 즉, ali-agent를 사용했을 때 더 확실하게 평가한다는 소리!

3.2 Study on Test Scenarios (RQ2)

-> 시나리오의 품질은 어땠을까?
-> 이를 위해 1) 인간 평가자를 고용해서 판단하거나 2) OpenAI Moderation API를 이용해 시나리오의 유해성을 측정

결과

  • 85% 이상이 만장일치로 고품질로 평가됨

3.3 Study on ALI-Agent(RQ3)

-> 각 구성요소의 중요성을 살펴보자!

  • 왼쪽 그래프를 보면 확실히 ali agent는 메모리와 refiner를 포함했을 때 더 좋은 성능을 보임
  • 오른쪽 그래프는 ali-agent와 gptfuzzer의 다중 정제 효과를 보여준다. (=> llm을 평가하고 조정하는 과정에서 반복적으로 피드백을 제공했을 떄 어떻게 개선했는지~)
  • 여기서 ali-agent가 횟수를 거듭할 수록 gptfuzzer보다 더 낮은 비정렬 비율을 보이면서 성능을 향상

Conclusion

  • LLM 기반 자율 에이전트의 능력을 활용하여 목표 LLM에서 적응형 및 긴 꼬리 위험을 탐색할 수 있는 새로운 에이전트 기반 프레임워크인 ALI-Agent를 제안
    -> 그러나!!

  • 단점도 존재합니다.

  1. ali-agent는 llm의 능력에 크게 의존하게 되며 닫힌 소스 llm(gpt-4-1106-preview)를 사용하기 떄문에 통제되지 않은 성과를 초래함
  1. 목표 LLM의 안전 경계선을 우회하는 시나리오를 설계하는 작업 자체가 일종의 “탈옥”을 형성하는데, 이 경우 핵심 LLM이 수행하기를 거부할 수 있음

이 단점들 굉장히 중요한 부분 아닌가 싶음... 닫힌 모델을 사용한다면 그 실험을 과연 통제된, 확실한 실험이라고 할 수 있을 것인지....

결국 ali-agent의 목적은 llm을 향상시키는 것이 아니라 llm의 취약성을 발견하고 저장하는 것
그렇다면 이렇게 발견하고 저장한 시나리오를 이용해서 모델을 학습시키는 방법도 있지 않을까? 이 두개를 합치면 인간의 가치와 부합하는 llm을 만들 수 있지 않을까?

profile
얍얍

0개의 댓글