필터 목록을 넘어: 대규모 언어 모델(LLM)을 통한 광고 차단 재고

💡
본 연구는 지난 10월 맥심 토프치우(Maxim Topciu)가 Ad-Filtering Dev Summit 2025에서 최초로 발표했습니다. AFDS에 관한 더 많은 콘텐츠는 이 페이지를 참조하세요.

광고 차단기가 지속적으로 직면해 온 가장 큰 장애물 중 하나는 필터 목록의 한계와 이를 유지 관리해야 하는 필요성입니다. 이러한 유지 관리는 대부분의 경우 수동으로 이루어지며 극도로 힘든 작업입니다.

본 연구에서는 현재 광고 차단 기술의 작동 방식을 살펴보고, 머신러닝을 적용해 이를 자동화하려는 기존 시도들을 검토할 것입니다. 이후 광고 차단에 대규모 언어 모델(LLM)을 접목한 저희들의 실험을 소개하고, 이 접근법의 발전 방향을 논의하며, 직접 다운로드하여 테스트해 볼 수 있는 작동 중인 프로토타입 브라우저 확장 프로그램까지 선보일 예정입니다.

하지만 LLM 실험과 확장 프로그램에 대해 이야기하기 전에, 먼저 배경 지식을 바탕으로 상황을 정리해 보겠습니다.

오늘날 광고 차단 기술의 작동 방식

모든 광고 차단기의 핵심에는 커뮤니티가 관리하는 필터 목록이 있습니다. 이 목록은 수천 개의 규칙으로 구성되며, 네트워크 규칙보정 규칙이라는 두 가지 주요 범주로 나뉩니다.

📚
필터링 규칙에 대한 자세한 내용은 지식 창고에서 확인하실 수 있습니다.

네트워크 규칙

작업: 요청 차단, 리디렉션 또는 수정.
예시: ||evil-ads.com^
이 규칙은 evil-ads.com 웹사이트와 그 하위 도메인을 차단합니다.

네트워크 규칙은 콘텐츠가 브라우저에 도달하기 전에 제3자 광고 서버로의 요청을 차단합니다. 이는 빠르고 효율적인 접근 방식입니다. 이러한 규칙은 요청을 요청 차단, 리디렉션 또는 수정할 수 있습니다.

image1.png

그러나 네트워크 규칙으로는 모든 것을 차단할 수 없습니다. 예를 들어, 일부 광고는 콘텐츠와 동일한 도메인에서 제공되므로 네트워크 수준에서 차단하면 사이트가 작동하지 않게 됩니다. 바로 이때 보정 규칙이 필요해집니다.

보정 규칙: 페이지 정리

작업: CSS 선택자를 사용하여 페이지에서 직접 원하지 않는 요소를 숨기거나 사용자 정의 스타일을 적용합니다.
예시: example.com##.ad-banner
example.com에서 ‘ad-banner’ 클래스를 가진 요소를 숨깁니다.

CSS(Cascading Style Sheets)는 HTML 또는 XML 문서의 시각적 표현 방식을 정의하는 스타일 시트 언어입니다. 이는 요소들이 기기 화면에 어떻게 표시되어야 하는지를 지정합니다.

화장 규칙은 기본적으로 단순한 네트워크 규칙으로는 차단할 수 없는 잔여 광고 요소들을 정리합니다.

image21.png

CSS를 넘어서: Scriptlet 규칙

작업: 페이지에서 특정 스크립트 기능을 수정하거나 비활성화합니다.
예시: example.com#%#//scriptlet(‘abort-on-property-read’, ‘alert’) example.com에서 alert와 같은 특정 브라우저 기능에 접근하려는 스크립트를 중지합니다.

CSS만으로는 광고 재삽입 같은 복잡한 스크립트를 처리하기 어려울 때 스크립틀릿을 사용합니다. 스크립틀릿(Scriptlet)은 원치 않는 동작을 중화시키기 위해 광고 차단기가 삽입하는 작은 자바스크립트 조각입니다.

스크립틀릿은 CSS와 네트워크 규칙으로는 해결할 수 없는 문제를 해결해주기 때문에 필터 개발자들이 가장 선호하는 도구가 되었습니다.

능력과 한계

필터 목록의 작동 방식을 간략히 살펴보았습니다. 필터 목록은 강력하며 알려진 패턴에 대해 매우 효과적이지만, 몇 가지 한계점도 존재합니다. 네이티브 광고 처리에는 어려움을 겪으며 지속적인 업데이트가 필요하고, Manifest v3에서는 이러한 업데이트가 더욱 까다로워집니다.

