LLM과 랭체인의 한계와 Agent의 문제점 그리고 TAG

LLM과 랭체인의 한계와 Agent의 문제점 그리고 TAG

최근에 나오고 있는 LLM 기반의 AI 서비스들은 대부분이 랭체인(Langchain)으로 개발되고 있습니다. 랭체인은 LLM을 사용하여 어플리케이션 생성을 단순화하도록 설계된 프레임워크 입니다.

랭체인 구성도 (출처: LangChain 101: Build Your Own GPT-Powered Applications)

랭체인은 시작하기에 매우 좋고 훌륭한 교육 도구이지만 실제 운영 상황에 맞게 설계되지는 않았습니다. 마치 서버를 직접 조립하기 위해 용산 전자상가에 가는 것처럼 기업에서 프로덕션 레벨로 사용하기 위해 자체적인 파이프라인과 체인을 구축 및 실행하는 것은 컴퓨터의 각 부품을 직접 구매하고 조립하는 것과 같습니다.

LLM과 랭체인은 어떤 한계가 있고 극복 하기 위한 방안은 무엇인지, 그리고 최근에 발표된 TAG(Table Augmented Generation)란 무엇인지 등을 살펴보겠습니다.

1. LLM의 한계

LLM은 질문에 ‘짝이 되는’ 가장 적절한 답변을 ‘생성’하도록 만들어진 AI 모델입니다. 매우 많은 샘플 문서로 훈련이 되어 있어서 다양한 질문에 대하여 그럴듯한 답변을 잘 만들어 내어 큰 관심을 끌었지만 금방 몇 가지 단점이 드러났습니다.

첫번째는 모르는 것을 그럴 듯 하게 답변을 하는 환각 현상이고

두번째는 ‘생성’ 방식으로는 풀 수 없는 문제(예를 들어, 수학이나 물리 같은 연산 문제)가 많이 있다는 것이고 

세번째는 여러 단계의 추론이 필요한 문제를 풀 수 없다는 것입니다.

Open AI의 최신 모델인 GPT-4o의 경우 Math(수학 연산) 관련 기능들이 크게 개선되었다고 알려져 있습니다. 그래서 실제로 GPT-4o에게 아래처럼 고등학교 수준의 수학 문제를 한번 풀어보게 해봤습니다.

비행기의 속력이 기차의 속력보다 4배 빠르다면, 1200km를 가는데 기차는
비행기보다 9시간이 더 걸린다. 기차의 속력은 얼마인가?

아래 그림은 ChatGPT-4o에게 물어본 결과입니다. 우선은 문제를 풀다가 에러가 났고 몇번의 재시도 후에 풀기는 했습니다. 여기서 알 수 있는 것은 내부에서는 파이썬 코드가 동작을 하고있으며 LLM은 결국 랭체인에 의존해서 계산을 모방하는 확률적 모델이라는 것입니다.

수학 분야의 문제 해결 능력이 크게 개선되었다고 알려진 최신 모델인 ‘GPT-4o’조차 국제 수학 올림피아드(IMO) 예선 시험에서 13%의 성적을 받는 수준입니다.

나무위키에 따르면 GPT-4o의 성능은 다음과 같습니다. “연산 실력은 월등히 향상되었다곤 하나 2024년 현재 수능 수학 4점짜리 수준의 문제는 거의 풀지 못하며, 물리학 1 문제는 아주 쉬운 개념형 문제를 제외하고 전혀 풀지 못하고 있다. 식이 완벽하게 주어진 함수의 특정 점에서의 미분계수를 구하거나, 평범한 4차방정식 수준의 문제는 곧장 풀 수 있지만, 주어진 조건을 이용하여 미정계수를 정확히 구하는 것이나, 마찰과 공기저항을 무시한 매우 기초적인 수준의 역학 문제를 해석하고 푸는 것은 전혀 하지 못하는 상태이다. 이는 수학적 구조와 무리수, 허수 등에 관한 정확한 프로그래밍이 제대로 되어있지 않은 모델로 인한 문제로 보인다.
수능 3점 수준의 문제까지는 어찌저찌 풀 수 있는 수준이므로, 2024학년도 대학수학능력시험 미적분 등급컷 기준, 현재 GPT-4o의 성적은 약 5등급 정도이다.”

2. LLM의 한계를 극복하기 위한 방법들

첫번째 문제를 해결하기 위해서는 근거 자료를 제공해주고 그 자료에만 근거하여 답변을 하도록 강제하는 RAG 이며 효과가 좋은 것으로 판단되어 널리 활용되고 있습니다.

