일경컴퓨터_2023/0706_근본부터 이해하는 생성 AI의 도입

책 커버 표지
목차

요약

Nikkei Computer_2023.7.6 (p50-54)

근본부터 이해하는 생성 AI의 도입
챗GPT를 비롯한 대화형 AI 서비스의 등장

생성 AI(인공지능)를 도입하려는 기업이 늘고 있다. 업무 효율화나 새로운 서비스 개발에 도움이 된다고 판단하기 때문이다. 기업이 생성 AI를 도입할 때 알아야 할 지식, 기존 시스템과의 관계나 도입에 도움이 되는 툴, 실제 도입 사례를 통해 알 수 있는 주의점을 해설한다.

챗GPT를 비롯한 대화형 AI(인공지능) 서비스가 등장하면서 생성 AI를 활용하려는 기업이 급증하고 있다. 단순히 챗봇으로 이용하는 것뿐만 아니라 생성 AI를 접목한 새로운 서비스 개발과 기업 시스템과 결합한 업무 효율화 등 활용 폭이 넓어지고 있다.

특히 방대한 문서 데이터로 학습한 대규모 언어모델(Large Language Model, LLM)을 사용하는 AI의 진화는 대단하다. 자연스러운 문장 생성과 문장 요약, 번역 등이 가능하다. 앞으로도 생성 AI를 활용하는 기업은 늘어날 것이다. 그럼, 생성 AI를 기존의 기업 시스템에 편입해 사원들이 쉽게 사용할 수 있도록 하기 위해서는 어떻게 해야 할까? 이하에서 해설한다.

생성 AI와 기존 시스템, 5가지 도입 패턴

생성 AI의 도입 방법은 다양하다. 일본딥러닝협회(JDLA) 이사를 맡고 있는 ABEJA의 오카다(岡田) CEO는 구현 방법을 크게 5가지 패턴으로 분류할 수 있다고 설명한다.

-- 자사에서 LLM을 개발 --
첫 번째는 LLM을 자사의 온프레미스 환경에 도입하는 패턴이다. 자사에서 보유한 다양한 데이터를 학습해 LLM을 구축한다. LLM은 자사에서 구축하거나 생성 AI 벤더에 구축을 의뢰한다.

클라우드 환경에서 운용하는 경우에는 프라이빗 클라우드 등 보안 환경을 사용할 필요가 있다. 이 방법의 장점은 외부 AI 서비스에 정보를 노출시키지 않고 자사 내에서 모든 것이 완결된다는 점이다. “다른 패턴과 비교하면 기밀정보나 개인정보를 다루기 쉽다”(오카다 CEO).

반면에 현 단계에서는 개발 비용이 커진다는 단점도 있다. LLM을 비롯한 생성 AI 모델을 자체 구축하려면 자사 내에 데이터 사이언티스트를 비롯한 AI 전문가 필요하다. 엔지니어를 고용하면 비용이 든다.

그리고 구축 후에도 유지보수를 계속해야 한다. OSS(오픈 소스 소프트웨어)의 진보나 환경 정비로 인해 몇 년 후에는 상황이 바뀔 가능성은 있지만, “현재 이 패턴을 채용할 수 있는 것은 일부 대기업에 국한된다. 일본에서도 몇 회사밖에 없을 것이다”(오카다 CEO).

-- 생성 AI 사업자의 웹서비스를 이용 --
두 번째는 웹 서비스를 이용하는 패턴이다. 이제는 미국의 오픈AI가 개발하는 '챗GPT'나 구글이 개발하는 'Bard', 마이크로소프트가 개발하는 'Bing'의 채팅 기능 등 많은 대화형 생성 AI가 등장하고 있다. 이러한 웹서비스를 사원이 사용하며 자사의 업무에 활용한다.

이 패턴의 장점은 AI를 개발하는 비용을 줄일 수 있다는 점이다. 자사에서 LLM을 개발하는 것에 비하면 현격히 개발 비용이 낮아진다.

반면에 단점도 있다. 외부 서비스에 데이터를 직접 넘겨야 하기 때문에 기밀정보나 개인정보 취급에 세심한 주의를 기울이지 않으면 안 된다. 서비스에 따라서는 사업자 측에서 데이터를 사용하지 않도록 설정할 수도 있지만 절대 사용하지 않는다는 보장은 없다.