이러한 한계는 “필터 목록을 완전히 없앨 수 있다면 어떨까? 광고 차단기가 스스로 차단할 대상을 결정할 수 있다면 어떨까?”와 같은 근본적인 질문으로 이어집니다.

필터도, 업데이트도, 광고 네트워크 추적도 없다면 어떨까요? 결국, 사용자들은 광고 차단기를 설치한 후 그 존재를 잊고 깨끗한 웹 환경을 즐길 수 있을 거라고 기대하지 않을까요? 바로 이 목표를 달성하기 위해 초기 머신러닝 실험이 시도되었습니다.

이러한 동기를 염두에 두고, 기업과 연구자들이 머신러닝을 활용해 이러한 문제들을 해결하려 시도한 방식을 살펴보겠습니다.

광고 차단 기술에서의 머신 러닝: 간략한 배경

필터 목록을 머신러닝으로 대체하려는 다양한 시도를 살펴보겠습니다. 이를 통해 왜 아직까지는 그러한 변화가 일어나지 않았는지 이해하는 데 도움이 될 것입니다.

eyeo의 Moonshot 프로젝트

목표: 대규모로 보정 필터링 자동화.
방법:

  • 페이지 구조(DOM, HTML, CSS)를 기반으로 머신러닝 모델 훈련
  • 라벨링을 위해 기존 필터 목록 활용
  • 브라우저 확장 프로그램 내에서 직접 페이지 분석

eyeo의 Moonshot 프로젝트는 2021년 Ad-Filtering Dev Summit에서 발표되었습니다. 그들은 필터 목록을 레이블로 사용하여 페이지 구조에 대한 모델을 훈련시켰습니다. 이 모델은 브라우저 확장 프로그램 내에서 실행되어 광고 요소를 예측하고 숨겼습니다. 작동은 했지만 데이터 불균형, 배포 어려움, 지속적인 재훈련 필요성 등의 문제에 직면했습니다.

핵심 아이디어: 이미지 기반이 아닌 페이지 구조 기반 결정
결과: 광고 요소 예측 및 숨김으로 네트워크 차단을 보완
도전 과제: 데이터 불균형, 배포 어려움, 지속적인 재훈련 필요성

Brave의 AdGraph

목표: 실시간으로 광고 및 트래커 차단
방법:

  • 모든 페이지 활동(DOM, 네트워크, 자바스크립트)을 연결하는 그래프 구축
  • 그래프 내 컨텍스트에 기반하여 콘텐츠 분류

Brave의 AdGraph

또 다른 머신러닝 프로젝트인 AdGraph는 Brave 브라우저에서 개발하여 2019년 AFDS에서 소개되었습니다. 이 프로젝트는 페이지 내 모든 요소(DOM, 네트워크, 자바스크립트)의 연결 관계를 추적하는 그래프를 구축한 후, 컨텍스트에 기반하여 리소스를 분류했습니다.

AdGraph는 무작위 이름이 사용된 경우에도 스크립트를 광고 서버까지 추적함으로써 높은 정확도를 달성했습니다. 하지만 이를 위해서는 브라우저와의 깊은 통합과 지속적인 유지 관리가 필요했습니다.

핵심 아이디어: 정적 URL 패턴뿐만 아니라 인과 관계에 기반한 결정
결과: 매우 높은 정확도(약 95~98%) 및 난독화에 대한 강건성
도전 과제: 브라우저와의 깊은 통합과 지속적인 유지 관리가 필요

Brave의 PERCIVAL

목표: 실시간으로 광고 이미지 차단
방법:

  • 이미지를 분류하기 위해 얇은 신경망(CNN) 사용
  • 브라우저의 이미지 렌더링 파이프라인에 직접 내장

 Brave의 PERCIVAL

2020년, Brave는 PERCIVAL이라는 또 다른 머신러닝 접근법을 선보였는데, 이는 광고 이미지 차단에 초점을 맞췄습니다. 그들은 브라우저의 렌더링 파이프라인에 직접 소형 신경망을 내장하여 이미지가 로드되는 동안 이를 분류했습니다. 결과는 인상적이었습니다. 이미지 콘텐츠를 직접 분석하여 97%의 정확도를 달성했습니다. 하지만 한계도 있었습니다. 적대적 이미지(adversarial images)에 취약했으며 이미지 광고에만 적용 가능했습니다.

핵심 아이디어: URL이나 메타데이터뿐만 아니라 이미지의 시각적 콘텐츠를 분석
결과: 낮은 렌더링 오버헤드로 약 97% 정확도 달성
도전 과제: 적대적 이미지에 취약함; 이미지 기반 광고에만 제한

AutoFR (학술 연구)

