LLM은 스스로 향상될 수 있다
- LLM이 고품질의 데이터 지도 학습 없이 스스로 성능 향상을 할 수 있다
- LLM을 사용하여 라벨이 없는 데이터에 대해 스스로 라벨링을 생성한 후 파인튜닝 하는 기법을 활용
- Chain-of-Thought + Self-Consistency 기법을 이용해서 생성
Self-Criticism에서의 LLM의 한계
- 모델은 여러 선택지 중에서 가장 정답일 것 같은 답을 선택하는 능력은 뛰어남
- 하지만 "모든 답변이 틀림"의 선택지가 추가되면 성능은 저하됨
- 각 선택지에 대해서 하나하나씩 True/False를 묻는 질문에는 잘 대답함
- 모델이 자신의 답변에 대해서 올바른지 물으면 과도한 자신감을 가짐
- Self-Evaluation을 위해서 여러 답변을 제공해주고 선택하는 방법은 효과가 있음
- 언어 모델이 크기가 커질수록 자기 평가 능력은 향상된다
- LLM은 스스로 자신의 응답을 검토하고 수정하는데에는 한계가 있다
- 자체 수정은 오히려 성능이 저하될 수 있다
- LLM말고 외부 피드백이 있어야 응답을 개선시킬 수 있다
- 이전의 연구에서는 오라클 레이블을 사용했기 떄문에 성능이 개선되었다
- 외부 피드백이 제공될 경우에는 모델 성능이 향상될 수 있다
- LLM은 확실히 자신의 추론 오류를 식별하는 것는 어렵다
- 텍스트 생성 작업에서는 원하는 선호에 맞게 자체 수정하는 능력은 있다
- LLM 응답 개선을 위해서는 구체적인 피드백이 중요하다
Self-Refine
-
초기 응답을 반복적인 피드백을 통해서 개선하는 접근법
-
다른 외부 도구 없이 하나의 LLM만을 이용해서 성능을 개선하는 방법
-
단계 : 초기 출력 생성, 피드백, 개선, 반복 및 종료
-
피드백 단계 : 피드백은 구체적이고 개선 단계에서 행동을 유발할 수 있어야 한다



-
개선 작업 : "Okay, lets use this feedback to improve..."라는 지시와 함게 피드백과 개선할 응답을 제공.
--> 선호도 기반 작업에서 높은 성능을 보임
--> 피드백의 품질이 Self-Refine의 성능을 결정함. 가능한 구체적이고 실행 가능한 피드백이어야 함
--> 피드백을 반복할수록 성능이 향상되지만 향상 폭은 점점 줄어듦
--> Self-Refine 방법은 Self-Consistency 기법보다 높은 성능을 보임
Reflexion
- Agent가 언어적인 자기 성찰 피드백을 통해서 자신의 응답을 개선하는 기법
- 자기 성찰 피드백은 외부 메모리에 저장되어서 앞으로 작업을 수행할 때 도와줌
- 여러가지 모듈이 상호작용하는 식으로 구성되어 있음
--> 행동자 : 텍스트와 행동을 생성
--> 평가자 : 행동자가 생성한 출력의 품질을 평가하는 역할
--> 자기성찰 : LLM이 자기 성찰을 통해서 구체적인 피드백을 생성
--> 메모리 : Agent의 피드백을 저장
- 문제를 해결하기 위한 순차적 의사결정 작업,코딩,언어 추론과 같은 작업에서 성능 향상
- 실전에서는 메모리를 어떻게 활용할지가 중요
- Self-Refine과 같이 구체적인 피드백을 작성하는 기법이 중요
Cumulative Reasoning
- 큰 문제를 분해해서 해결하고 중간 결 과를 모아서 다음 문제를 해결하는데 사용하는 기법
- 이 기법은 인간의 인지 과정을 모방한 것으로 중간 결과를 누적해서 활용
- 언어 모델의 복잡한 추론 작업을 해결하기 위한 기법
- 3가지 특화된 LLM들로 구성됨
--> 제안자 : 현재의 문맥에 기반해서 다음 단계나 추론을 제안하는 역할
--> 검증자 : 제안자가 제안한 것을 검토하는 역할
--> 보고자 : 누적된 맥락을 바탕으로 추론이 결론에 도달했다면 솔루션을 제시
- Directed Acyclic Graph 구조로 중간 추론 결과를 동적으로 저장하고 활용
- ToT와도 유사한 점이 많지만 탐색 접근 방식에서 차이가 남
Reversing Chain-of-Thought
- LLM의 사실적 일관성을 보장하기 위한 기법
- 사실적 일관성은 LLM이 조건을 환각, 간과, 잘못 해석하는 현상을 말함
- RCoT는 문제에 대한 솔루션을 생성한 후 이를 이용해 원래 문제를 재구성함으로써 사실적 불일치를 찾아냄
- RCoT의 주요 과정
--> 문제 재구성 : LLM이 문제에 대한 생성한 솔류션을 기반으로 문제를 새롭게 재구성
--> 불일치 감지 : 재구성된 문제와 원래 문제를 세밀하게 비교해서 사실적 불일치 감지
--> 수정 가이드 제공 : 감지된 불일치를 세밀한 피드백으로 구성해서 LLM이 솔루션을 수정하도록 도움
Chain-of-Verification
- LLM의 환각 현상을 감소시키는 방법으로 CoVe가 탄생
- 자신이 생성한 답변을 검증하기 위한 계획을 통해 답변을 평가
- 4단계로 이루어져 있음
--> 초기 답변 생성 : 질문이 주어지면 LLM이 초기 답변을 생성
--> 검증 계획 수립 : 주어진 질문과 초기 답변을 사용해서 검증 질문을 생성
--> 검증 실행 : 앞서 생성된 각각의 검증 질문에 대해 순차적으로 답변을 생성. 여러가지 기법이 있음
- Joint Version : 검증 계획과 검증 실행 단계를 하나로 수행
- 2-Step Version : 검증 질문을 먼저 생성하고 다음 검증 실행에서 답변을 생성
- Factored Version : 검증 질문을 먼저 생성하고 각각의 검증 질문에 대해 독립적으로 답변
- Factored + Revise : Factored 방법에다가 추가로 교차 검증 단계를 추가
--> 최종 검증 답변 생성 : 검증 과정에서 발생한 오류를 토대로 최종 답변을 생성함
- 답변, 질의응답, 장문 텍스트 생성에서 높은 정확도 향상을 보임
- 완벽하게 환각 현상을 해결하진 않음
- 외부 도구와 결합했을 때 더 성능 향상을 기대할 수 있음