- 생성 AI 도입에 도움이 되는 2종류의 OSS, 사용할 때 주의점은?-- LangChain, LlamaIndex
-
- 카테고리AI/ 로봇·드론/ VR
- 기사일자 2023.6.8
- 신문사 Nikkei X-TECH
- 게재면 online
- 작성자hjtic
- 날짜2023-06-17 14:58:26
- 조회수400
Nikkei X-TECH_2023.6.8
근본부터 이해하는 생성 AI의 도입
생성 AI 도입에 도움이 되는 2종류의 OSS, 사용할 때 주의점은?
LangChain, LlamaIndex
자사 시스템에 챗GPT(ChatGPT)를 비롯한 생성 AI 기능을 도입하는 것은 그리 쉽지 않다. 예를 들어 챗GPT의 API를 이용한 간이 챗봇을 개발했다고 해도 실용성에는 과제가 남는다. 현재의 챗GPT는 2021년 9월까지의 데이터로 학습한 것이기 때문에 무료 버전 챗GPT에서는 "현 일본 총리는 누구인가?"라는 질문을 해도 제대로 대답할 수 없다. 또한 긴 문장을 입력할 수 없어 복잡한 계산 처리도 어렵다.
최근 이처럼 생성 AI가 어려워하는 처리를 보완하는 프레임워크가 주목 받고 있다. OSS(오픈 소스 소프트웨어)로 제공되는 LangChain, LlamaIndex 등이다. 다른 시스템 및 서비스와 연계되어 생성 AI를 보완하는 처리가 가능해진다.
-- 다양한 모듈이 마련되어 있는 LangChain --
LangChain에는 ‘Agent’, ‘Prompt’, ‘Models’, ‘Memory’와 같은 모듈이 마련되어 있다. Python으로 기술된 프로그램 등에서 이러한 모듈을 이용하면 다른 시스템이나 서비스와 손쉽게 연계될 수 있다.
예를 들어 Agent 모듈을 이용하면 챗GPT만으로는 응답할 수 없었던 '현 일본 총리는 누구인가?'라는 질문에 대해 Google의 검색 결과를 제공할 수 있게 된다. GMO페파보의 구리바야시(栗林) CTO(최고기술책임자)는 “Agent가 외부 서비스와의 정보 교환을 대행할 수 있다. 이를 통해 챗GPT 등 대규모 언어모델(LLM)이 모르는 정보를 얻을 수 있다”라고 설명한다.
Prompt 모듈을 이용하면 제공 받은 입력값을 바탕으로 프롬프트를 생성하거나, 대량의 교사 데이터에서 프롬프트에 입력할 데이터를 선택할 수 있다. 예를 들면 ‘○○에 대해 가르쳐 주세요’라는 템플릿을 만들어, ○○ 부분을 가변으로 해둔다. 이렇게 함으로써, 사용자가 입력한 값을 가변 부분에 적용하여 프롬프트를 만들어 챗GPT에 문의할 수 있다.
Models 모듈에서는 다양한 서비스가 제공하는 모델을 전환하거나 조합할 수 있다. 이 Models 모듈을 이용하면 미국 오픈AI(OpenAI)가 제공하는 GPT-4 등의 모델이나 타사가 개발한 모델을 조합해 사용할 수 있게 된다. 또한 Memory 모듈에서는 챗GPT와 주고받은 정보를 저장할 수 있다. 과거 채팅 내용 등을 인계 받고 싶을 때 편리하다.
-- 사내 데이터 이용 시 편리한 Llama Index --
LangChain과 마찬가지로 주목 받고 있는 OSS 프레임워크가 LlamaIndex 이다. 기업이 보유한 독자적인 데이터를 바탕으로 챗GPT가 답변할 수 있게 된다. 일반적으로 독자적인 데이터를 바탕으로 LLM이 답변할 수 있도록 하려면 LLM에 독자적 데이터를 추가로 학습시켜야 한다.
하지만 LlamaIndex를 사용하여 독자적 데이터의 문서 파일을 통해 인덱스를 작성하면 해당 인덱스 정보가 챗GPT에 대한 프롬프트에 저장된다. 이를 통해 챗GPT가 학습하지 않은 정보에 대해서도 질문하면 답변을 얻을 수 있게 되는 것이다.
LlamaIndex 에서는 ‘LlamaHub’라는 데이터 커넥터를 이용할 수 있다. 이것을 이용하면 문서 파일 뿐만이 아니라, Twitter나 Slack 등 웹 서비스를 통해서도 데이터를 모아 인덱스를 작성할 수 있다.
LangChain에서도 이러한 인덱스는 만들 수 있지만, “LLM과 데이터를 연결하는 용도의 경우, 용도를 특화한 LlamaIndex가 더 쉽게 구현할 수 있다”(구리바야시 CTO)라고 한다. LlamaIndex에서 구축한 인덱스를 LangChain에서 이용하는 것도 가능하다.
-- 엔지니어의 확보와 운용 체제에 주의 --
이러한 OSS는 편리하지만 도입할 때에는 주의가 필요하다. 구리바야시 CTO는 ‘엔지니어의 확보’와 ‘운용 체제’라는 두 가지 주의점에 대해 언급했다.
LangChain이나 LlamaIndex를 도입하려면 프로그래밍 지식이 필요하다. LangChain을 사용한 프로토타입 작성 정도는 특별한 지식이 필요하지 않지만, 실제로 운용을 감당할 수 있는 시스템을 구축하려면 본격적인 소프트웨어 개발 지식이 필요하다.
즉, 일정 이상의 능력을 가진 엔지니어를 확보해야 한다. 구리바야시 CTO는 “GUI(그래피컬 유저 인터페이스)로 LangChain을 설정할 수 있는 툴이 등장하고 있지만, 현 시점에서는 기능이 정비되어 있지 않다”라고 지적한다.
또한 LLM을 비롯한 생성 AI의 진화는 빠르다. 이것을 따라가는 형태로 라이브러리나 프레임워크의 환경도 빠르게 정비되고 있다. 운용 시에는 LLM의 진화에 맞춰 라이브러리나 프레임워크도 업데이트하지 않으면 안 된다. 이러한 변화에 대응할 수 있는 운용 체제가 필요하게 될 것이다.
-- 끝 --
Copyright © 2020 [Nikkei XTECH] / Nikkei Business Publications, Inc. All rights reserved.