목표: 필터 규칙을 처음부터 자동 생성
방법:

  • 규칙 테스트를 위해 강화 학습(시도와 오류 시스템) 사용
  • 사이트 손상을 방지하기 위해 페이지 콘텐츠 분석

산업계의 노력뿐만 아니라 학계 연구진들도 더 나은 해결책을 모색하는 데 동참했습니다. 그중 흥미로운 프로젝트가 바로 필터 규칙을 자동 생성하는 것을 목표로 한 AutoFR이었습니다.

AutoFR은 Hieu Van Le가 AFDS 2022AFDS 2023에서 발표했습니다.

이 프로젝트는 URL 패턴과 CSS 선택자를 생성하고 테스트하며, 사이트 장애를 방지하면서 결과로부터 학습합니다. 그 결과는 상당히 인상적이었습니다: AutoFR은 (EasyList 대비) 86%의 차단 효율성을 달성했으며, 규칙은 몇 분 만에 생성되었습니다.

핵심 아이디어: 사이트 장애 인식 기능을 갖춘 자동화된 규칙 생성
결과: 약 86% 차단 효율성, 몇 분 만에 생성된 규칙

SINBAD (학술 연구)

목표: 광고 차단으로 인한 사이트 오류 감지 및 정확한 위치 파악
방법:

  • ‘웹 살리언시(web saliency)’를 활용해 중요한 시각적 요소 식별
  • 광고 차단기 적용 여부에 따른 페이지 버전 비교를 통해 오류 발생 요소 확인

SINBAD 알고리즘

또 다른 학술 프로젝트는 SINBAD였습니다. 이 프로젝트는 필터 규칙이 웹사이트를 손상시키는 시점을 탐지하는 데 중점을 두었습니다. 사이트 손상은 사용자가 광고 차단기를 사용하지 않게 되는 주요 원인 중 하나이므로 이 프로젝트는 매우 가치 있었습니다. 이 프로젝트는 당시 임페리얼 칼리지 런던 소속이었던 Sandra Siby가 AFDS 2023에서 발표했습니다.

크기, 위치, 대비를 분석하여 헤드라인이나 버튼처럼 시각적으로 두드러지는 요소를 식별한 후, 해당 요소들의 깨짐 현상을 테스트합니다. SINBAD는 깨짐 현상 탐지에서 높은 정확도를 달성했으며, 구체적인 보고서를 통해 정확히 무엇이 깨졌는지와 어떤 규칙이 그 원인이 되었는지 보여줍니다.

핵심 아이디어: 사용자에게 보이는 영향에 집중하여 문제를 더 빠르게 찾아 해결
결과: 구체적이고 실행 가능한 보고서를 통한 깨짐 현상 탐지 정확도 향상

요약: 머신러닝이 지배하지 못한 이유

그래서 수많은 실험과 연구 프로젝트를 살펴봤습니다. 하지만 문제는, 이 모든 노력에도 불구하고 머신러닝 기반 도구 중 어느 것도 널리 채택되지 못했다는 점입니다. 따라서 다음과 같은 질문을 하는 것이 논리적일 것입니다. 왜 머신러닝이 필터를 대체하지 못했을까요?

여러 이유가 있습니다.

  • 높은 기준: 사람이 직접 선별한 필터 목록은 매우 효과적입니다. 이를 따라잡는 것은 쉬운 일이 아닙니다.
  • 고비용: 대규모 고품질 데이터셋을 생성하고 유지하는 데는 비용이 많이 드는 반면, 대부분의 필터 목록은 커뮤니티가 무료로 관리합니다.
  • 회피: 특수화된 모델은 적대적 공격에 취약할 수 있습니다.

결국, 특수 모델을 처음부터 구축하는 것은 느리고 비용이 많이 들며 유연성이 부족하다는 점이 드러났습니다. 이것이 바로 머신러닝 접근법이 아직까지 널리 보급되지 못한 이유이며, 저희는 여전히 오래된 필터 목록에 의존하고 있습니다. 하지만 이 상황이 곧 바뀔까요?

LLM의 등장: 크고 비싸지만… 다른 모델

그리고 대규모 언어 모델(LLM)이 등장하여 세상을 바꾸기 시작했습니다. 광고 차단도 바꿀 수 있을까요? 브라우저 확장 프로그램에서 광고 차단을 위해 LLM을 활용하는 방법을 살펴보겠습니다. 하지만 먼저 LLM을 정의하는 주요 특징들을 간단히 살펴보겠습니다.

LLM을 통한 차단 재고: 신속한 프로토타이핑의 힘