두번째 문제를 해결하기 위해서는 각종 도구(예를 들어, 계산기, 웹 검색, 데이터베이스 검색, 프로그램 실행 등)를 미리 정해 놓고 입력으로 들어온 문제에 맞는 도구 짝을 찾아서 적용하는 방식을 사용하는 툴링(Tooling) 기법이 널리 활용되고 있습니다.

세번째 문제를 해결하기 위해서는 문제의 풀이 과정을 여러 단계로 나눈 뒤 각 단계를 툴링이나 (RAG를 포함하여) LLM을 이용해서 풀고 원하는 결과가 나왔으면 다음 단계로 가고 아니면 다시 푸는 에이전트(Agent) 기법이 사용되고 있습니다. 여기서 에이전트란 자연어를 해석하여 LLM과 분석 플랫폼을 조합하기 위한 선택 알고리즘으로 Pool(LLM이 할 수 없는 종류의 분석에 필요한 AI 묶음)에서 Action(LLM과 분석을 위한 AI의 조합)을 스스로 선택하여 순서를 조합한 후 순차적으로 실행하여 답변하는 랭체인 모듈을 의미합니다. 즉 에이전트 기법은 LLM, RAG, 툴링을 모두 사용하면서 ‘자율적으로’ 답이 나올 때까지 탐색하는 방식입니다.

(출처: Intro to LLM Agents with Langchain: When RAG is Not Enough)

위의 그림은 랭체인의 주요 모듈인 LLM과 RAG, Agent의 개념도 입니다. LLM은 RAG 아키텍처를 통해 외부 메모리로 보강되는 개념이며, 에이전트는 이 개념을 메모리, 추론, 도구, 답변 및 action으로 확장합니다.

3. 에이전트(Agent) 방식의 단점들

에이전트 방식을 사용하면 어떤 단계를 실행하기 전에는 결과가 어떻게 나올지 모르는데, 그 결과에 따라서 그 다음 단계를 결정하므로 기하급수적으로 많은 경우의 수가 발생하여 원하는 방향을 찾기 어렵거나, 경우의 수가 많지 않더라도 단계들 사이에 루프가 발생하면 빠져나오지 못하는 위험이 있습니다. 

또한 단계가 많아질수록 불확실성이 점점 커지므로 답변이 틀릴 가능성도 그만큼 급격하게 높아지게 됩니다.

게다가 그 과정이 에이전트의 자율로 진행되므로 사용자는 문제를 푸는 과정을 알 수도 없고 통제할 수도 없습니다. 즉 디버깅이 불가능하여 어디서부터 잘못됐는지 알수가 없고 중간에 바로잡을 수 도 없으므로 아예 처음부터 질문을 다시할 수밖에 없습니다.

아래는 에이전트의 동작 원리를 나타내는 그림입니다.

에이전트가 알고리즘을 스스로 선택함에 따라 사용자는 실행 시간을 전혀 예측 할 수 없으며 언제 끝날지도 모르고 심지어 끝나지 않을(무한 루프) 수도 있습니다. 또한 어떤 알고리즘이 선택되고 어떻게 실행되는지 조차 알 수가 없어서 마치 알파고처럼 블랙박스로 동작합니다.

4. TAG의 등장

데이터베이스와 LLM의 추론 기능을 결합하여 의미적 추론이나 데이터 소스에서 직접 얻을 수 있는 것 이상의 지식을 요구하는 자연어 쿼리를 처리하도록 하는 새로운 접근 방식이 나왔습니다. LLM 한계를 넘기 위해 웹 데이터를 찾는 검색 증강 생성(RAG)에 이어, 데이터베이스를 직접 연결하는 이번 기술에는 ‘테이블 증강 생성(TAG: Table-Augmented Generation)’이라는 이름이 붙었습니다.

벤처비트는 9월 2일 UC 버클리와 스탠포드대학교 연구진이 데이터베이스에서 자연어 질문에 답하기 위한 새로운 패러다임인 TAG에 관한 논문을 아카이브에 게재했다고 보도했습니다.

논문에 따르면 TAG는 사용자 질문을 실행 가능한 데이터베이스 쿼리로 변환하는 ‘쿼리 합성(Query Synthesis)’ 과정, 이 쿼리를 실행해 관련 데이터를 검색하는 ‘쿼리 실행(Query Execution)’ 과정, 그리고 이 데이터와 쿼리를 사용해 자연어 답변을 생성하는 ‘답변 생성(Answer Generation)’ 과정으로 구성됩니다. 이를 통해 특정 쿼리에 제한되는 텍스트-SQL이나 RAG와 달리 더 넓은 범위의 쿼리를 처리할 수 있게 됩니다. 

