| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- deepseek
- outer join
- 알고리즘
- 논문리뷰
- 프로그래머스
- 코딩테스트
- GPT
- ABAE
- 연구
- ChatGPT
- dfs
- 머신러닝
- 파이썬
- join
- SQL
- LLM
- NLP
- transformer
- 백준
- 가상환경
- MySQL
- 분산
- 그래프
- Bert
- gpt1
- 자연어처리
- SQL 첫걸음
- leetcode
- Aspect
- paper review
- Today
- Total
huginn muninn
How Is ChatGPT’s Behavior Changing over Time? (부제 : ChatGPT의 성능이 떨어지고 있다니?) 본문
How Is ChatGPT’s Behavior Changing over Time? (부제 : ChatGPT의 성능이 떨어지고 있다니?)
_maddy 2023. 7. 27. 22:452023년 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로 평가한다.
- Solving math problems
- answering sensitive/dangerous questions
- generating code
- visual reasoning
결론부터 미리 말하자면 GPT-3.5와 GPT-4 간의 성능과 동작이 상당히 차이가 났다. 일부 task에서는 시간이 지남에 따라 성능이 상당히 나빠진 것을 확인했다.
Metric
각 task에 대한 성능 측정 지표는 다음 표와 같다.
| task | 성능 측정 지표 | |
| Solving math problems | 정확도 | 올바른 답을 생성하는 빈도를 측정 |
| answering sensitive/dangerous questions | 답변률 | 질문에 직접적으로 답변하는 빈도 측정 |
| generating code | 직접 실행 가능한 코드의 비율 | 생성된 코드가 프로그래밍 환경에서 직접 실행되어야 함. |
| visual reasoning | 일치율 | 생성된 시각적 객체가 실제 결과와 정확히 일치하는지를 측정. |
그리고 공통 지표는 Overlap과 Vervosity인데 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% 이상 증가한 실험결과가 있었다.

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

GPT-4의 정확도는 97.6%에서 2.4%로 하락. GPT-3.5의 정확도는 7.4%에서 86.8%로 크게 향상했다.
그리고 두 버전 간의 답변 중복도(Overlap)는 두 서비스 모두 작았다.

동일한 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.5는 AIM 공격 방어에 실패한 것을 볼 수 있다. 3월에도 높은 답변률(100%)을 보여주고 6월에도 높은 답변률(96%)을 보여준다. 거의 방어를 하지 못했다고 볼 수 있다.
AIM공격외에도 민감한 질문에 대해 시간이 지남에 따라 어떻게 답변이 변화하는지 이해하기 위한 실험을 진행한다. 이를 위해 연구자들은 민감한 질문 데이터셋을 직접 만들었다. 이 데이터는 LLM 서비스들이 직접적으로 답변해서는 안되는 100개의 민감한 질문들로 구성이 되어있다. 민감한 질문이란 개인 신상 정보라던가, 의료정보, 인종, 종교, 성 정체성, 폭력적이고 유해한 내용이라고 볼 수 있겠다.

결과는 위의 그래프와 같다.
그리고 GPT-4의 vervosity는 600자 이상에서 140자 정도로 줄어들었다.거절 응답을 할 때 더 간결해지고 이유를 설명하는 내용이 줄어들기 때문이다.

데이터 중 하나를 예시로 가져왔다.
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모델의 성능을 유지할 수 있는 방법이 뭐가 있을지 생각해보는 것도 좋겠다.