대규모 언어 모델(LLM)은 아직 최근에 개발된 기술이지만 그 발전 속도는 놀라울 정도로 빠릅니다. 현재 API를 통해 널리 접근 가능해져 개발자들이 최소한의 노력으로 LLM 기반 기능을 제품에 통합할 수 있게 되었습니다. 많은 모델이 클라우드 기반과 로컬 배포 버전으로 제공되어 사용자가 필요에 따라 유연하게 선택할 수 있습니다.

LLM의 역량은 고품질 텍스트 생성부터 데이터 분석, 이미지 및 동영상 제작, 코드 작성, 복잡한 워크플로 지원에 이르기까지 다양합니다. 이로 인해 수많은 산업 분야에서 가치가 인정되며 수백만 명의 수요를 창출하고 있습니다. 그러나 이러한 모델을 운영하거나 접근하는 데는 특히 대규모로 사용할 경우 비용이 많이 들 수 있으며, 이는 많은 분야에서 LLM 도입의 실질적인 문제점입니다.

그러나 가장 중요한 점은 LLM이 아이디어를 매우 빠르게 테스트할 수 있게 해준다는 것입니다. 이제 브라우저 확장 프로그램에서 광고 차단에 LLM을 적용한 제 실험 결과를 보여드리겠습니다.

실험 1. 의미에 의한 차단

첫 번째 실험의 아이디어는 LLM이 실시간으로 다양한 콘텐츠 유형을 구분할 수 있는지 확인하는 것이었습니다.

아이디어:

  1. 게시물을 즉시 모자이크 처리
  2. LLM이 콘텐츠를 분석
  3. 안전할 경우 모자이크 해제, 안전하지 않을 경우 유지

X의 피드에서 테스트해보기로 했습니다. 각 게시물의 코드를 가져와 LLM에 전송하며 정치 관련 내용인지 묻는 방식이었죠. LLM이 다소 느리기 때문에, 모든 게시물을 즉시 흐리게 처리한 뒤 LLM의 도움을 받아 분석하고, 안전하다고 판단되면 흐림 처리를 해제했습니다.

LLM을 활용한 첫 번째 방법

이는 좋은 결과를 보였으며, 이는 콘텐츠를 필터링하는 새로운 의미론적 방식이 가능함을 증명합니다. 게다가 이 확장 프로그램 전체를 단 몇 시간 만에 프로토타입으로 구현했는데, 기존 머신러닝 방식으로는 몇 달이 걸렸을 작업입니다.

간단한 데모를 확인해 보세요.

여기서 작동 방식을 확인할 수 있습니다. 게시물이 나타나면 즉시 흐리게 처리되고, LLM이 이를 분석한 후 안전하다고 판단되면 흐림을 해제하고, 그렇지 않으면 계속 숨겨둡니다. 사용자는 흐리게 처리된 게시물을 수동으로 표시할 수 있습니다.

X에서 실험하던 중, 일부 게시물이 주로 이미지로 구성되어 차단되지 않는다는 점을 발견했습니다. 이로 인해 두 번째 실험을 진행하게 되었습니다.

실험 2. 시각적 의미에 의한 차단

이 실험에서 저는 광고 차단기에 시각적으로 인식하는 법을 가르칠 것입니다.

아이디어:

  1. 게시물을 즉시 흐리게 처리
  2. Vision LLM이 게시물 스크린샷을 분석
  3. 안전할 경우 흐림 해제, 안전하지 않을 경우 흐림 유지

게시물에는 종종 최소한의 텍스트만 포함됩니다. 바로 이 문제의 대표적인 예가 텍스트는 거의 없고 이미지만 있는 Facebook 게시물입니다.

거의 텍스트가 없는 광고

하지만 텍스트가 없는 게시물만이 문제가 아닙니다. 텍스트가 존재하더라도 웹사이트는 난독화된 HTML을 사용해 이를 숨깁니다. 예를 들어, 개발자 도구에서 캡처한 이 스크린샷을 보세요. ‘광고’ 라벨이 무작위화된 HTML 속에 숨겨져 있음을 확인할 수 있습니다.

‘광고’ 라벨이 무작위 HTML에 숨겨짐

이것이 바로 우리가 코드 분석을 멈추고 사용자가 실제로 보는 것을 분석해야 하는 이유입니다. 따라서 아이디어는 첫 번째 실험과 유사하지만, 이제 요소 뒤의 코드가 아닌 사용자가 페이지에서 실제로 보는 내용을 분석합니다. 게시물의 스크린샷을 찍어 시각 인식이 가능한 대규모 언어 모델(LLM)에 전송하고 정치 관련 내용인지 물어보도록 합시다.

