증강
언어 모델의 한계
- 언어 모델은 텍스트 생성 작업에는 효과적
- 복잡한 기술이 필요한 작업(수학, 복잡한 추론 등)에는 한계
- 학습 데이터에 포함되지 않은 정보(현재 날씨, 날짜 등)에 접근할 수 없음
- 기존의 방법은 모형 설계, 데이터 등 학습 단계에서 접근
- 대규모 모형의 학습은 비용이 높음
증강 augmentation
- 증강: 외부 도구로 언어 모형의 성능을 높이는 것
- 외부 도구: 언어 모델 외부에서 실행되는 컴퓨터 프로그램에 대한 함수 인터페이스
- 언어 모델은 도구를 사용하기 위해 함수 호출과 입력 인자를 생성
- 도구 함수는 다양한 방식으로 구현될 수 있음
- 심볼릭 계산이나 신경망 등 어떤 방식으로든 구현 가능
- 프로그래밍 인터페이스만 갖추면 됨
도구의 종류
- 인식(Perception)
- 환경으로부터 정보를 제공하거나 수집하는 도구
- 학습 데이터에 포함되지 않은 외부 정보에 접근 가능
- 예:
get_time()API를 사용하여 현재 시간 정보 획득
- 행동(Action)
- 환경에 대해 행동을 수행하고 환경의 상태를 변경할 수 있는 도구
- 예:
turn_left()로 로봇의 방향 전환
- 계산(Computation)
- 외부 환경과의 상호작용 없이 프로그램을 통해 복잡한 계산 작업 수행
- 예: 계산기, 번역기
다중 기능을 가진 도구
- 하나의 도구가 여러 가지 기능을 할 수 있음
- 검색 엔진:
- 계산: 문서 유사도 측정 및 관련 문서 선택
- 인식: 웹에서 데이터 인식 및 가져오기
- SQL 쿼리
- 계산:
SELECT SQRT(16) / 10 AS result - 인식:
SELECT name FROM data - 행동:
INSERT INTO data VALUES name
- 계산:
도구 사용 패러다임
- 추론 시점 프롬프팅(Inference-time prompting)
- LM의 문맥 내 학습 능력 활용
- 도구 정보를 프롬프트로 제공
- 작업에 대한 지침, 쿼리와 해결책 예시, 도구 기능에 대한 문서를 제공
- 학습을 통한 방법(Learning by training)
- 도구를 사용하는 예시로부터 학습
도구: 다른 모델 사용하기
- 여러 가지 전문화된 모델을 체인으로 연결하여 작업을 수행
- 다른 모달리티의 모델을 연결할 수도 있음
- ChatGPT도 유사한 방식을 사용하는 것으로 추정
출처: PromptChainer: Chaining Large Language Model Prompts through Visual Programming (https://arxiv.org/abs/2203.06566)
도구: 검색
- 검색 증강 생성(Retrieval Augmented Generation; RAG)
- 검색된 문서를 프롬프트에 추가
- 검색 방법: 키워드(sparse) 검색, 임베딩(dense) 검색
- 검색 대상: 내부 문서 and/or 인터넷


출처: WebGPT: Browser-assisted question-answering with human feedback (https://arxiv.org/abs/2112.09332)
도구: 코드 실행
- ChatGPT는 Python, Claude는 JavaScript를 이용


출처: Solving Challenging Math Word Problems Using GPT-4 Code Interpreter with Code-based Self-Verification (https://arxiv.org/abs/2308.07921)
도구: 로봇 제어
- Code as Policies
- 자연어로 표현된 복잡한 지시를 로봇이 수행할 수 있도록 코드를 생성

출처: Code as Policies: Language Model Programs for Embodied Control (https://arxiv.org/abs/2209.07753)
- SayCan
- LM이 현실에 대한 이해가 부족할 수 있음
- LM은 복잡한 명령을 더 간단한 하위 목표로 분할
- 로봇은 각 작업의 가치와 실현 가능성에 대한 정보를 제공

출처: Do As I Can, Not As I Say: Grounding Language in Robotic Affordances (https://arxiv.org/abs/2204.01691)
Vision-Language Action Model

도구 선택
- 지정된 도구가 있는 경우: 별도의 도구 선택 불필요
- 소수의 도구(5-10개)가 있는 경우
- 도구의 메타데이터와 사용 사례를 사용자 쿼리와 함께 입력 컨텍스트로 제공
- LM이 표준 생성 프로세스를 통해 컨텍스트에서 직접 도구 선택
- 다수의 도구가 있는 경우
- 검색을 통해 가장 관련 있는 도구를 선택
- 선택된 도구의 메타데이터를 LM에 제공
- 적용 가능한 도구가 없는 작업의 경우: 기존의 도구를 조합하여 새로운 도구를 만들고 사용
도구 사용의 장단점
- 도구를 사용하기 위해 추가적인 학습 및 추론이 필요
- 계산량 증가에 비해 성능 향상이 미미한 경우도 있음
