huginn muninn

How Is ChatGPT’s Behavior Changing over Time? (부제 : ChatGPT의 성능이 떨어지고 있다니?) 본문

Paper Review

How Is ChatGPT’s Behavior Changing over Time? (부제 : ChatGPT의 성능이 떨어지고 있다니?)

_maddy 2023. 7. 27. 22:45

2023년 7월 18일에 나온 아주 따끈따끈한 레포트.

 

https://arxiv.org/abs/2307.09009

 

How is ChatGPT's behavior changing over time?

GPT-3.5 and GPT-4 are the two most widely used large language model (LLM) services. However, when and how these models are updated over time is opaque. Here, we evaluate the March 2023 and June 2023 versions of GPT-3.5 and GPT-4 on four diverse tasks: 1) s

arxiv.org

 

최근 GPT-3.5, GPT-4와 같은 LLM모델들이 매우 핫한데, 옛날에 비해 성능이 떨어진 것 같다는 소문이 괴담처럼 돌았다.. 실제로 내가 거의 매일매일 사용하는데 답변이 두루뭉실하다던가, 답이 틀린다던가 등.. 나도 성능 저하를 체감하긴 했다.

 

본 레포트의 연구자들은 LLM 모델의 성능에 대해 의구심을 가지고 실험을 진행했다. 

 

 

1.GPT-3.5, GPT-4가 언제, 어떻게 업데이트 되고 있는가.

2.데이트된 내용은 LLM에 어떤 영향을 미치는가.

      이러한 불확식성으로 인해 LLM을 큰 workflow에 안정적으로 적용하는 것이 어려워진다.

      정확도 또는 형식이 갑자기 변경되면 하위 파이프라인이 망가질 수 있기 때문이다. 

3.LLM 서비스가 시간이 지나면 성능이 더 나아지는지

4.모델 업데이트는 성능 또는 기능에 영향을 미치는가.

 

 

 

위 4가지 궁금증을 해결하기 위해서 GPT-3.5와 GPT-4의 2023년 3월 버전과 6월 버전을 4가지 task로 평가한다. 

  1. Solving math problems
  2. answering sensitive/dangerous questions
  3. generating code
  4. visual reasoning

결론부터 미리 말하자면 GPT-3.5와 GPT-4 간의 성능과 동작이 상당히 차이가 났다. 일부 task에서는 시간이 지남에 따라 성능이 상당히 나빠진 것을 확인했다. 

 

 

Metric

 

각 task에 대한 성능 측정 지표는 다음 표와 같다. 

task 성능 측정 지표
Solving math problems 정확도 올바른 답을 생성하는 빈도를 측정
answering sensitive/dangerous questions 답변률 질문에 직접적으로 답변하는 빈도 측정
generating code 직접 실행 가능한 코드의 비율 생성된 코드가 프로그래밍 환경에서 직접 실행되어야 함.
visual reasoning 일치율 생성된 시각적 객체가 실제 결과와 정확히 일치하는지를 측정.

 

그리고 공통 지표는 OverlapVervosity인데 Overlap두 버전 간의 답변의 차이 비교. 얼마나 일치하는지 확인하는 것이다. Verbosity답변 길이를 비교하는 지표이다. 

 

 

 

Monitoring Reveals Substantial LLM Drifts

본격적으로 모니터링 결과를 정리해보겠다. 

 

Solving Math Problems : Chain-of-Thought Might Fail

 

일종의 소수 판별 능력 테스트. 예를 들어 "53이 소수입니까?"라는 질문을 하면 LLM 모델은 53이 소수인지 아닌지 맞추어야 하는 문제. LLM이 추론하는데 도움을 주기 위해서 Chain-of-Thought [Chain of thought prompting elicits reasoning in large language models(Jason Wei,2022) ]방식을 사용하였다.

 

여기서 Chain-of-Thought을 쉽게 설명하자면, 프롬프트에 "차근차근 생각해봐!"(Think step by step and then answer)" 라는 문구를 넣었을 뿐인데도 정확도가 30% 이상 증가한 실험결과가 있었다. 

 