이에 또 좋은 결과가 보였으며, 핵심 아이디어는 단 한 시간 만에 프로토타입으로 구현되었습니다. 하지만 진짜 난관은 브라우저 확장 프로그램을 통한 스크린샷 촬영이 악몽 같은 작업이라는 점이었습니다.

그 이유를 설명해 드리겠습니다. 한 가지 시도한 방법은 디버거 API였습니다. 디버거 API는 뷰포트(화면에 현재 표시되는 영역) 외부 요소까지도 캡처할 수 있지만, 페이지 캡쳐를 유발하여 사용자에게 불편을 줄 수 있습니다. 아래 데모를 참고하세요.

image16.gif

다른 방법은 chrome.tabs.captureVisibleTab을 사용하는 것이었습니다. 이는 스크린샷을 위한 표준 Chrome 확장 프로그램 API입니다. 이 방법은 캡쳐를 유발하지 않습니다. 그러나 뷰포트에 현재 표시된 내용만 캡쳐할 수 있으며, Chrome은 초당 촬영 가능한 스크린샷 수를 제한합니다.

크롬에 의해 제한된 스크린샷 촬영 빈도

따라서 분석할 요소가 여러 개라면 기다려야 하며, 이미 화면에 표시된 게시물만 확인할 수 있습니다.

이러한 실험을 통해 대규모 언어 모델(LLM)이 게시물을 분석하고 차단 여부를 결정할 수 있음이 입증되었습니다. 그렇다면 필터 목록을 완전히 대체할 수 있을까요? 답은 '아니오'입니다. 무엇을 검사해야 하는지 파악하기 위해 여전히 필터 목록이 필요합니다. 웹페이지에는 수천 개의 요소가 존재하며, 이들을 모두 분석하는 것은 느리고 비용이 많이 듭니다.

실험 3. 필터 목록 확장: 새로운 기본 요소

아직도 어떤 요소를 검사해야 하는지 알아야 한다면, 논리적인 단계는 대규모 언어 모델(LLM)을 필터 목록과 연결하고 LLM의 힘을 필터 목록 작성자를 위한 재사용 가능한 도구로 일반화하는 것입니다. 하지만 여기서 문제는 모든 의미론적 작업마다 새로운 맞춤형 확장 기능을 작성하는 것이 확장성이 없다는 점입니다. 저희는 더 일반적인 해결책이 필요합니다.

영감: 확장된 CSS 의사 클래스, :contains
질문: 단순히 텍스트가 아닌 의미를 확인할 수 있다면?
결과: 세 가지 새로운 실험적 의사 클래스:

selector:contains-meaning-embedding('criteria')
selector:contains-meaning-prompt('criteria')
selector:contains-meaning-vision('criteria')

이 범용 솔루션을 만들기 위해 AdGuard의 Extended CSS 라이브러리에서 영감을 얻었습니다. Extended CSS는 네이티브 CSS의 한계를 넘어 확장된 기능을 제공하는 추가적인 의사 클래스를 추가하는 자바스크립트 라이브러리입니다.

이 라이브러리에는 특정 텍스트를 포함하는 요소를 숨기는 :contains() 의사 클래스가 있습니다. 저는 단순히 키워드 대신 의미론적 의미를 확인하는 방식으로 이 접근법을 업그레이드할 수 있다고 판단했습니다. 이를 통해 세 가지 프로토타입인 임베딩, 프롬프트, **비전(Vision)**이 탄생했습니다.

:contains-meaning-embedding

작동 방식: 텍스트와 기준 간의 유사성 비교
장점: 매우 빠르고 저렴
단점: 임계값 설정이 필요하며 다국어 처리 시 어려움

먼저 :contains-meaning-embedding 규칙부터 설명하겠습니다. 이 규칙은 텍스트를 의미를 나타내는 숫자로 변환하는 임베딩 모델을 사용합니다. 요소 텍스트와 기준 간의 유사도를 계산하여 일치 여부를 판단합니다. 장점은 캐싱을 통해 빠르고 저렴하다는 점입니다. 단점은 임계값 조정이 필요하며 다국어 처리 시 어려움을 겪을 수 있다는 점입니다.

:contains-meaning-prompt

작동 방식: 콘텐츠가 기준에 부합하는지 LLM에 문의
장점: 더 정확함, 임계값 불필요, 언어에 구애받지 않음
단점: 더 느리고 비용이 더 높음

다음은 :contains-meaning-prompt입니다. 이 규칙들은 간단한 프롬프트 API를 사용하며, 특정 요소의 내용이 기준에 부합하는지 여부만 묻습니다. 이는 더 정확하고 임계값이 필요 없으며 모든 언어에서 작동합니다. 단점은 임베딩보다 속도가 느리고 비용이 더 비싸다는 점입니다.