웹서비스에서는 할 수 있는 일의 범위가 한정적이라는 것도 단점이다. 이에 대한 대책으로는 오픈AI가 2023년 3월에 발표한 챗GPT 플러그인을 활용하는 방법 등을 생각할 수 있다.

-- 생성 AI 사업자가 제공하는 API를 이용 --
생성 AI 사업자가 제공하는 API(애플리케이션 프로그래밍 인터페이스)를 이용하는 패턴도 있다. 자사에서 개발한 시스템에서 API를 통해 생성 AI 기능을 호출함으로써 자체 시스템을 구축할 수 있다. 필터링 등의 시스템을 넣으면 기밀정보나 개인정보가 외부로 유출되는 사태도 피할 수 있다.

다만 이 방법은 웹서비스를 이용하는 패턴2에 비하면 개발 비용이 든다. 운용 체제도 갖춰야 한다. 또한 API를 통해서는 데이터를 재이용하지 않는다고 하는 AI 사업자도 있지만 웹서비스를 이용하는 패턴과 마찬가지로 기밀정보나 개인정보 취급에는 주의가 필요하다.

-- 사외 시스템을 경유해 API를 이용 --
마이크로소프트는 'Azure OpenAI Service'라는 서비스를 제공하고 있다. 마이크로소프트의 클라우드 서비스인 Azure에서 오픈AI의 LLM을 이용할 수 있도록 하는 것이다. 사내 시스템에서 클라우드 등 외부 시스템을 경유해 생성 AI의 API를 호출할 수 있다.

외부 시스템은 외부 벤더가 이미 개발한 시스템을 사용하는 경우와, 클라우드에 자사 또는 외부 벤더가 구축하는 경우가 있다. 외부 벤더가 제공하는 시스템으로는 자연언어로 조작 가능한 미국 PingCAP의 데이터베이스 서비스 ‘TiDB’ 등이 있다.

이 패턴의 장점은 Azure OpenAI Service 등을 잘 이용해 운용 비용을 낮출 수 있다는 점이다. 단점은 개발 비용이 든다는 것이다. 사외 시스템의 관리 체제에 따라서는 정보 누설 등 보안 측면에 대한 우려도 있다.

-- SaaS 사업자의 서비스를 이용 --
마지막은 SaaS(서비스형 소프트웨어) 사업자가 제공하는 서비스를 이용하는 패턴이다. 예를 들어 PDF 데이터를 읽고 질문에 응답하는 서비스나 텍스트 데이터를 요약하는 서비스 등 많은 서비스가 이미 제공되고 있다. 이들은 SaaS 사업자가 생성 AI 사업자의 API를 이용해 실현하고 있다.

장점은 오픈AI나 구글이 제공하지 않는 자체 기능을 저비용으로 이용할 수 있다는 점이다. 단, 신뢰할 만한 SaaS 사업자인지 아닌지를 판별할 필요가 있다. 아무리 매력적인 서비스를 제공하고 있었다고 해도 데이터 관리 체제에 문제는 없는지 등은 충분히 확인해야 한다.

■ 생성 AI의 도입에 도움이 되는 2종류의 OSS

자사 시스템에 챗GPT를 비롯한 생성 AI의 기능을 도입하는 것은 쉽지 않다. 예를 들어 챗GPT의 API를 이용한 간이 챗봇을 개발했다고 해도 실용성에는 과제가 남는다. 현재의 챗GPT는 21년 9월까지의 데이터로 학습하고 있기 때문에 무료판 챗GPT에서는 "현재 일본 총리는 누구인가?"라는 질문에 제대로 대답할 수 없다. 긴 문장을 입력하지 못하기 때문에 복잡한 계산을 시키기도 어렵다.

이러한 생성 AI가 어려워하는 처리를 보완하는 프레임워크가 주목받고 있다. OSS로서 제공되고 있는 ‘LangChain’이나 ‘LlamaIndex’ 등이다. 다른 시스템이나 서비스와 연계해 생성 AI를 보완 처리할 수 있다.

