대규모 언어 모델의 강력한 기능을 활용하여 AI 기반 챗봇에서 광고 차단하기
작년에 ChatGPT가 출시되고, 올해 초에는 Google의 Bard와 마이크로소프트의 빙 AI가 출시되면서 AI 기반 챗봇의 시대가 열렸습니다 과거에도 마이크로소프트의 테이(Tay)나 메타의 블렌더봇과 같이 인간의 말을 흉내낼 수 있는 AI 기반 챗봇을 대중에게 소개하려는 시도가 있었지만, 챗봇이 실제 사용자들과 상호작용한 후 모두 실패로 돌아갔고 해당 기업들은 역풍을 맞았습니다
그러나 이 세대의 AI 기반 챗봇(OpenAI의 ChatGPT)은 지속될 것으로 보입니다. 점차 AI 기반 챗봇은 우리 생활의 필수품이자 일과 여가를 위한 수단으로 자리 잡았습니다. 점점 더 많은 사람과 기업이 AI 챗봇을 사용하기 시작하면서 2025년까지 전 세계 챗봇 시장 규모는 12억 5천만 달러로 급증할 것으로 예상됩니다. Forbes Advisor의 설문조사에 따르면 73%의 기업이 이미 메시징에 AI(예: 챗봇)를 사용하고 있거나 사용할 계획이며, 46%는 개인 맞춤형 광고에 AI를 활용하고 있습니다.
이 새로운 세대의 챗봇을 뒷받침하는 것은 알고리즘의 기반이 되는 대규모 언어 모델, 즉 LLM입니다. 이러한 모델은 인터넷에서 검색한 텍스트 데이터로 구성된 방대한 데이터 세트(위키피디아, 연구 논문, 수학 데이터, Reddit 등)를 기반으로 학습합니다. 가장 진보된 ChatGPT 버전과 Bing AI는 OpenAI의 GPT-4 모델을 기반으로 실행되고 있으며, Google의 Bard는 현재 PaLM 2에서 실행되고 있습니다. 이러한 LLM은 학습 세트에 차이가 있을 수 있지만(OpenAI나 Google 모두 최신 모델을 학습하는 데 사용되는 정확한 파라미터 수와 학습 자료를 공개적으로 밝히지 않음), 결과물을 생성하는 방식은 동일합니다. 이러한 챗봇들이 많은 정보가 필요한 이유는 이전 단어를 기반으로 문장에 필요한 다음 단어를 예측하기 위해서 입니다.
문장의 다음 단어를 정확하게 추측하는 LLM의 이러한 능력은 챗봇의 응답에 광고를 삽입하는 데에도 사용될 수 있습니다. 이 글에서는 기업이 AI 기반 챗봇을 광고에 활용하는 방법, 이로 인해 사용자에게 발생할 수 있는 문제, 그리고 이러한 광고를 막기 위해 LLM을 활용하는 방법에 대해 살펴봅니다.
AI 기반 챗봇의 광고: 현재와 미래
기업이 LLM의 기능을 활용하여 광고를 게재할 수 있는 방법은 여러 가지가 있습니다. 예를 들어, AI 기반 챗봇은 사용자의 검색어('구매', '조언', '추천')에서 휴대폰과 같은 제품 구매 의사를 나타내는 키워드를 식별한 다음, 사용자에게 특정 제품(예: 아이폰)을 구매하도록 유도하는 광고를 보여줄 수 있습니다. 예를 들어, 사용자가 "3살짜리 아이에게 가장 좋은 선물은 무엇인가요?"라고 질문하면 챗봇은 온라인 장난감 가게의 광고를 출력에 포함시킬 수 있습니다.
Microsoft는 링크, 이미지 또는 프로모션 쇼핑 풍선 등 다양한 형식으로 광고를 표시하는 Bing AI를 통해 광고와 AI 챗봇을 통합하는 트렌드를 개척했습니다.
Bing AI에서 프로모션 링크는 실제 결과의 위와 아래에 모두 배치할 수 있습니다.
구글은 구글 검색 생성 경험(SGE)으로 마이크로소프트의 발자취를 따랐습니다. SGE는 사용자가 검색 결과에서 봇과 채팅할 수 있고, AI가 생성한 스냅샷 안팎에 광고를 표시할 수 있는 Google 검색의 새로운 기능입니다. Bing AI의 광고와 달리 SGE의 광고는 챗봇의 답변 본문과 분리되어 있어 메시지 자체를 훼손하지 않고 차단하기가 쉽습니다. 하지만 언젠가는 구글이 마이크로소프트의 사례를 참고하여 챗봇 응답 내에 직접 광고를 표시하기 시작할 가능성도 배제할 수 없습니다.
곧 광고를 게재할 수 있는 또 다른 챗봇은 스냅챗에 내장된 ChatGPT 기반 챗봇인 My AI입니다. 스냅은 응답에 스폰서 링크를 삽입하는 실험을 하고 있다고 밝혔습니다.
하지만 모든 AI 기반 챗봇에 광고가 있는 것은 아닙니다. 예를 들어 ChatGPT와 Bard는 광고가 없는 챗봇입니다. 응답 안에 광고를 표시할 수 있느냐는 질문에 Bard는 상업용 제품이 아니라 연구 프로젝트로 설계되었다고 답했습니다. "저는 광고를 게재하는 데 어떠한 금전적 인센티브도 없으며, 광고를 게재하는 것은 사용자의 신뢰를 저버리는 행위라고 생각합니다."라고 Bard는 말했습니다. 뿐만 아니라 Bard는 상업용 챗봇의 광고에 대해서도 "이러한 챗봇이 사용자에게 광고를 타겟팅할 수 있으므로 챗봇에 제공하는 정보에 대해 주의하는 것이 좋습니다."라고 경고했습니다.
이 경고는 OpenAI의 ChatGPT가 AI의 응답에 광고를 삽입하는 관행으로 인해 발생할 수 있는 ‘투명성, 사용자 동의, 데이터 프라이버시, 조작 또는 오용 가능성에 대한 우려’를 지적한 데 따른 것입니다.
그러나 OpenAI가 제공하는 챗봇을 비롯하여 AI 기반 챗봇을 상용 솔루션으로 채택하고 이를 통해 수익을 창출하려는 기업이 늘어나면서 이러한 입장은 점점 희박해질 수 있습니다. Snap이 이러한 트렌드의 좋은 예입니다.
광고가 사용자 경험을 개선하는 경우는 거의 없으며, 실제로 개선할 가능성은 극히 적더라도 오히려 사용자 경험을 악화시킬 가능성이 더 높다고 생각합니다. 이는 AI 기반 챗봇 내 광고에서도 예외가 아닙니다.
챗봇 내 광고가 사용자 경험을 저해하는 방법
광고는 원래 본질적으로 성가시고 항상 진실되지 않지만, AI 응답에서 더 보게 된다면 더 두배로 성가실 수 있습니다.
첫째, 채팅 도중에 광고가 표시되는 등 광고가 포함되면 봇과의 대화 흐름이 방해될 수 있습니다. 또한 이러한 광고는 광고주의 의제나 챗봇의 알고리즘에 따라 사용자의 의견, 결정, 행동에 영향을 미칠 가능성이 높기 때문에 조작당하고 있다는 느낌을 받을 수도 있습니다. 다양한 링크와 정보 소스를 볼 수 있는 기존 검색 엔진과 달리 챗봇은 다양한 관점과 옵션에 대한 노출을 제한할 수 있기 때문입니다. 이로 인해 현실에 대한 인식이 왜곡되고 판단력이 흐려질 수 있습니다.
이제 챗봇 응답에 포함된 광고의 위험성에 대해 간략히 살펴보았으며, 다음 부분인 AI 시대에 광고를 차단하는 방법으로 넘어가겠습니다.
광고 차단의 새로운 개척지
Google의 SGE에 있는 광고와 같이 챗봇의 응답에 필수적인 부분이 아닌 광고는 기존의 광고 차단 방법을 사용하여 제거할 수 있습니다. 하지만 광고가 챗봇의 응답과 섞여 답변의 불가분의 일부가 되면 광고 차단이 더 어려워집니다. 기존의 광고 차단 방법을 사용하여 이러한 광고를 차단하면 응답의 일부도 차단되어 원하는 정보를 일부 잃게 되고, 기껏해야 불완전하고 최악의 경우 쓸모없는 답변이 될 수 있기 때문입니다. 이는 현명한 해결책이 필요한 까다로운 문제입니다. 한 가지 가능한 해결책은 LLM의 강력한 기능을 사용하여 광고를 차단하는 것입니다.
LLM의 기능을 사용하여 광고를 차단하는 방법을 보여드리기 전에, 광고가 챗봇의 응답에 어떻게 포함되는지 자세히 살펴보겠습니다.
LLM 기반 앱에 광고를 통합하는 한 가지 방법
LLM 기반 챗봇 응답에 광고를 통합하는 가장 쉽고 효과적인 방법은 ‘임베딩(embedding)’이라는 기술을 사용하는 것입니다. 임베딩은 챗봇이 응답에 광고를 포함하도록 지시하는 명령을 사용자 쿼리에 삽입하는 방식으로 작동합니다. 아래 예에서는 사용자 쿼리에 챗봇이 사용자에게 인기 마켓플레이스의 광고를 표시하도록 지시하는 명령을 임베딩했습니다.
AI 기반 챗봇에서 광고를 차단하기 위한 전략
광고가 어떻게 통합되는지 파악한 후에는 광고를 차단하기 위한 다양한 전략을 모색할 수 있습니다. 대규모 언어 모델(LLM)을 활용하는 서비스의 광고를 차단하려면 독립형 앱, 즉 작동을 위해 추가 소프트웨어나 서버가 필요하지 않은 앱(예: 브라우저 확장 프로그램)을 사용할 수 있습니다. 이 앱은 디바이스와 서비스 간에 오가는 데이터를 가로채서 수정합니다.
이렇게 하려면 OpenAI와 같은 LLM 제공업체에서 API 키를 로드해야 합니다. 앱은 이 키를 사용하여 타사 서비스에 자격 증명을 공개하지 않고 디바이스의 데이터를 변경합니다. 이것이 바로 프롬프트 애플리케이션이 일반적으로 작동하는 방식이며, 데이터를 비공개로 안전하게 유지합니다. 아래에서는 이러한 앱을 사용하여 광고를 필터링하는 세 가지 주요 방법을 살펴보겠습니다.
- 응답 처리
첫 번째 방법은 챗봇의 응답을 다른 프롬프트 LLM으로 처리하는 것입니다.
이 접근 방식의 가장 큰 장점은 다용도로 활용할 수 있다는 점입니다. 응답을 처리할 때 AI를 사용하지 않고도 임베딩, 미세 조정 또는 응답 끝에 홍보 텍스트를 추가하는 등 LLM이 애플리케이션에 통합되는 방식은 상관없습니다.
이 접근 방식의 단점은 비용이 든다는 점입니다. 모든 사용자 쿼리에는 LLM에 대한 또 다른 요청이 수반됩니다.
- 사용자 쿼리 처리
또한 사용자 쿼리 내에 광고를 표시하지 않도록 '숨기기' 지시를 시도할 수도 있습니다. 이 경우 모델에 추가 요청을 할 필요는 없지만, 사용자 입력으로 저희 지침이 서비스 지침으로 인해 묻힐 수 있다는 점을 염두에 두어야 합니다.
이 경우 프롬프트 인젝션은 추가 처리가 필요하지 않으므로 시간이 덜 걸립니다. 이 방법은 더 간단하고 비용 효율적이지만 서비스 요청 템플릿에 사용자 입력 조작을 방지하기 위한 특수 구조가 포함될 수 있으므로 신뢰성이 떨어집니다. 또한 이 접근 방식은 AI를 사용하지 않고 챗봇의 응답에 추가되는 광고를 차단하는 데는 쓸모가 없습니다.
- 컨텍스트 설정
LLM을 사용하는 서비스 광고를 피하는 또 다른 방법은 대화를 시작할 때 LLM에 응답에 광고를 표시해서는 안 된다고 알려주는 것입니다. LLM에 ‘광고 제거기’ 역할을 하도록 지시하는 프롬프트를 사용하여 이 작업을 수행할 수 있습니다. 이는 LLM에 부처님이나 다스베이더와 같은 특정 캐릭터처럼 행동하도록 지시하는 것과 유사합니다. 이 방법은 디바이스의 데이터를 변경하는 것보다 훨씬 저렴하지만, API 제공업체의 제한으로 인해 LLM이 사용할 수 있는 컨텍스트의 양이 무한하지 않다는 단점이 있습니다. 쉽게 말해, 컨텍스트는 대화의 메시지 수에 따라 제한되므로 때때로 프롬프트를 반복해야 할 수도 있습니다.
하이라이트
결론
AI 기반 챗봇의 등장으로 사용자 경험을 방해할 수 있는 방해성 광고가 등장할 가능성이 커졌습니다. 광고가 어떻게 통합되는지 이해하고 AI를 사용하여 광고를 차단하는 방법을 살펴봄으로써 사용자를 보호할 수 있습니다. 이 글에서는 AI 기반 챗봇에서 광고를 차단하는 몇 가지 방법에 대해 설명했습니다. 각 방법에는 비용, 속도, 신뢰성 등 다양한 장단점이 있다는 것을 보여주었습니다.
저희가 다루지 않은 한 가지 가능한 방법은 텍스트에서 광고를 감지하고 제거하도록 특별히 설계된 머신 러닝 기반의 전문 솔루션을 사용하는 것입니다. 중요한 것은 이 솔루션이 OpenAI 모델이 아니라 자체적으로 구축한 맞춤형 모델에 의존한다는 것입니다. 이 솔루션은 범용 LLM을 사용하는 것보다 더 효율적입니다. 그러나 이 솔루션은 아직 가설에 불과하며 단기간에 실현 가능하거나 제공되지 않을 수도 있습니다.
향후 더 집중된 솔루션이 나올 수도 있지만, 현재로서는 서비스에서 반환한 응답을 처리하는 것이 최선의 선택인 것으로 보입니다. 이 방법은 사용자 요청에 지침을 포함하는 것보다 더 안정적이지만 더 많은 리소스가 필요합니다.
앞서 살펴본 바와 같이 임베딩은 광고주가 기술적 전문 지식이 없어도 사용할 수 있는 매우 간단한 기술입니다. 이는 또한 남용에 취약하다는 것을 의미합니다. 따라서 우리는 LLM 기반 광고를 다루는 새로운 방법에 대해 미리 생각하고 찾아야 하며, 이 글에서 제시된 정보가 이 분야에 대한 추가 연구에 박차를 가할 수 있기를 바랍니다.