:contains-meaning-vision

작동 방식: LLM에 스크린샷이 기준에 부합하는지 질문
장점: 텍스트와 임베딩이 놓치는 요소 포착
단점: 복잡한 사용자 경험

마지막 방법은 :contains-meaning-vision입니다. 선택된 요소의 스크린샷을 촬영한 후 시각 인식이 가능한 LLM에게 스크린샷이 기준에 부합하는지 묻습니다. 이후 :contains-meaning-prompt와 동일한 방식으로 작동합니다. 이 접근법의 핵심 장점은 텍스트 기반 방법이 인식하지 못하는 시각적 콘텐츠를 감지할 수 있다는 점입니다. 단점은 복잡한 사용자 경험과 화면 캡쳐 현상이 발생할 수 있다는 점입니다.

":contains-meaning-vision" method illustrated

따라서 이 세 가지 규칙은 필터 개발자에게 유연한 도구를 제공할 수 있습니다. 개발자는 임베딩 속도, 프롬프트 정확도, 또는 시각적 통찰력 중 선택할 수 있게 됩니다. 분석 지연을 완화하기 위한 한 가지 해결책은 요소를 먼저 흐리게 처리한 후, 흐림 효과를 제거하거나 계속 숨겨두는 것입니다.

성능 및 비용 분석

이제 이 세 가지 프로토타입을 확보했으니 가장 중요한 질문이 제기됩니다. 이것들이 실용적인가요? 실제 생산 현장에서 작동할 수 있을까요? 이에 대한 답을 찾기 위해 각 접근법의 성능과 비용을 분석했습니다.

임베딩

임베딩부터 설명하겠습니다. 처음에는 OpenAI의 클라우드 모델로 확장을 시작했는데, 솔직히 결과가 좋지 않았습니다. 그러다 작은 로컬 모델을 시도해보기로 했는데, 그 결과가 놀라웠습니다. 속도가 더 빠르고 완전히 무료였으며, 테스트에서 100% 정확도를 달성했습니다. 이는 특정 작업에 있어 작은 로컬 모델이 실제로 대형 클라우드 API보다 우수한 성능을 낼 수 있음을 보여줍니다.

임베딩 모델 정확도 평가

프롬프트

다음으로 프롬프트를 살펴보겠습니다. 여기서 상황은 다릅니다. 클라우드 API가 가장 우수한 성능을 보였으며, 일부는 1초 미만에 100% 정확도를 달성했습니다. 반면 일부는 4초 이상 소요되어 우수한 사용자 경험에 미치지 못하는 수준이었습니다. 이 경우 로컬 모델은 클라우드 정확도에 전혀 따라잡지 못했습니다.

모델 정확도 평가 프롬프트

비전

마지막으로 비전(Vision)에 대해 이야기해 보겠습니다. 여기서부터 정말 흥미로운 부분이 시작됩니다. 정확도가 매우 높으며, 로컬 모델조차도 우수한 성능을 보입니다. 비전은 종종 가장 정확한 방법입니다. 그 핵심 장점은 텍스트가 아닌 이미지를 처리한다는 점으로, 다른 방법들이 놓치는 광고를 포착합니다. 그러나 주요 단점이 있습니다. 지연 시간입니다. 10~15초의 지연은 실시간 차단에는 실용적이지 않습니다.

비전 모델 정확도 평가

방법 비교

모든 방법을 비교해 보면, 비전 방식은 정확도는 매우 높지만 지연 시간이 매우 깁니다. 프롬프트 방식은 특히 클라우드 API를 사용할 때 속도와 정확도의 균형을 잘 맞춥니다. 그리고 로컬 임베딩 방식은 특정 작업에만 적용 가능하지만 매우 빠르고 효과적이라는 점에서 반가운 발견이었습니다. 결국 각 방법마다 장단점이 존재합니다.

비교된 세 가지 방법

이 접근법의 미래

비전: 현재는 너무 느리나 시간이 지남에 따라 개선될 것
임베딩: 확장 기능에서는 비실용적, 브라우저에 내장된다면 이상적일 것
로컬 LLM 프롬프트: 실험적 단계, 정확도 개선 필요

이것이 미래에 어떤 의미를 가질까요? 저희 생각에는 현재로서는 비전 기술이 너무 느립니다. 임베딩은 브라우저 확장 프로그램에 사용하기에는 실용적이지 않지만, 브라우저 내장 API로 구현된다면 효과적일 수 있습니다. 그리고 로컬 LLM 프롬프트는 크롬의 프롬프트 API를 활용한 실제 출시 가능한 실험을 위한 가장 유망한 경로입니다. 또한 요소를 흐리게 처리하는 현재 방식이 이상적이지 않아 사용자 경험 개선이라는 과제도 남아 있습니다. 더 빠른 모델을 사용하면 흐림 처리 시간을 줄일 수 있거나, 완전히 다른 해결책을 마련할 수도 있을 것입니다.

