끄적

LLM 응용 : LLM Agent, Visual ChatGPT

uvumbu 2025. 1. 7. 10:51

 

 

LLM Agent

주어진 요청을 처리하기 위해 계획을 수립한다.

해당 상황에 적절한 도구를 사용하고, 과거 대화 기억이나 관련 기록을 참고하여 복잡한 과제를 차례대로 수행한다.

 

  • System Prompt : 이 LLM 자체가 무엇인가에 대한 정의
  • Commands : 우리가 쓸 수 있는 도구들을 정의
  • Your Task : 이 LLM이 풀어야 하는 문제 정의
  • Response strictly witth a JSON Object : LLM이 실제로 출력해야 하는 포맷

 

여기서 ' Commands'은 web_serch나 calculator 등이 될 수 있다.

 

gpt가 web_serch를 통해 인터넷 검색을 하고 그에 대한 결과값을 받은 다음, calculator 를 호출하는 등, 어려운 Task 를 단계별로 수행할 수 있다.

 

 

Visual ChatGPT

GPT-3.5는 텍스트만 다룰 수 있다.

그런데 이미지를 다룰려면 어떻게 해야할까?

이에 Visual ChatGPT는 LLM Agent와 유사한 형태로 다뤄서, 텍스트 뿐만 아니라 멀티 모달 데이터도 다루도록 만들었다.

 

이미지를 다룰 수 있는 모델들, VFM (Visual Foundation Models)은 기존에도 존재했었다.

문제는 사용자가 상호작용하는데 어려움이 있었다.

 

ChatGPT-3.5를 활용해 이미지 생성을 interactive하게 컨트롤 할 수 없을까? 그런 아이디어에서 시작됐다.

 

 

아이디어

Prompt를 구성하여 ChatGPT와 다양한 VFMs를 연결, 유저가 모델과 대화하며 이미지 생성 및 수정을 한다.

ChatGPT의 경우 어떤 작업을 수행할지 계획을 세워서 중간 결과를 생성 가이드한다.

 

ex

'A 이미지의 depth를 측정해서 그걸 기반으로 카툰 스타일로 바꿔줘!'

이런 복잡한 질의가 들어왔다고 가정하자.

' depth를 측정 ', ' 카툰 스타일로 수정', '이미지 수정', 이들에 대한 것은 기존의 모델이 존재하고 있었다.

이들을 동시에 호출할 수 없었다.

이제는 ChatGPT가 Prompt화를 통해 직접 도구를 호출하게 했다.

 

 

작동 방식(이미지 처리라고 가정할 때)

 

Prompt에 포함되는 내용

  • 시스템 원리: 챗GPT가 지켜야 하는 기본 규칙 (예시 : 이미지 파일 형식)
  • 이미지 처리 모델 종류와 특징
  • 대화 기록 : 맥락에 따라 도구 호출하기 위해
  • 유저 쿼리 : 유저가 풀고자 하는 유저 쿼리(예시 : 어떤 이미지를 만들어줘!)
  • 최종 답을 생성하기 위한 중간 답의 기록

 

(1)  Prompt manager

  • 각 VFM의 특징을 ChatGPT에게 알려주고 입출력 포맷을 적시한다.
  • 이미지 타입 변환 (예시 : png, depth, mask matrix)
  • 대화의 로그 저장 및 VFMs의 충돌 통제

(2) ChatGPT를 통해 계획 수립

  • 입력된 Prompt 기반으로 계획을 만든다.

 

(3) 이미지 처리가 필요한 경우, VFM 사용해서 중간 답안 생성한다.

  • 이후 추론 기록과 합쳐서 다시 Prompt Manager에 넣어 계획 생성한 후, 이미지 처리가 필요한지 판별한다.

 

(4) 이미지 처리가 필요하지 않은 경우, 최종 결과로 반환한다.