-- 풍부한 모듈 준비 --
LangChain에는 ‘Agent’ ‘Prompt’ ‘Models’ ‘Memory’ 등의 모듈이 준비되어 있다. Python 등으로 작성한 프로그램에서 이것들을 이용하면 다른 시스템이나 서비스와 간단하게 연계할 수 있다.

Agent 모듈을 이용하면 챗GPT만으로는 응답할 수 없었던 “현재 일본 총리는 누구인가?”라는 질문에 대해 구글 검색 결과로 응답할 수 있다. GMO Pepabo의 구리바야시(栗林) CTO(최고기술책임자)는 “에이전트가 외부 서비스와의 소통을 대행한다. 이를 통해 챗GPT 등 대규모 언어모델(LLM)이 모르는 정보를 얻을 수 있다”라고 설명한다.

Prompt 모듈을 사용하면 입력된 입력값을 바탕으로 프롬프트를 생성하거나 대량의 교사 데이터에서 프롬프트에 입력할 데이터를 선택할 수 있다. 예를 들면 “○○에 대해 알려 주세요”라는 템플릿을 만들고, ○○ 부분을 바꿀 수 있게 해 둔다. 이렇게 함으로써 이용자가 입력한 값을 ○○ 부분에 적용해 프롬프트를 만들어 챗GPT에 문의할 수 있다.

Models 모듈에서는 다양한 서비스가 제공하는 모델을 바꾸거나 조합할 수 있다. 이 모듈을 사용해 오픈AI가 제공하는 GPT-4 등의 모델과 타사가 개발한 모델을 조합할 수 있다. Memory 모듈에서는 챗GPT와 주고받은 이력을 저장할 수 있다.

-- 사내 데이터를 이용하는 데 편리 --
LangChain과 마찬가지로 주목받고 있는 OSS 프레임워크가 LlamaIndex다. 자사에서 보유한 자체 데이터를 바탕으로 챗GPT가 답변할 수 있도록 한다. 보통 자체 데이터를 바탕으로 LLM이 답변할 수 있도록 하려면 LLM에 자체 데이터를 추가로 학습시켜야 한다.

한편, LlamaIndex를 사용해 자체 데이터의 문서 파일에서 인덱스를 작성하면 인덱스 정보가 챗GPT에 대한 프롬프트에 포함된다. 이를 통해 챗GPT가 학습하지 않은 정보에 대해서도 질문하고 답변을 얻을 수 있게 된다.

LlamaIndex에서는 ‘LlamaHub’라는 데이터 커넥터를 이용할 수 있다. 이것을 사용하면 문서 파일 이외에 Twitter나 Slack과 같은 서비스에서도 데이터를 수집해 인덱스를 작성할 수 있다. “LangChain에서도 인덱스는 만들 수 있지만 LLM과 데이터를 연결하려는 거라면, 용도를 특화한 LlamaIndex가 더 간편하게 구현할 수 있다”(구리바야시 CTO). LlamaIndex에서 구축한 인덱스를 LangChain에서 이용하는 것도 가능하다.

■ ‘다베로그’에 챗GPT, 과제는 개발보다 법무

카카쿠닷컴(KAKAKU.COM)은 2023년 5월 6일, 레스토랑 검색/예약 사이트 ‘다베로그’의 챗GPT 플러그인 제공을 시작했다. 챗GPT에서 이 플러그인을 이용함으로써 다베로그의 정보에 근거한 답변을 얻을 수 있다. 예를 들어 원하는 지역과 음식 종류, 예약하고 싶은 날짜와 인원 등을 알려주면 인터넷 예약 중에서 빈자리가 있는 매장이 표시된다.

챗GPT 플러그인을 제공하는 일본 기업은 카카쿠닷컴이 최초인 것 같다. 향후 챗GPT 플러그인을 제공하는 기업이 일본에서도 늘어날 것이다. 발 빠르게 제공한 카카쿠닷컴의 사례는 참고가 될 것이다.

-- 검색 점유율을 챗GPT가 빼앗다 --
카카쿠닷컴 다베로그시스템본부의 교와(京和) 본부장은 플러그인을 제공하는 이유에 대해 “인터넷 검색 점유율의 일부를 챗GPT가 빼앗을 것으로 생각했기 때문이다"라고 설명한다.