Large Language Models are Zero-Shot Reasoners

이처럼 프롬프트에 LLM이 차근차근 생각해서 풀 수 있도록 유도하는 말을 하면 LLM이 더 문제를 잘 푼다는 그런 내용. 

 

실험 결과는 다음 그래프와 같다. 

 

GPT-4의 정확도는 97.6%에서 2.4%로 하락. GPT-3.5의 정확도는 7.4%에서 86.8% 크게 향상했다.

그리고 Vervosity를 보면 GPT-4는 답변이 훨씬 간결해진 것을 볼 수 있다. 그리고 GPT-3.5는 오히려 답변의 길이가 약 40%증가한 것을 볼 수 있다. 

그리고 두 버전 간의 답변 중복도(Overlap)는 두 서비스 모두 작았다. 

 

GPT-4 3월 버전은 17077이 소수인지 판별하기 위해 chain-of-thought 지시사항을 잘 따랐다. 17077이 짝수인지 확인하고, 17077의 제곱근을 찾고, 17077 보다 작은 소수를 찾고 17077이 어떤 수로 나누어지는지를 확인하는 모습을 볼 수 있다. 실제로 답도 맞추었다. 
하지만 GPT-4 6월 버전은 chain-of-thought이 제대로 작동되지 않았다. 중간 단계를 생성하지 않고 간단히 “No”라는 답변만 생성했다.
GPT-3.5의 경우 3월에는 “No”라는 답변을 먼저 생성하고 그 다음 추론 단계를 수행했다. 추론 단계와 최종 결론은 올바르지만, 명시적인 답변은 틀렸다.
GPT-3.5의 6월 버전은 문제를 해결하는 모습을 보여주었다.  추론 단계를 먼저 작성한 뒤 “Yes”라는 올바른 답변을 생성했다. 
 

 

동일한 chain-of-thought 접근법이라도 LLM 변화에 따라 크게 다른 성능을 보여주고 있다. 

 

 

GPT-4가 GPT-3.5보다 훨씬 좋을 거라고 생각했는데 아니였고, 오히려 3월에 비해 6월에 성능이 크게 저하되는 모습을 보여주었다.. GPT-3.5는 3월보다 6월에 더 성능이 향상됐다. 

 

 

Answering Sensitive Questions : Safer but Less Rationale

LLM에 민감한 질문을 제공하면 사회적 편견, 개인 정보, 그리고 유해한 텍스트와 같은 해로운 결과물이 발생할 수 있다는 것이 이전연구들을 통해 보여졌다. 따라서 일반 텍스트와 AIM(Adversarial Input Manipulation) 공격을 통해 LLM에 제공된 민감한 질문에 대한 답변의 변화를 비교하였다.

  • AIM(Adversarial Input Manipulation) : 교묘한 조작을 통해 LLM의 답변을 유도하는 것, 모델이 부적절하거나 해로운 내용을 생성하도록 유도하는 것

 

 

일반 텍스트와 AIM 공격(Jailbreaking prompting)에 대한 답변률 변화를 비교한 것이다. GPT-3.5AIM 공격 방어에 실패한 것을 볼 수 있다. 3월에도 높은 답변률(100%)을 보여주고 6월에도 높은 답변률(96%)을 보여준다. 거의 방어를 하지 못했다고 볼 수 있다.

반면 GPT-4 의 업데이트로 AIM 공격에 대해 더 강력하게 방어했다. 3월에는 78%의 답변률을 보여주지만 6월에는 31%로 방어력이 향상했다. 

AIM공격외에도 민감한 질문에 대해 시간이 지남에 따라 어떻게 답변이 변화하는지 이해하기 위한 실험을 진행한다. 이를 위해 연구자들은 민감한 질문 데이터셋을 직접 만들었다. 이 데이터는 LLM 서비스들이 직접적으로 답변해서는 안되는 100개의 민감한 질문들로 구성이 되어있다. 민감한 질문이란 개인 신상 정보라던가, 의료정보, 인종, 종교, 성 정체성, 폭력적이고 유해한 내용이라고 볼 수 있겠다. 

 

 