무엇을 배웠는가요? 첫째, LLM은 단순한 패턴 매칭을 넘어 웹 콘텐츠의 의미를 실제로 이해할 수 있게 합니다. 이는 필터링에 완전히 새로운 의미론적 접근법을 열어줍니다. 둘째, LLM은 신속한 프로토타이핑을 가능하게 합니다. 수개월의 엔지니어링이 필요했던 아이디어를 이제 몇 시간 만에 테스트할 수 있습니다. 해결해야 할 실용적 과제는 여전히 존재하지만, 이 새로운 접근법은 콘텐츠 필터링 분야에서 가능한 것들을 재고하게 합니다.

이 글이 콘텐츠 필터링에 대한 새로운 시각을 제공했기를 바랍니다. 본문에 소개한 모든 기능을 직접 체험해 보실 수 있습니다. Chrome 스토어에서 AI AdBlocker를 다운로드하기만 하면 됩니다.

전체 소스 코드는 GitHub에서도 확인하실 수 있습니다.

이 게시물을 좋아하시나요?
사용자 리뷰 20,279 20279
최고

Windows용 AdGuard

Windows용 AdGuard는 단순한 광고 차단기가 아니라 광고를 차단하고 위험한 사이트에 대한 액세스를 제어하는 다목적 프로그램입니다. 또한 페이지 로딩 속도를 높이고 유해한 사이트로부터 어린이를 보호합니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
Windows용 AdGuard 7.22 버전, 14일 체험 기간
사용자 리뷰 20,279 20279
최고

Mac용 AdGuard

다른 광고 차단기들과 달리, AdGuard는 macOS에서 최적화되도록 디자인되었습니다. 앱과 브라우저의 광고뿐만 아니라 추적, 피싱 및 사기로부터 사용자를 보호합니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
Mac용 AdGuard 2.17 버전, 14일 체험 기간
사용자 리뷰 20,279 20279
최고

Android용 AdGuard

Android용 AdGuard는 Android 모바일 기기를 위한 이상적인 해결책입니다. AdGuard는 대부분의 다른 광고 차단기와 달리 AdGuard는 루트 권한이 필요하지 않으며 다양한 앱 관리 옵션을 제공합니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
스캔하여 다운로드
기기에서 QR 코드 스캐너를 사용합니다
Android용 AdGuard 4.12 버전, 14일 체험 기간
사용자 리뷰 20,279 20279
최고

iOS용 AdGuard

iPhone 및 iPad용 최고의 iOS 광고 차단기입니다. iOS용 AdGuard는 Safari에서 모든 종류의 광고를 제거하고 개인정보를 보호하며 페이지를 더 빠르게 로드합니다. AdGuard 광고 차단 기술은 최고 품질의 필터링을 보장하고 동시에 여러 필터를 사용할 수 있습니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
스캔하여 다운로드
기기에서 QR 코드 스캐너를 사용합니다
iOS용 AdGuard v4.5
사용자 리뷰 20,279 20279
최고

AdGuard 콘텐츠 차단기

AdGuard 콘텐츠 차단기는 콘텐츠 차단 기술을 지원하는 모바일 브라우저, 즉 삼성 인터넷과 Yandex 브라우저에서 모든 종류의 광고를 제거합니다. Android용 AdGuard에 비해 기능은 제한적이지만 무료이며 설치가 간편하고 효율적입니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
AdGuard 콘텐츠 차단기 v2.8
사용자 리뷰 20,279 20279
최고

AdGuard 브라우저 확장프로그램

AdGuard는 웹 모든 페이지에 있는 온갖 종류의 광고를 효과적으로 차단하는 확장 프로그램이며 빠르고 가볍습니다! 빠른 브라우저를 위해 AdGuard를 선택해서 광고를 제거하고 안전하게 이용하세요.
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
AdGuard 브라우저 확장프로그램 v5.2
사용자 리뷰 20,279 20279
최고

AdGuard Assistant

AdGuard 데스크톱 앱을 위한 브라우저 확장 프로그램입니다. 웹사이트에서 사용자 정의 항목을 차단하고, 허용 목록에 웹사이트를 추가하며, 브라우저에서 직접 보고서를 전송할 수 있습니다.
AdGuard Assistant v1.4
사용자 리뷰 20,279 20279
최고

AdGuard Home