2023년 3월 시점의 다베로그 이용자수는 1개월에 약 1억명. 전용 앱보다 구글 등 검색엔진을 통해 유입되는 사용자가 많다고 한다. 검색엔진 사용자는 방대하기 때문에 앞으로 챗GPT가 몇 퍼센트의 점유율만 획득해도 상당한 인원이 된다.

비용 측면의 장점도 있다. 사용자가 플러그인을 이용할 때, 챗GPT에서 다베로그의 API에 접속하면 다베로그의 API가 챗GPT에게 매장 데이터 등을 돌려준다. 즉, 카카쿠닷컴은 기존 시스템을 변경하지 않고 새롭게 챗GPT용 API를 구축하기만 하면 새로운 서비스를 제공할 수 있다.

챗GPT의 API를 이용하지 않기 때문에 챗GPT를 제공하는 오픈AI에게 종량제 API 이용요금을 지불할 필요도 없다. 카카쿠닷컴은 이 같은 장점을 생각해 오픈AI가 플러그인을 발표한 직후 개발을 결정했다고 한다.

-- API 개발 이외에 과제 --
우선 카카쿠닷컴은 플러그인을 제공하기 위해 'Plugin manifest', 'API 사양서', '가게 검색 API' 등 3가지를 준비했다. Plugin manifest에는 플러그인 이름이나 플러그인 설명, API 사양서의 URL 등을 기술한다.

API 사양서에는 OpenAPI 형식의 인터페이스나 필드 설명 등을 기술. 가게 검색 API는 챗GPT의 데이터를 받아 지역과 요리 종류 등의 키워드를 바탕으로 인터넷 예약 중에서 빈 자리가 있는 매장 일람을 알려준다.

API의 개발에 종사한 다베로그시스템본부 웹개발부의 세키도(関戸) 매니저는 “API의 개발 자체는 어렵지 않았다”라고 말한다. 챗GPT의 리퀘스트에 대해 응답하는 처리는 일반적인 웹 API로 구현하는 것이기 때문이다. 또한 가게 검색 API 처리는, 현재의 다베로그에서 이용하고 있는 검색 모듈을 재이용함으로써 개발 공정수를 줄였다.

검색 모듈에는 모호한 단어가 입력되더라도 올바르게 검색할 수 있도록 하는 처리도 있기 때문에 챗GPT의 리퀘스트에 애매한 단어가 포함돼 있어도 대응할 수 있었다.

단, 챗GPT에서 다베로그의 API에 대량의 접속이 발생할 가능성도 있다. API 제공 시스템이 기존 시스템과 동일한 서버에서 움직이면 다베로그를 이용하는 다른 사용자에게 영향을 미친다. 그래서 API 제공 시스템은 기존 시스템과는 다른 서버에 구현했다. 별도 서버에서 가동하면 챗GPT에 특화된 접속 제한을 하기 쉽다는 장점도 있다.

API 구현 자체는 원활했던 반면에 시스템 구축 이외의 부분에서 과제가 있었다고 한다. 예를 들어 챗GPT 측에서 다베로그의 API로 보내오는 데이터에 개인정보가 포함되어 있지 않을까 하는 점이다. 다베로그의 이용 규약에 변경이 생길 가능성도 있었다고 한다.

그래서 교와 본부장은 법무부문이나 보안부문 등과 협력해 조사를 실시했다. 그 결과, 사용자의 나라나 지역, 챗GPT에 입력한 문장 등 프라이버시 데이터가 포함될 가능성이 있다는 것을 알았다. 이 같은 정보가 개인정보에 해당하는지 법무부문과 상담하며, 주고받는 데이터를 정밀 조사한 결과 문제가 없다고 판단했다. 그래서 23년 5월 6일, 무사히 플러그인을 제공할 수 있게 되었다.

실제로 개발에 종사한 엔지니어는 7~8명이다. 들인 기간은 겨우 2주간이라고 한다. 카카쿠닷컴은 앞으로도 챗GPT를 활용하는 제품을 계속 제공할 예정이다. “어쩌다 보니 플러그인을 먼저 제공하게 되었지만 다른 서비스에 응용하는 것도 생각하고 있다”(교와 본부장).

 -- 끝 --

Copyright © 2020 [Nikkei Computer] / Nikkei Business Publications, Inc. All rights reserved.


 

TOP

목차

TOP