차곡차곡 쌓아보는 개발 데이터_AI/ML engineer
Augmented Language Models: a Survey (Feb. 2023) 논문 정리 리뷰 본문
논문링크 : https://arxiv.org/abs/2302.07842
Augmented Language Models: a Survey
This survey reviews works in which language models (LMs) are augmented with reasoning skills and the ability to use tools. The former is defined as decomposing a potentially complex task into simpler subtasks while the latter consists in calling external m
arxiv.org
해당 논문을 한국어로 번역 및 요약 정리 하였습니다.
- 언어 모델(LM)을 확장 or 발전시키는 방법들
- 추론 능력, 도구 사용 능력 추가하는 연구들 소개
- 추론 능력: 하위 작업으로 쪼개는 과정, 추가 지식 활용
- 도구 사용 능력: 다양한 외부 모듈 사용
- +) 행동 학습
- ALM (Augmented Language Models)이라는 개념을 소개
- * ALM : 언어 모델의 능력을 향상시키기 위해 추가 정보나 지식을 모델에 통합하는 기술
- ALM을 통해 기존 언어 모델의 한계인 해석 가능성, 일관성, 확장성 문제를 해결할 수 있는 가능성 존재
- (일반적인 언어 모델과는 다르게) 문장 안에 빠진 단어 추론, 필요한 툴을 사용한 작업 수행 가능
- 기존의 언어 모델로는 해결하기 어려운 복잡한 문제들 해결
- 추론 능력, 도구 사용 능력 추가하는 연구들 소개
1. Introduction: motivation for the survey and definitions
- LLM의 한계점
- 이전 몇 개의 단어만을 고려해서 다음 단어를 예측하는 경우, 모호한 상황에서 정확한 예측이 어려움
- 환상(Hallucinations) 현상 : 사실이 아니지만 그럴듯한 예측을 제공
- 산술 연산, 추론 체인(reasoning chain)과 같은 과정에서 많은 오류 발생 (Wei et al., 2022c)
- 학습 파라미터 수에 따라 기능이 크게 달라짐
- 모델의 크기에 비례해서 향상되는 능력
- 대규모 LLMs에서만 가능한 기능
- 학습, 지속성(유지보수) 측면에서 비실용적일 수 있음 → 많은 비용 발생
- Scialom et al. (2022)의 연구에서는 대형 모델의 지속적인 학습이 여전히 연구 진행 중인 문제로 제기됨
- 모델의 크기에 비례해서 향상되는 능력
- 이런 제한점들은 GPT3 기반 챗봇 ChatGPT를 다루는 연구에서도 많이 언급 (Goldberg (2023))
- 최근에는 작은 LMs를 개발하는 연구도 많이 진행
- LLMs의 일부 능력을 유지하고 모델의 크기를 줄이는 연구
- 여전히 LLMs보다 성능 저하의 문제 → 한계점 극복을 위한 연구가 필요
- 최근 연구 트렌드
- LM에 외부 문서에서 추출된 정보 추가 → LLM의 한계인 문맥 크기 문제를 우회
- 컨텍스트 제공 → 데이터베이스에서 일치하는 문서 검색 모듈을 장착하여 사용
- 결과적으로 외부 데이터에 접근할 수 있으므로 비매개변수 모델
- 순수 통계적 모델링과는 살짝 벗어난 트렌드
- LM이 중요하지만 누락된 정보를 외부 툴을 사용하여 보완
- 현재 컨텍스트에 포함되지 않은 중요 정보 보완
- 체계적으로 보강할 수 있다면 강력한 에이전트가 될 수 있음
- 이 모델이 Augmented Language Models(ALMs)
- LM에 외부 문서에서 추출된 정보 추가 → LLM의 한계인 문맥 크기 문제를 우회
- 용어 정의
- 추론(Reasoning)
- LM이 스스로 복잡한 문제를 더 쉽게 해결할 수 있는 더 간단한 하위 작업 문제로 분해하는 것
- ALM 관점) 더 많은 계산 단계를 모델에 제공하여 프롬프트에 대한 응답을 반환하기 전에 수행하는 것
- 편향된 예제를 이용한 단계별 추론
- 재귀, 반복같은 다양한 방법 존재
- 현재(사실상) LM이 정말 Reasoning 하는건지, 누락된 토큰을 올바르게 예측할 확률을 높이기 위해 큰 문맥을 생성하다가 나온건지에 대해서는 정확히 알 수 없음 (Huang and Chang (2022))
- 현재 기술 수준에서 Reasoning이란 용어를 너무 남용하고 있음
- LM이 스스로 복잡한 문제를 더 쉽게 해결할 수 있는 더 간단한 하위 작업 문제로 분해하는 것
- 도구(Tool)
- 일반적으로 규칙, 특수 토큰을 사용하여 호출되는 외부 모듈
- Tool은 외부 정보를 수집하거나 가상 또는 현실 세계에 영향을 미칠 수 있음
- 학습 및 추론 단계에서 호출할 수 있음
- API를 호출하는 방법을 학습하는 것도 포함
- 행위(Act)
- = 도구 호출
- 가상 또는 현실 세계에 영향을 미치는 도구를 호출하고 결과를 관찰하는 것
- 웹 검색, 로봇 팔 제어와 같은 작업
- Reasoning + Tool = ?
- 두 가지 요소가 결합되면 휴리스틱 없이도 다양한 복잡한 작업 해결 가능
- 일반화 능력 향상
- 추론의 과정 = 다양한 도구를 결합하여 복잡한 작업을 해결하기 위한 방법
- Tool + Act = ?
- 가상 또는 현실 세계에 영향을 미칠 수 있는 도구와 추가 정보를 수집하는 도구를 동일한 방식으로 호출(Act)
- 수학 문제 해결 → python 코드 출력 LM vs 로봇 팔 제어 → python 코드 출력 LM
- 별 차이 없음
- 수학 문제 해결 → python 코드 출력 LM vs 로봇 팔 제어 → python 코드 출력 LM
- 가상 또는 현실 세계에 영향을 미칠 수 있는 도구와 추가 정보를 수집하는 도구를 동일한 방식으로 호출(Act)
- 추론(Reasoning)
2. Reasoning
- 언어 모델의 추론 능력을 향상시키는 방법
- 이전 연구에서는 LLM이 간단한 추론 문제를 해결할 수 있지만 복잡한 추론 문제는 실패한다는 것을 보여줌
- compositionality gap(합성능력 격차)
- LM이 복잡한 추론 문제에 직면 → 하위 문제에 대한 올바른 답 예측 → 조합 → 올바른 해결책 제공
- ex) 유명인의 출생일, 사망일 올바르게 예측 / but, 나이를 예측 못함
- compositionality gap이 복잡한 추론 문제를 해결하는 것을 어렵게 함 (Press et al. (2022))
- LM이 복잡한 추론 문제에 직면 → 하위 문제에 대한 올바른 답 예측 → 조합 → 올바른 해결책 제공
- compositionality gap(합성능력 격차)
- Eliciting reasoning with prompting
- CoT, Self-ask 기술
- 모델이 답변을 예측하기 전에 중간 단계를 따라가도록 유도하는 방법론
- 입력 다음에 바로 답변이 와야하는 "naive" prompting와는 대조되는 방법
- Wei et al. (2022c)에서 elicitive prompting이 few-shot setting에서 더 나은 추론 능력을 가지는 것을 보임
- 중간 추론 과정을 포함한 프롬프트를 생성
- but, 매우 큰 언어 모델을 사용해야함
- Kojima et al. (2022)에서 언급한 zero-shot setting에서 유사한 능력을 보임
- 입력단에 예시를 주는 게 아니라, 추가 문구만 덧붙여서 스스로 찾게 유도
- few-shot prompting에 비해 낮은 성능
- Recursive prompting
- 재귀적인 접근법
- 합성적인 일반화가 어려운 경우에 유용
- 복잡한 문제를 해결하기 위해 문제를 하위 문제로 분해
- 하위 문제를 독립적으로 해결하고 답을 모아서 최종 답변 생성
- 하위 문제의 답변에 따라 다음 하위 문제의 답이 정해지는 순차적인 해결
- 수학문제를 해결할 때 유용
- 어려운(복잡한) 문제를 하위 문제 리스트로 분해 → 순차적으로 해결 (이전 답을 사용해서 다음 답 생성)
- Least-to-most prompting (Zhou et al., 2022)
- distant supervision(이전 연구) → “in-context learning”를 통한 분해 방법
- Yang et al., (2022a); Khot et al., (2022); Dua et al., (2022)
- 최근 연구에서 가장 많이 사용
- 휴리스틱한 방법을 통해 여러 예시에서 자동으로 선택
- 이전 하위 질문 예측, 답변 생성 단계를 교차해서 동시에 접근하면서 해결
- 질문을 SQL로 먼저 번역하고 분해
- 재귀적인 접근법
- Explicitly teaching language models to reason
- 작업을 수행하는 데 필요한 계산 단계를 예측하기 위해 기억 기능을 학습하는 방법
- 스크래치 패드(scratchpad) 방식
- 사람이 여러 단계의 작업을 수행할 때 사용하는 작업 메모리와 유사
- 계산 작업 중에서 덧셈이나 코드 실행과 같은 멀티스텝 계산 작업에서 LMs의 성능을 향상 Nye et al. (2021)
- LM이 스크래치패드 앙상블을 보고 덧셈과 같은 입력 작업과 관련된 중간 단계를 예측
- 한계점
- 가능한 추론 경로를 모두 탐색하는 것이 어려움
- 중간 단계가 올바른지 보장할 수 없음
- 수학 연산이나 특정 시점에 알려진 사실을 잘못 이해하는 경우 최종 결과에 영향을 미침
- 이를 방지하기 위해, 간단한 검색 엔진이나 계산기 같은 도구를 활용하는 작업 존재
3. Using Tools and Act
- 언어 모델이 외부 도구와 상호작용하고 행동할 수 있는 방법
- 이전 연구에서는 모델에 의존(모델 내부 가중치에 저장된 지식만 사용)
- 외부 모듈을 사용하여 더 나은 성능을 보임
- 파이썬 인터프리터 활용
- 검색 엔진과 같은 외부 모듈에 대한 쿼리 전달 → 작업 수행
- Calling another model
- 프롬프트를 최적화하는 대신 LM을 반복적으로 호출하는 방법
- 최근 발표된 Re3 (Yang et al., 2022c)
- 해당 아이디어로 2천 단어 이상의 이야기를 자동 생성함
- 먼저 GPT3에게 가정을 입력하여 계획, 설정 및 캐릭터를 생성
- 현재 이야기 상태에서 (계획 + 이야기 상태에서 나온 정보)를 반복해서 GPT3 프롬프트에 주입
- 새로운 이야기 구절을 생성
- PEER (Schick et al., 2022)
- 각 단계에서 계획을 생성하고 입력된 텍스트를 편집하도록 학습된 모델
- Wikipedia에 대해 학습 → 수정과 다음 단계 계획을 모두 학습
- 반복적으로 계획을 세우고 수정하며 글을 생성할 수 있음
- 생성된 텍스트에 추가 업데이트 작업이 필요하지 않을 때까지 반복하여 사용
- 한계점
- 현재는 휴리스틱한 방법으로 LM을 호출해줌
- 미래에는 LM이 스스로 만족하는 아웃풋이 생성될 때까지 반복 호출하도록 하는 것을 기대
- +) 사전 학습된 인코더 + 언어 모델
- 최근에는 텍스트만으로 충분한 문맥을 포함하지 못하는 경우 모달리티 활용 (멀티-모달)
- ex) 질문이 진지한 톤 or 유머러스한 톤인지에 따라 답변을 다르게 생성해야하는 경우
- 텍스트 데이터뿐만 아니라 이미지와 같은 비주얼 데이터를 이용하여 복잡한 추론과 판단을 수행 (Zhang et al. (2023))
- Socratic Models 프레임워크 Zeng et al. (2022)
- 서로 다른 모달리티에서 사전 학습된 다양한 모델들을 zero-shot으로 조합할 수 있게 해줌
- 모델들은 서로 정보를 교환하고 새로운 다중 모달 기능을 습득
- 추가적인 finetuning 없이 새로운 응용 프로그램을 가능
- 최근에는 텍스트만으로 충분한 문맥을 포함하지 못하는 경우 모달리티 활용 (멀티-모달)
- Information retrieval (정보 검색)
- 최근 입력을 기억하는 기억 유닛으로 보강하여 추론 능력을 향상시킬 수 있음
- 자연어 형태의 지식을 완전히 LM에서 분리하고 외부 지식 소스에서 검색하여 사용
- 부정확하거나 오래됐거나 사실이 아닌 정보를 생성하지 않게 해줌
- 대규모 LM과 비슷한 성능을 달성하며 매개변수의 수는 줄일 수 있음
- LM을 개선하고 발전시키기 위해 기억 보강 전략은 매우 중요
- Retrieval-augmented language models (검색 기반 언어 모델)
- REALM (Guu et al., 2020)
- retrieval model + LM (end-to-end)
- 처음으로 공동 훈련 시킨 방법
- RAG (Lewis et al., 2020)
- retriever를 sequence-to-sequence 모델과 함께 fine-tuning한 모델
- RETRO (Borgeaud et al., 2022)
- auto-regressive LM에 초점
- 큰 규모의 말뭉치를 pre-trained BERT 임베딩과 결합
- retriever를 더 이상 훈련시키지 않으면서 GPT3와 유사한 성능
- Atlas (Izacard et al., 2022)
- 검색 결과를 sequence-to-sequence 모델과 함께 공동으로 훈련
- 상대적으로 훨씬 작은 크기의 모델로도 강력한 few-shot learning 능력을 보임
- 검색 결과를 sequence-to-sequence 모델과 함께 공동으로 훈련
- REALM (Guu et al., 2020)
- CoT prompting (Chain-of-thought prompting) + Retrievers
- CoT prompting과 Retrievers를 결합하여 LM을 보강하는 방법
- IRCoT (Information Retrieval Chain-of-Thought)
- 검색을 CoT 추론 단계와 교차하여 다단계 QA를 위한 방법을 제안
- IRCoT (Information Retrieval Chain-of-Thought)
- CoT prompting과 Retrievers를 결합하여 LM을 보강하는 방법
- Querying search engines
- 검색 엔진에 질의하는 방법
- 언어모델에게 쿼리 생성 능력을 부여해서 더 능동적인 역할을 수행하게 함
- LaMDA
- 대화 데이터뿐만 아니라 공개 웹 문서도 학습한 모델
- 검색, 계산기, 번역기를 포함한 추가적인 기능을 부여하여 사실적인 기반을 보완하고 대화 능력을 향상
- ReAct
- 몇 가지 학습용 프롬프트를 사용 → 검색 및 위키피디아 조회와 같은 다양한 도구 사용 방법을 학습
- 검색 결과(도구 사용 결과)를 반환
- 정보 검색이 결합된 언어 모델의 이점
- 언어 및 의사 결정 작업에서 더 큰 상호 작용 가능
- 다양한 언어 및 의사 결정 작업에서 우수한 성능을 발휘
- Computing via Symbolic Modules and Code Interpreters
- 심볼릭 모듈 및 컴퓨터 인터프리터를 통한 컴퓨팅 방법
- LM의 큰 수나 복잡한 계산을 수행할 때 오류가 발생하는 한계점 극복에 초점
- ex) Vanilla GPT3는 훈련 중에 본 숫자보다 큰 수에 대한 덧셈 수행 불가
- PAL (Gao et al., 2022)
- CoT prompting 방법론 사용
- 심볼릭 추론, 수학적 추론 또는 알고리즘 작업을 중간 단계로 분해
- 각 단계에서 파이썬 코드와 함께 실행 → 다른 모델들보다 더 나은 결과 (특히 GSM8K:초등학교 수학 문제에서)
- 이를 통해 대학 수준의 수학 문제나 금융 문제 등 다양한 문제들을 해결할 수 있는 시도들이 이루어지는 중
- Acting on the virtual and physical world
- 언어모델이 가상 혹은 물리적인 세계에서 작동하는 방법
- 어떤 상태에서 가능한 행동과 그 행동이 세계에 미치는 영향에 대해 알아야함 → “affordances” 개념 학습
- 다양한 구현 및 활용 방법
- 시뮬레이션 환경에서 학습
- 언어모델은 현실 세계에서 일어날 수 있는 다양한 상황을 학습
- 로봇이나 드론과 같은 기계를 제어하는데 사용
- 언어모델은 주어진 상황에 대한 이해와 상황에서 취해야 할 행동을 학습
- 시뮬레이션 환경에서 학습
- 나중에는 현실 세계에서 실용적으로 사용될 수 있는 인공지능 시스템을 개발할 수 있게 됨
4. Learning to reason, use tools, and act
- 추론, 도구 사용 능력을 하기 위한 접근 방법
- Supervision
- Few-shot prompting
- LM에게 몇 가지 예시를 제공하는 방법
- 인간의 직접적인 피드백 없이 빠른 실험 가능
- but, 예제의 형식이나 선택된 소수의 예제, 순서 중요 (성능이 크게 좌우됨)
- 컨텍스트 창 크기에 따른 제한이 있음
- 한계점
- 대규모 작업에는 한계가 있음
- weight 업데이트가 수행 x → 프롬프트를 제거하면 능력 삭제
- 보완을 위해 self-supervision 방법 제안 (여전히 문제, 연구 중)
- Fine-tuning
- 사전 학습된 언어모델 미세조정
- 추론 능력을 개선하는 데 사용 (Chung et al., 2022)
- 도구를 사용하는 방법을 가르치는 데 사용
- 검색 엔진(Komeili et al., 2021; Shuster et al., 2022b)
- 웹 브라우저(Nakano et al., 2021)
- 계산기 및 번역 시스템(Thoppilan et al., 2022) - LaMDA
- 한계점 & 기대효과
- 대부분의 경우 데이터가 더 많이 필요
- 인간의 도움을 받을 수 없는 작업에 적용하기 힘듦
- few-shot prompting보다 복잡하지만 LM의 성능을 더욱 향상시키는 데 더 효과적일 수 있음
- Prompt pre-training
- 사전 학습 단계에서 라벨링 된 추론의 예시들을 사전 학습 데이터와 섞어서 사용
- 미리 학습한 분포를 유지하면서 편향된 fine-tuning이 발생하지 않도록 함
- fine-tuning을 수행하는 동안 LM이 주어진 예제 데이터에 과적합되지 않게 해줌 (Taylor et al. (2022))
- 한계점 (?)
- fine-tuning 단계를 별도로 수행하는 것과 비교하여 어떤 이점을 제공하는지 정확히 밝혀진 바 없음
- Bootstrapping
- 간접적인 지도학습 방법
- LM에 일부 명령을 주고 몇 가지 답을 받음 → 최종 예측 결과에 도달하지 못한 경우 그 예제를 버림
- STaR (Zelikman et al., 2022)
- 주어진 질문에 대한 올바른 최종 답변으로 이어지는 논리적 생각만 유지
- 적은 양의 지도학습 데이터로도 효율적인 모델 학습
- 모델이 보다 정확하게 예측할 수 있도록 학습됨
- STaR (Zelikman et al., 2022)
- Few-shot prompting
- reinforcement learning
- 인간의 선호도 데이터를 이용하여 강화학습을 적용하는 방법
- 기존 지도 학습의 한계점(인간이 제공하는 라벨 데이터 의존 → 데이터 수집 힘듦/비용 문제) 극복
- 언어 모델에 강화 학습을 적용
- 다음 토큰을 샘플링하는 모델 어휘(vocabulary) 분포에 대한 정책(policy) 학습 → 보상 함수 최적화
- Hard-coded reward functions
- 외부 도구를 사용하는 방법을 가르치는 것이 목적
- 모델의 가중치를 하드코딩된 보상함수에 따라 업데이트
- LM 에이전트는 현재 환경 상태에 해당하는 텍스트 입력을 받고 토큰 또는 동작을 생성
- policy gradient 알고리즘(REINFORCE, PPO)(Williams, 1992) 사용
- ex) 가상의 상점에서 제품을 구매하는 과정 학습 (Yao et al. (2022a)
- 사용자가 생성한 명령을 받아 질문을 이해
- 웹에서 제품 검색
- Human feedback
- RLHF (Reinforcement Learning from Human Feedback)
- (Knox and Stone, 2008; MacGlashan et al., 2017; Christiano et al., 2017; Warnell et al., 2018)
- 인간의 선호도를 평가 메트릭 및 목적 함수로 활용
- 하드 코딩된 보상 함수로는 쉽게 파악하기 어려운 복잡한 인간의 선호도와 가치에 더 가까운 언어 모델 생성
- 인간의 피드백을 활용하여 대화 시스템과 같은 분야에서 더 나은 인공지능 모델을 만들 수 있음
- RLHF (Reinforcement Learning from Human Feedback)
- 인간의 선호도 데이터를 이용하여 강화학습을 적용하는 방법
- Limitations and future directions
- 한계점
- 불안정함
- 특정한 문제(대화, 질의응답)를 해결하기 위한 모델에서는 학습 데이터가 많이 필요
- bootstrapping 기법이나 offline RL 기법을 사용하여 해결 (적은 수의 데이터로도 학습 진행)
- Toolformer Schick et al. (2023)
- 모델이 도구를 사용하는 방법을 자체적으로 학습하도록 하는 모델
- 여러 도구를 사용할 수 있지만, 아직 한 번에 하나의 도구만 사용 가능
- 한계를 극복하면 복잡한 도구 사용 방식도 학습할 수 있지 않을까 ?
- 모델이 도구를 사용하는 방법을 자체적으로 학습하도록 하는 모델
- 한계점
5. Discussion & Conclusion
- ALM의 잠재적 이점
- 신뢰성(Truthfulness)
- 참된 정보를 생성하도록 도와 모델의 신뢰성을 높일 수 있다는 점
- 기존의 LMs는 학습 목적 때문에 사실적이지 않은 정보를 생성할 가능성 존재
- 이를 보완하기 위해 외부 도구를 사용 → 신뢰성 보장 (아직은 미흡하다)
- 불확실성 추정 및 감소(Estimating and reducing uncertainty)
- 추가 정보를 이용하여 모델 스스로가 무엇을 알고 무엇을 모르는지를 학습하도록 확장할 수 있음
- 가중치에 의존해야 할 때와 외부 도구를 사용해야 할 때를 구분
- 해석 가능성(interpretability)
- 중간 추론 과정을 제공하고 외부 도구를 활용함으로써 해석 가능성을 높임
- 향상된 기능 (Enhanced capabilities)
- LM보다 더 유용한 어시스턴트
- ex) 파이썬 인터프리터에 연결된 ALM은 사용자를 대신해서 코드와 실험 가능
- 더 넓은 범위의 작업을 해결
- LM보다 더 유용한 어시스턴트
- 결론
- Augmented Language Models 연구를 통해 복잡하고 유용한 인간-기계 상호작용을 수행할 수 있을 것
- 인공지능 분야에서 더 나은 추론 및 작업을 수행할 수 있도록 도움을 주는 중요한 모델
- 모델이 가지는 윤리적 문제를 인식하고 이를 해결하기 위한 연구도 함께 이루어져야 한다는 것
- 인간의 개입 없이 작동할 수 있는데, 이로 인해 위험한 결과를 초래할 수 있음
- 신뢰성(Truthfulness)
'논문정리' 카테고리의 다른 글
LaMDA: Language Models for Dialog Applications 논문 정리 및 리뷰 (1) | 2024.01.06 |
---|