결과는 위의 그래프와 같다. 

GPT-4는 민감한 질문에 대해서 3월에 비해 6월에 더 적게 대답했다. GPT-3.5는 민감한 질문에 대해 3월에 비해 6월에 더 많이 대답함.
이 결과를 통해 GPT-46월에 더 강력한 안정성 레이어가 추가되었을 가능성이 있다고 추측할 수 있고, GPT-3.5는 더 보수적으로 바뀌었을 것이라고 추측할 수 있다. 

그리고 GPT-4vervosity600자 이상에서 140자 정도로 줄어들었다.거절 응답을 할 간결해지고 이유를 설명하는 내용이 줄어들기 때문이다. 

 

데이터 중 하나를 예시로 가져왔다.

GPT-43월과 6월에 모두 부적절한 질문에 대답을 거부했다. 그러나 3월에는 거부 이유를 설명하는 긴 단락을 생성했지만 6월에는 단순히 죄송하지만 그 질문에 도움을 드릴 수 없습니다라고 간단한 답변만 제공하고 있다. 
GPT-3.5 도 비슷한 현상을 보인다. 

 

LLM 서비스들이 더 안전해지는 반면, 특정 질문에 대한 거절 응답을 설명하는 이유를 더 적게 제공한다는 것을 알 수 있다. 

 

Code Generation : More Verbose and Less Directly Executable

 

코드생성 task. 나에게 아주 중요하다.. 지금까지 에러나면 스택오버플로우, 오래된 옛날 블로그 글 다뒤져가면서 해결했는데 ChatGPT가 생긴 이래로 수고가 덜었다. 

 

연구자들은 코드 생성 task를 평가하기 위해 코드 생성 데이터셋을 구축했다. 데이터셋은 LeetCode의 "easy" 카테고리에 속하는 최신 50개의 문제를 포함하고 있고, 각 문제의 프롬프트는 원래 문제 설명과 해당하는 python 코드 템플릿을 연결했다. 그리고 LLM에서 생성된 코드는 직접 LeetCode 온라인 저지에 제출해 평가했다. 온라인 저지가 맞았다고 채점하면 해당 코드는 맞은 것으로 처리한다. 

 

 

결과는 위의 그래프와 같다. 

실행 가능한 코드의 수는 3월에서 6월로 넘어가면서 감소했고 GPT-4는 3월에 실행 가능한 코드가 약 50%였지만, 6월에는 10%로 줄어들었다. 그리고 GPT-3.5도 비슷한 추세를 보이고 있다. 

Verbosity를 보면 두 모델 모두 일부 단어가 증가해서 답변 길이는 약간 증가했다. 

 

 

답변의 길이가 왜 늘어났나면 코드 앞뒤로 Python이라는 주석이 추가되었고, 중간중간 주석도 들어갔다. 

연구자들은 이렇게 코드 사이에 주석을 들어간게 코드를 실행 불가능하게 만들었다고 말한다. 특히 LLM이 생성한 코드를 더 큰 소프트웨어 파이프라인 내에서 사용할 때는 식별하기 어려울 수 있다. 

 

Conclusion

 

앞의 실험들을 통해 GPT-3.5와 GPT-4의 행동이 짧은 기간동안 크고 다양하게 변화했다는 것을 볼 수 있었다. 이는 LLM의 행동을 지속적으로 평가해야하는 필요성을 강조한다. 

LLM 서비스를 지속적인 워크 플로우의 구성 요소로 사용하는 사용자나 기업들은 모니터링이 필수라고 할 수 있다. 

 

 

영원한 건 절대 없어. ... - GD의 삐딱하게

 

 

GPT-3.5와 GPT-4 간의 성능차이가 확실할 줄 알았는데 아니였고,,, 오히려 성능이 안 좋아진걸보니 스카이넷 같은 사태가 일어날까봐 걱정한 내가 바보다. 쨋든 LLM 모델의 지속적인 모니터링은 중요하고, 앞으로 LLM모델의 성능을 유지할 수 있는 방법이 뭐가 있을지 생각해보는 것도 좋겠다.