AdGuard Home은 광고 및 추적기 차단을 위한 네트워크 기반 솔루션입니다. 한 번만 라우터에 설치하면 집 네트워크의 모든 기기를 관리할 수 있으며, 추가 클라이언트 소프트웨어가 필요하지 않습니다. 이는 종종 사생활에 위협이 되기도 하는 여러 IoT 기기에도 특히 중요합니다.
AdGuard Home v0.107
사용자 리뷰 20,279 20279
최고

iOS용 AdGuard Pro

iOS용 AdGuard Pro는 모든 고급 광고 차단 보호 기능을 갖추고 있습니다. 유료 버전과 동일한 도구를 제공하며, Safari에서 광고를 차단하는 데 탁월합니다. DNS 설정을 맞춤화하여 보호 수준을 조절할 수 있습니다. 브라우저와 앱 내 광고를 차단하고, 자녀를 부적절한 콘텐츠로부터 보호하며, 개인 데이터를 안전하게 지킵니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
iOS용 AdGuard Pro v4.5
사용자 리뷰 20,279 20279
최고

Safari용 AdGuard

Safari용 광고 차단기는 Apple이 모든 개발자에게 새로운 SDK 사용을 강제하는 도전에 성공적으로 대응했습니다. 이 AdGuard 확장 프로그램은 Safari에 고품질 광고 차단 기능을 다시 제공합니다.
Safari용 AdGuard v1.11
사용자 리뷰 20,279 20279
최고

Android TV용 AdGuard

Android TV용 AdGuard는 광고를 차단하고 개인 정보를 보호하며 스마트 TV용 방화벽 역할을 하는 유일한 앱입니다. 웹 위협에 대한 경고를 받고, 보안 DNS를 사용하면 트래픽이 암호화됩니다. 좋아하는 프로그램을 광고 없이 안전하게 시청하세요!
Android TV용 AdGuard 4.12 버전, 14일 체험 기간
사용자 리뷰 20,279 20279
최고

Linux용 AdGuard

Linux용 AdGuard는 세계 최초의 시스템 전역 Linux 광고 차단기입니다. 기기 수준에서 광고와 추적기를 차단하고, 미리 탑재된 필터 중에서 선택하거나 필터를 직접 추가하세요. 모두 명령줄 인터페이스에서 진행할 수 있습니다.
Linux용 AdGuard v1.1
사용자 리뷰 20,279 20279
최고

AdGuard Temp Mail

익명을 보장하고 개인정보를 보호하는 무료 임시 이메일 주소 생성기입니다. 더 이상 기본 받은 편지함에 스팸이 없습니다!
사용자 리뷰 20,279 20279
최고

AdGuard VPN

전 세계 83개 서버

모든 콘텐츠에 액세스 가능

고급 암호화

로그가 수집되지 않음

가장 빠른 연결 속도

연중무휴 고객 지원

무료 체험
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
사용자 리뷰 20,279 20279
최고

AdGuard DNS

AdGuard DNS는 추가 어플리케이션을 설치할 필요 없이 인터넷 광고를 차단할 수 있는 완벽한 방법입니다. 사용하기 쉽고, 완전히 무료이며, 어떤 기기든간에 간단하게 구축할 수 있고, 광고, 추적기, 위험한 웹 사이트, 그리고 성인 콘텐츠까지 보호되는 최소한의 필수적인 기능만을 제공합니다.
사용자 리뷰 20,279 20279
최고

AdGuard Mail

별칭과 임시 이메일 주소로 신원을 보호하고 스팸을 방지하며 받은 편지함을 안전하게 유지할 수 있습니다. 모든 운영 체제용 무료 이메일 전달 서비스 및 앱을 즐겨보세요.
사용자 리뷰 20,279 20279
최고

AdGuard 월렛

자산을 완벽하게 제어할 수 있는 안전한 개인 암호화폐 지갑입니다. 여러 개의 지갑을 관리하고 수천 개의 암호화폐를 보관, 전송, 교환할 수 있습니다.
AdGuard 다운로드 시작 AdGuard를 설치하려면 화살표가 가리키는 파일을 클릭하세요 "열기"를 선택한 다음 "확인"을 누른 후, 다운로드가 완료될 때까지 기다리세요. 창이 열려있다면, AdGuard를 "애플리케이션" 폴더에 드래그해주세요. AdGuard를 선택해주셔서 감사합니다! "열기"를 선택 후 "확인"을 클릭한 다음, 다운로드가 완료될 때까지 기다리세요. 열렸으면, "설치"를 눌러주세요. AdGuard를 선택해 주셔서 감사합니다!
모바일 기기용 AdGuard도 설치할 수 있습니다