예를 들어, “고전으로 여겨지는 최고 수익을 올린 로맨스 영화의 리뷰 요약”이라는 질문에 답할 수 있습니다.

이 질문은 전통적인 텍스트-SQL나 RAG 시스템에게는 어려운 문제인데요, 왜냐하면 데이터베이스에서 최고의 수익을 올린 로맨스 영화를 찾아야 할 뿐만 아니라, 세계 지식을 활용해 해당 영화가 ‘고전’인지도 판단해야 하기 때문입니다.

하지만 TAG의 3단계 접근 방식을 통하면, 시스템은 관련 영화 데이터를 위한 쿼리를 생성하고, 필터와 언어 모델을 사용해 수익 순으로 정렬된 고전 로맨스 영화 테이블을 생성한 뒤, 테이블에서 가장 높은 순위의 영화에 대한 리뷰를 요약해 원하는 답변을 제공할 수 있습니다.

아래 그림은 논문에서 제공한 TAG의 구현 예제입니다.

벤치마크에 따르면 TAG 기준 모델은 모든 쿼리 유형에서 50% 이상의 정확도를 꾸준히 유지했으며, 전반적으로 표준 기준 모델들에 비해 20%에서 65%까지 정확도 향상을 제공했다고 밝혔습니다. 이 외에도 연구진은 TAG 구현이 다른 기준 모델들에 비해 쿼리 실행 속도가 3배 빠르다는 것을 발견했다고 합니다.

5. ThanoSQL과의 비교

ThanoSQL도 에이전트와 마찬가지로 LLM, RAG, 툴링을 활용하지만 에이전트처럼 단계별로 풀어나가는 것(미로찾기 문제를 풀 때, 갈림길을 하나씩 차례대로 해결하는 방식)이 아니라 원하는 결과(예, 가장 큰 값 10개를 뽑아줘)만을 제시하는 SQL 언어로 문제를 변환하고, 그 변환의 결과로 나온 질의(query)를 실행하여 그 결과를 사용자에게 제공합니다.

이러한 방식의 장점은 첫째, 무한 루프에 빠지는 위험이 없습니다. SQL은 선언적(declarative) 언어이고 결정론적(deterministic) 특성을 가지므로 모든 경로를 탐색하거나 루프에 빠지는 등의 문제가 없습니다. 명령어를 이용해서 결과를 도출하는 것이 아니라 원하는 결과를 명시하고 그 결과를 얻는 비절차적 방식이기 때문입니다.

둘째, LLM이 문제를 어떻게 풀었는지가 질의로 표현이 되어 있으므로 혹시 틀리게 풀었거나 비효율적으로 풀었다면 질의 자체를 수정하여 즉시 개선된 답변을 얻을 수 있습니다. ThanoSQL 워크스페이스의 채팅 대답창 오른쪽 아래에 있는 >> 버튼을 누르면 Query Editor 화면에서 실행된 쿼리문을 확인하고 바로 수정하여 다시 실행해볼 수 있습니다.

문제를 SQL로 변환하여 푸는 것은 위와 같은 장점이 있는데 종래의 데이터베이스에서 제공하는 SQL의 기능만으로 하는 것 보다는 RAG, LLM, 툴링 등을 결합하면 정확도가 2배 이상 높아진 다는 것이 TAG 논문의 요지입니다. ThanoSQL는 기존의 SQL을 확장하여 이러한 기능을 결합할 수 있는 기능을 내장하고 있습니다.

쉽게 말하면 ThanoSQL은 TAG의 일종이라고 할 수 있으며 LLM뿐 아니라 RAG, 외부API, AI 까지도 모두 SQL에 삽입하여 처리하므로 보다 복잡한 명령에서도 TAG의 장점을 유지합니다.

에이전트와 비교하면, 항상 예측 가능한 실행 시간을 제공하고 정확한 답변을 얻을 수 있으며 디버깅이 가능하고 실행 속도가 월등히 빠릅니다.

TAG는 ‘논문’으로 발표 된 지 아직 한 달이 채 되지 않았지만, 스마트마인드의 ThanoSQL은 지난 2018년부터 자체 개발을 해왔고 다수의 특허출원(14건), 특허등록(12건), 국제특허 PCT(6건)가 진행 중이며 상용화를 하였습니다.

ThanoSQL 도입 문의

ko_KRKOR
위로 스크롤