DOI QR코드

DOI QR Code

대형 언어 모델에서의 공격 방지를 위한 필터링 기법에 관한 연구

A Study on Filtering Techniques for Preventing Attacks in Large Language Models

  • 정종균 (숭실대학교 IT정책경영학과) ;
  • 강한훈 (세종대학교 컴퓨터공학과) ;
  • 장진희 (숭실대학교 IT정책경영학과) ;
  • 신용태 (숭실대학교 컴퓨터학부)
  • 투고 : 2024.11.13
  • 심사 : 2024.12.02
  • 발행 : 2024.12.31

초록

최근, 대형 언어 모델(Large Language Model)을 대상으로 혐오적, 폭력적, 또는 공격적인 표현을 프롬프트로 입력하여 모델의 응답을 왜곡하거나 악용하는 사례가 발생하고 있다. 이러한 공격적 사용에 대비하기 위해, 본 논문에서는 이중 필터링 기법을 제안한다. 제안된 기법은 1단계에서 혐오적 문장 여부를 분류할 수 있는 분류기를 적용하고, 2단계에서 기존 지식 내에서 벡터 검색을 활용하여 문장의 의미를 추가적으로 평가하여 잘못 분류된 문장을 걸러내는 과정을 포함한다. 이를 통해 모델의 응답이 공격적 콘텐츠를 포함하지 않도록, 보다 정교한 필터링을 구현하여 언어 모델의 안전성을 강화할 수 있도록 한다. 이를 위해, 1단계에서는 텍스트 임베딩 모델과 텍스트 분류기를 결합하여 혐오적 문장 분류 실험을 수행하였다. 그 결과, 0.98 이상의 f-score를 보였다. 2단계에서는 텍스트 임베딩 모델을 활용하여 질문 및 답변을 벡터 값으로 전환하여 질문에 대한 답을 찾는 실험을 수행하였다. 그 결과, 0.87의 Precision@1을 보였다.

Recently, there have been instances where prompts containing hateful, violent, or offensive expressions are input into large language models (LLMs) to distort or misuse their responses. To counteract such abusive usage, this paper proposes a dual filtering technique. The proposed method applies a classifier in the first stage to detect hateful sentences, followed by a second stage where vector search is employed to further assess the semantics of the sentence within the model's existing knowledge base, filtering out any misclassified sentences. This approach aims to strengthen the safety of language models by implementing more sophisticated filtering that prevents the inclusion of offensive content in model responses. In the first stage, we combined a text embedding model with a text classifier to conduct an experiment on classifying hateful sentences, achieving an f-score of over 0.98. In the second stage, we conducted experiments using a text embedding model to convert questions and answers into vector values, with a focus on finding accurate responses to queries. The results showed a Precision@1 of 0.87.

키워드

1. 서론

최근 인공지능(Artificial Intelligence, AI)의 발달로 인해, 자연어 처리(Natural Language Processing, NLP) 기술이 급격히 발전하며 대형 언어 모델(Large Language Models, LLMs)이 다양한 산업과 일상생활에서 광범위하게 활용되고 있다. 이러한 언어 모델들은 인간의 언어를 이해하고 생성하는 능력을 기반으로 사용자와 상호작용하며 정보 제공, 문제 해결, 그리고 창의적인 콘텐츠 생성 등의 분야에서 혁신적인 변화를 일으키고 있다. 특히, 챗봇, 가상 비서, 추천 시스템 등과 같은 응용 프로그램은 사용자의 필요에 맞춘 개인화된 서비스를 제공할 수 있게 되면서, 대형 언어 모델에 대한 관심과 활용은 점점 더 증가하고 있다. 그러나 이러한 언어 모델의 확산과 함께 예상치 못한 문제들도 발생하고 있다. 대형 언어 모델은 그 특성상 방대한 양의 텍스트 데이터를 학습하여 언어적 지식을 내재화하게 되는데, 이 과정에서 의도치 않게 혐오적, 폭력적, 혹은 편향적인 내용을 학습할 가능성이 존재한다. 이로 인해 언어 모델의 응답이 사용자에 의해 의도적으로 악용될 수 있으며, 특히 혐오적, 공격적, 또는 민감한 내용을 포함한 프롬프트를 입력함으로써 모델이 부적절한 응답을 생성하도록 유도할 수 있다. 예를 들어, 사용자는 특정 단어나 문장을 포함한 질문을 통해 언어 모델이 잘못된 정보를 제공하거나 불쾌한 응답을 하도록 유도할 수 있으며, 이는 사회적으로 영향을 미칠 수 있다.

본 연구는 언어 모델이 보다 안전하고 신뢰성 있는 응답을 제공할 수 있도록 혐오적, 공격적 입력에 대한 필터링 기법을 제안한다. 이를 위해 본 연구에서는 이중 필터링 기법을 제안한다. 제안된 기법은 두 가지 단계로 구성된다. 첫 번째 단계에서는 혐오적 문장을 판별할 수 있는 텍스트 분류기를 적용하여 기본적인 문장 수준의 필터링을 수행한다. 이 과정에서 본 논문에서는 임베딩 모델과 분류기를 결합하여 문장의 의미를 고려한 필터링을 시도하며, 이를 통해 단순히 키워드 또는 규칙 기반 필터링보다 높은 정확도를 달성하도록 한다. 이 과정에서는 사용자의 입력 문장에 대한 벡터 값을 특징 값으로 하여 분류기에 의해 분류된다.

두 번째 단계에서는 질문과 관련된 지식을 벡터 검색 기술을 활용하여 의미 단위로 검색함으로써, 1단계에서 잘못 분류된 문장이 검색되지 않게 함으로써 추가적인 필터링을 제공한다. 이 과정에서는 질문 및 답변 문장을 벡터 형태로 변환하여 의미상의 유사도를 계산하여 필터링을 수행한다.

본 논문에서는 공개된 데이터 셋을 활용하여 실험을 수행하였고, 그 결과, 1단계 필터링 과정에서 임베딩 모델과 분류기를 활용하였고, 분류 모델의 성능을 측정하는 정확률(precision), 재현율(recall)의 평균 값을 구하는 f-score를 사용하여 0.98 이상의 값을 달성하였다. 2단계에서는 검색 결과 중에서 k개 이내에 찾고자 하는 결과가 포함되어 있는지를 평가하는 Precision@K를 사용하여, K값을 1로 했을 때, 0.87 값을 달성하였다. 이러한 결과를 통해 언어 모델의 입력으로 주는 혐오적, 공격적 프롬프트의 사용을 방지하여 모델의 신뢰성 및 안전성을 확보할 수 있을 것으로 기대된다.

2. 관련 연구

본 장에서는 혐오적 표현에 대한 탐지 관련 연구와 본 논문에서 필터링을 위해 주요하게 사용된 임베딩 모델 관련 연구를 기술한다.

[1]에서는 악성 한국어 프롬프트를 생성하고 이를 통해 공격을 수행해 그 실행 가능성을 분석 한다. 또한, 기존 방법을 바탕으로 악의적인 한국어 프롬프트를 자동 생성하는 도구를 제안한다. [2]는 혐오 발언 탐지에서 라벨링된 데이터의 부족으로 인해 발생하는 문제를 해결하기 위해 생성형 인공지능(AI)을 활용한 방법을 다루고 있다. 생성형 AI는 기존에 라벨링된 예시를 바탕으로 대규모의 합성 혐오 발언 데이터를 생성하며, 이를 통해 대형 사전 학습된 언어 모델(LLM)의 미세조정(fine-tuning)에 사용된다. 연구에서는 BERT, RoBERTa, ALBERT와 같은 일반적인 언어모델 뿐만 아니라, 혐오 발언 탐지에 이미 적응된 RoBERTa-Toxicity, HateBERT, HateXplain, ToxDect, ToxiGen 모델의 성능을 평가한다. 실험 결과, 생성된 데이터를 활용한 훈련 세트의 증강이 모델의 일반화 성능을 향상 시켜 데이터 분포 전반에서 재현율(Recall)을 증가시킴을 확인할 수 있다. 또한 GPT-3.5 모델을 활용한 제로샷(Zero-shot) 혐오 탐지 성능도 비교한 결과, 더 나은 일반화 성능은 얻었지만 대부분의 데이터 셋에서 낮은 재현율(Recall)과 낮은 정확률(Precision)을 보였다. 앞으로 GPT-3.5와 같은 모델의 민감도를 유사한 텍스트 생성 기법을 통해 개선할 수 있을지에 대한 추가 연구 제시하고 있다. [3]에서는 트윗을 '혐오', '공격적', '그 외'의 세 가지 범주로 자동 분류하는 방법을 제안한다. 공개된 트윗 데이터 세트를 사용하여 Bi-LSTM 모델을 빈 임베딩에서 먼저 실험하고, 사전 학습된 GloVe 임베딩을 같은 신경망 구조에 적용한다. 이후 기존의 사전 학습된 언어 모델인 BERT, DistilBERT, GPT-2를 사용하여 전이 학습 방식을 도입한다. 최적의 모델인 Bi-LSTM에 대해 다양한 신경망 구조, 학습 속도, 정규화 방법 등의 하이퍼 파라미터 튜닝을 수행한 후, 최적의 파라미터 조합으로 테스트 데이터에서 92% 이상의 정확도를 달성했다. 또한 텍스트 분류, 감정 분석, 데이터 증강 기능을 포함하는 클래스 모듈을 제작하여, 이 모델이 사용자와 트위터 간의 중간 모듈로 작동할 수 있도록 설계했다. [4]에서는 GPT-3 모델을 이용해 성차별적 또는 인종차별적 발언을 탐지하는 방법을 제안한다. 다양한 학습 설정(제로샷, 원샷, 퓨샷)에서 혐오 표현을 탐지하는 모델의 성능을 평가하며, YouTube와 Reddit에서 수집한 데이터를 사용했다. 실험 결과, 적은 학습 데이터로도 GPT-3이 혐오 발언을 효과적으로 탐지할 수 있음을 보여주었다. [5]는 여러 언어에서 혐오 표현을 탐지하는 방법을 다뤘다. 생성적 적대 신경망(GAN)을 활용해 혐오 발언을 탐지하고, 다양한 언어에서 높은 성능을 발휘하는 방법을 제시했다. [6]에서는 생성형 AI 모델을 통해 대규모 소셜 미디어 플랫폼에서 혐오 발언을 자동으로 탐지하는 방법을 제안한다. 딥러닝 기반의 혐오 발언 탐지 솔루션의 성능을 향상 시키기 위해 데이터 증강 기법이 사용되었다.

[7]에서는 GAN(Generative Adversarial Networks)을 사용해 혐오 발언 탐지 모델의 성능을 개선하는 방법을 제안한다. GAN을 통해 부족한 혐오 발언 데이터를 증강하여, 모델이 더 나은 일반화 성능을 발휘하도록 했다. [8]은 혐오 발언 탐지를 위한 ToxiGen이라는 대규모 데이터셋을 생성한 연구이다. GPT-3을 사용하여 다양한 소수 그룹을 대상으로 한 혐오 발언과 중립적인 문장을 생성했다. [9]는 혐오 발언 탐지 성능을 개선하기 위해 방대한 양의 신뢰할 수 있는 텍스트 학습 말뭉치가 필요하다는 점을 강조하며, 이를 위해 반지도 학습(semi-supervised learning)과 자기 학습(self-training) 접근 방식을 개발한다. 이 방법은 방대한 소셜 미디어 콘텐츠를 활용하여 향후 예측을 위한 강력한 혐오 발언 분류기를 개발하는 것을 목표로 한다. 분류기는 대규모 라벨이 없는 트위터 코퍼스에서 얻은 가장 신뢰할 수 있는 의사 라벨(pseudo labels)을 사용하여 반복적으로 자기 학습된다. 실험을 통해 제안된 접근 방식의 효율성과 생성된 혐오 발언 데이터 셋의 높은 품질을 입증한다. [10]에서는 소셜 미디어에서 혐오 발언을 탐지하는 방법을 검토하며, 이를 일반적인 욕설과 구별하는 방법을 제시한다. 이를 위해 최근에 공개된 주석이 달린 데이터 셋을 사용하여 지도 학습 분류 방법을 적용하고, 문자 n-gram, 단어 n-gram, 단어 skip-gram을 특징으로 사용하는 시스템을 구축했다. 3 가지 클래스에 대한 게시물을 식별하는 데 78%의 정확도를 얻었으며, 주요 도전 과제는 욕설과 혐오 발언을 구별하는 것임을 보여주었다. [11]에서는 Cross-Lingual Learning을 사용한 새로운 혐오 발언 탐지 방법을 제안한다. 이 방법은 특정 작업에 대한 자원이 적은 언어 문제를 해결하기 위해 대규모 코퍼스를 사용한 사전 학습된 언어 모델(PTLM)에서 전이 학습을 활용한다. 제안된 방법론은 네 가지 단계로 구성되며, 코퍼스 수집, PTLM 정의, 학습 전략, 평가 단계가 포함된다. 우리는 영어, 이탈리아어, 포르투갈어로 된 사전 학습된 언어 모델(BERT와 XLM-R)을 사용하여 제안된 방법에 가장 적합한 모델을 검증했다. 실험에서는 영어(WH)와 이탈리아어(Evalita 2018)를 소스 언어로, 포르투갈어(OffComBr-2)를 타겟 언어로 사용했다. 실험 결과, 제안된 방법론이 유망함을 보여주었으며, OffComBr-2 코퍼스에서 최고 수준의 결과(F1-measure = 92%)를 얻었다.

[12]는 임베딩 모델을 튜닝하는 방법으로, 질의어에 대한 대형 언어 모델인 GPT의 응답과 기존 RAG의 응답을 활용하여 질의어와 답변 간의 관계를 학습하는 접근q 방법을 소개한다. [13]에서는 BGE-M3 임베딩 모델을 소개하며, 기존 임베딩 모델의 한계를 지적한다. 기존 모델은 주로 영어에만 최적화되어 있으며, 검색 방식에 제한되어 있고, 텍스트 길이가 길어질수록 성능이 저하되는 문제를 갖고 있다. 이를 개선하기 위해, BGE-M3 모델은 여러 언어를 지원하고, 장문 텍스트 처리도 가능하게 설계되었다. 또한 dense vector, multi-vector, sparse vector 방식을 지원한다. [14]에서는 설명하는 BERT와 RoBERTa는 의미적 텍스트 유사성 작업에서 높은 성능을 보여주지만, 계산 비용이 많이 든다는 단점이 있다. 이에 반해, 논문에서 제안하는 Sentence-BERT는 이 문제를 해결하기 위해 Siamese 네트워크를 활용하여 더 빠르고 효율적인 문장 임베딩을 제공한다. 이 방법은 BERT의 성능을 유지하면서도 유사한 문장을 훨씬 더 빠르게 검색할 수 있게 해준다. [15]에서는 SimCSE 기법을 제안한다. 이는 문장 임베딩 성능을 크게 향상시키는 간단한 대조 학습 프레임워크이다. 비지도 학습에서는 드롭아웃만으로 데이터 증강 효과를 얻고, 지도 학습에서는 자연어 추론 데이터 셋에서 주어진 주석된 쌍을 활용해 긍정 및 부정 쌍을 효과적으로 학습에 반영한다. SimCSE는 의미적 텍스트 유사성 작업에서 이전 기법보다 비지도 학습에서는 4.2%, 지도 학습에서는 2.2% 성능 향상을 이뤘다. 또한 대조 학습 목표는 임베딩 공간을 더 균일하게 만들고, 지도 신호를 사용할 때 긍정적 쌍을 더 잘 정렬하는 데 도움을 준다. [16]에서는 BERT가 단일 언어 문장 임베딩에는 뛰어난 성능을 보였으나, 다국어 문장 임베딩에서는 그 효과가 입증되지 않았다고 언급한다. [16]에서는 마스크드 언어 모델링(MLM)과 번역 언어 모델링(TLM)을 결합하여 다국어 임베딩 성능을 개선하였다. 이 접근 방식은 병렬 학습 데이터의 필요량을 80%까지 줄였으며, 112개 언어에 대해 높은 정확도의 이중 텍스트 검색 성과를 거두었다. 이 연구의 결과는 다국어 자연어 처리(NMT)에도 적용 가능하며, 109개 이상의 언어를 지원하는 모델이 공개되었다. [17]에서는 특정 도메인에서 문장 임베딩 성능을 개선하기 위해 전체 모델을 파인 튜닝하지 않고, 소량의 추가 파라미터만 학습하는 가벼운 어댑터 방식을 제안하고 있다. 이 방식은 기존 문장 임베딩 모델의 가중치를 유지하면서 도메인에 특화된 어댑터만 교체함으로써 효율적인 도메인 적응을 가능하게 한다. 전체 모델을 파인 튜닝했을 때와 비교해 성능 차이는 약 1% 이내로 미미하지만, 약 3.6%의 파라미터만 학습하면 되기 때문에 자원 소모가 크게 절감된다.

3. 검색 증강 생성 파이프라인

본 논문에서 제안하는 필터링 기법은 검색 증강 생성(Retrieval-Augmented Generation) 파이프라인에 적용된 관점으로 기술한다.

검색 증강 생성의 기본 구조[18]는 ①사용자로부터 질의어를 받으면, ②해당 질의어와 유사한 문장 또는 지식을 벡터 DB에서 찾는다. 이 때, 벡터 DB에는 벡터 값으로 표현된 문장, 지식 등이 저장되어 있고, 사용자의 질의어 또한 벡터 값으로 변환하여, 벡터 값 대 벡터 값으로 비교하여 유사한 지식을 찾게 된다. 이는 컨텍스트로써 생성형 모델의 입력으로 사용된다. ③질의어와 컨텍스트는 생성형 모델의 입력으로 사용된다. ④생성형 모델은 질의어와 컨텍스트를 기반으로 질의어에 맞는 문장을 생성하여 출력한다.

SOBTCQ_2024_v24n5_63_4_f0001.png 이미지

(그림 1) 검색 증강 생성 프로토타이핑

본 논문에서는 제안하는 방법은 1단계에서 혐오적 표현 판단을 위한 분류기를 구축하고, 분류기의 오분류로 인해 혐오적 표현이 그대로 통과되었다고 했을 때, 2단계에서는 기존의 지식 내에서 벡터 검색을 통해 해당 문장을 배제하도록 한다. 결국, 두 단계의 과정을 통해 혐오적 표현이 필터링 된 후에 적합한 문장일 경우 생성형 언어 모델의 입력 값으로 활용하여 답변을 생성할 수 있도록 한다.

4. 실험

본 장에서는 본 논문에서 수행한 실험 환경 및 실험 결과에 대해 설명한다.

4.1 실험 환경

본 논문에서는 1단계의 혐오적 표현을 분류하는 실험①과 2단계에서 벡터 검색을 통해 질문에 대한을 찾는 실험②를 수행한다.

실험①은 2진 분류 실험으로 공격성 문장과 일반 질문을 구분하는 실험인데, 여기에서 2가지 데이터 셋을 준비했다. [표 1]은 실험①에 사용된 데이터 셋의 특징을 보여준다. 이때 각 세트(Q1, Q2)에서 사용한 공격성 문장은 동일한 데이터이지만, 일반 질문의 경우 다른 데이터 셋을 사용했고, Q1 데이터 셋[19,20]에서는 일반 질문의 수가 공격성 문장의 수보다 적고, Q2 데이터 셋[19,21]에서는 비율을 동일하게 맞추었다. Q1과 같이 데이터 셋을 구성한 이유는 데이터의 불균형 상황 속에서 결과에 어떤 영향을 미칠지 알아보기 위함이다.

[표 1]의 데이터 셋을 사용해서 [그림 2]와 같은 실험을 수행하였다.

<표 1> 혐오적 표현 문장 분류 실험 데이터 특징

SOBTCQ_2024_v24n5_63_5_t0001.png 이미지

SOBTCQ_2024_v24n5_63_5_f0001.png 이미지

(그림 2) 공격성 문장의 분류 실험 구조

데이터 셋을 벡터 값으로 변환하고, 이를 학습 알고리즘에 적용하고 분류를 통해 평가한다. 문장을 벡터 값으로 변환하기 위해 임베딩 모델을 사용하는데, 본 논문에서는 [표2]와 같은 임베딩 모델을 사용하여 평가하였다. 해당 모델들은 huggingface 사이트에서 검색하여 다운 받았다.

<표 2> 실험에 사용된 모델과 모델별 벡터 크기

SOBTCQ_2024_v24n5_63_5_t0002.png 이미지

학습 시 사용한 알고리즘은 분류시 많이 활용되는 LightGBMClassifier, XGBoostClassifier, RandomForest이고, 평가는 10-fold cross validation으로 진행하였다. 이는 주어진 데이터 셋을 10등분으로 나누어서 학습용 데이터와 분류용 데이터로 사용하는 방식이다.

실험②는 질문과 답의 쌍으로 구성된 데이터 셋에서 질문에 대한 답을 찾는 실험으로, 질문과 답변을 벡터 값으로 변환 후 유사도 순으로 정렬하는 실험이다. 본 논문에서 사용한 데이터 셋[20]의 특징은 [표 3]과 같다.

<표 3> 질의 응답 실험 데이터 특징

SOBTCQ_2024_v24n5_63_5_t0003.png 이미지

[그림 3]은 실험②의 실험 방법을 나타낸 것이다. 우선, 195개의 각 답변에 대해서 벡터 값 변환 후, 벡터 DB에 저장해 놓고, 각 질문 195개에 대한 벡터 값 변환 후 195개 답변을 대상으로 유사도를 계산한 후 유사도 기준으로 정렬한다. 이 때 벡터 값 변환을 위해 사용된 임베딩 모델은 [표 2]와 같다. 유사도 순으로 정렬했을 때 1위로 나온 것이 특정 질문에 대한 정답일 경우를 정확도에 반영하는 Precision@1을 평가 지표로 사용했다.

SOBTCQ_2024_v24n5_63_6_f0001.png 이미지

(그림 3) 벡터 검색 실험 구조

[그림 3]에서 벡터 DB에는 답변 문장에 대한 벡터 값 뿐만 아니라, 평가를 위해 질문 번호와 답변 번호가 연겯되어 있다. 이에, 질문 2와 유사한 답변 목록을 찾았을 때, 1위로 나온 답변의 질문 번호가 2와 같다면 질문에 대한 답을 찾았다고 보는 것이다. 그러나 질문 3의 유사한 답변으로 나온 것 중에 1위의 질문 번호가 4라고 한다면 질문에 대한 답을 찾지 못한 것으로 평가한다.

4.2 실험 결과

본 절에서는 실험 결과에 대해서 설명한다. 실험①의 경우 두 종류의 데이터 셋과 다섯 종류의 임베딩 모델, 세 종류의 분류 알고리즘을 사용해서 평가를 수행하였다. 평가를 위한 측정 방식은 정확률(Precison), 재현률(Recall), 정확률과 재현률의 평균 값인 F-Score를 사용하였다. 본 논문에서 주어진 데이터 셋을 기준으로, 여러 방법들의 조합으로 실험한 결과, F-Score 기준으로 모두 0.98이상의 분류 성능을 보임을 알 수 있다. 이는 데이터 셋에서 혐오적 문장 표현과 일반 문장 간에 의미적인 차이가 분명하게 나뉜다는 것을 알 수 있다. 의미적인 차이는 임베딩 모델을 통한 벡터 값을 기준으로 판단할 수 있다. 특히, RandomForest로 실험한 결과에서는 F-Measure 기준으로 0.998 이상으로 다른 분류 알고리즘 보다는 높은 성능을 보였다.

[그림 4]는 Q1 데이터 셋을 이용하여 LightGBM Classifier로 분류 실험한 결과를 보여준다. [그림 4]에서 하단에 표현된 각 숫자는 [표 2]에 나타난 임베딩 모델의 번호를 의미한다. Q1 데이터 셋을 활용하여 LGBM Classifier를 사용했을 때, 모든 임베딩 모델에서 0.99 이상의 F-Score를 보였다.

SOBTCQ_2024_v24n5_63_6_f0002.png 이미지

(그림 4) Q1 데이터셋를 이용한 LGBM 실험 결과

[그림 5]는 Q1 데이터셋을 이용하여 XGBoost Classifier로 분류 실험한 결과를 나타낸다. XGBoost Classifer로 실험했을 때에도 LGBM Classifier를 사용했던 것과 큰 차이 없이, 0.99 이상의 F-Score를 보였다.

SOBTCQ_2024_v24n5_63_6_f0003.png 이미지

(그림 5) Q1 데이터셋을 이용한 XGBoost 실험 결과

[그림 6]은 Q1 데이터셋을 이용하여 RandomForest Classifier로 분류 실험한 결과를 나타낸다. RandomForest Classifer로 실험했을 때에는 모두가 1.0의 F-Score를 보였다.

SOBTCQ_2024_v24n5_63_7_f0001.png 이미지

(그림 6) Q1 데이터셋을 이용한 RandomForest 실험 결과

[그림 7]은 Q2 데이터셋을 이용하여 LGBMClassifier로 분류 실험한 결과를 나타낸다. 해당 실험에서도 0.99이상의 F-Score를 보였다.

SOBTCQ_2024_v24n5_63_7_f0002.png 이미지

(그림 7) Q2 데이터셋를 이용한 LGBM 실험 결과

[그림 8]은 Q2 데이터셋을 이용하여 XGBoot Classifier로 분류 실험한 결과를 나타낸다. 해당 실험은 0.98이상의 F-Score를 보였다.

SOBTCQ_2024_v24n5_63_7_f0003.png 이미지

(그림 8) Q2 데이터셋를 이용한 XGBoost 실험 결과

[그림 9]는 Q2 데이터셋을 이용하여 RandomForest Classifier로 분류 실험한 결과를 나타낸다. 해당 실험은 0.99이상의 F-Score를 보였다.

SOBTCQ_2024_v24n5_63_7_f0004.png 이미지

(그림 9) Q2 데이터셋를 이용한 RandomForest 실험 결과

실험②는 [그림 10]에서 결과를 보여준다. 실험 결과, 3번 모델에서 Precision@1이 0.872로 다른 모델에 비해 우수한 성능을 보였다. 이때, 1위로 선정된 답변과 질문 간 유사도 평균 값은 0.79였다. 한편, 5번 모델은 Precision@1 값이 0.81로 3위였지만, 1위로 선정된 답변과 질문 간 유사도 평균 값은 0.921로 가장 높았다. 유사도는 질문에 대한 답변 선택의 임계치를 정하는 기준이 될 수 있기 때문에 이 평가 또한 임베딩 모델 선택의 기준이 될 수 있다. 본 논문에서 사용한 데이터에서는 3번 모델이 Precision@1에서 높은 값을 나타냈고, 5번 모델은 평균 Similarity에서 높은 값을 나타냈다.

SOBTCQ_2024_v24n5_63_8_f0001.png 이미지

(그림 10) 임베딩 모델을 활용한 검색의 평가 결과

5. 결론

본 논문에서는 대형 언어 모델의 안전성을 강화하기 위한 이중 필터링 기법을 제안하였다. 제안된 필터링 기법은 혐오적 또는 공격적인 표현이 포함된 프롬프트 입력을 차단하여 모델의 응답이 왜곡되거나 악용되는 것을 방지한다. 구체적으로, 1단계 필터링에서는 임베딩 모델과 분류기를 결합하여 혐오적 문장을 판별하고, 높은 F-Score를 달성하였다. 2단계에서는 벡터 검색을 통해 모델의 기존 지식을 활용하여 의미적으로 유사한 문장들을 필터링함으로써 1단계 필터에서 놓칠 수 있는 잠재적 위험 문장을 보완적으로 걸러냈다.

본 논문에서 사용된 데이터와 기법들은 대형 언어 모델의 응답이 공격적 콘텐츠를 포함하지 않도록 하는 데 있어 의미 있는 성과를 달성했다. 향후 연구에서는 더욱 다양한 유형의 공격적 프롬프트와 언어를 포함하여 필터링 기법들의 범용성과 정확성을 강화하는 데 초점을 맞출 필요가 있다.

참고문헌

  1. 서지민, 김진우, "LLM 애플리케이션에서 악성한국어 프롬프트 주입 공격의 유효성 분석", 한국정보보호학회 동계학술대회 논문집, Vol.33, No. 2, 2024.
  2. Sagi Pendzel, Tomer Wullach, Amir Adler, Einat Minkov, "Generative AI for Hate Speech Detection: Evaluation and Findings", 2024, DOI: https://doi.org/10.48550/arXiv.2311.09993.
  3. Bencheng Wei, Ajay Gupta, Atsu Vovor, "Offensive Language and Hate Speech Detection with Deep Learning and Transfer Learning", 2024, DOI: https://doi.org/10.48550/arXiv.2108.03305
  4. Ke-Li Chiu, Annie Collins, Rohan Alexander, "Detecting Hate Speech with GPT-3", 2022. DOI: https://doi.org/10.48550/arXiv.2103.12407
  5. Khouloud Mnassri, Reza Farahbakhsh, Noel Crespi, "Multilingual Hate Speech Detection: A Semi-Supervised Generative Adversarial Approach", In Proceedings of Entropy 2024, pp.192-204, 2024.
  6. Tomer Wullach, Amir Adler, Einat Minkov, "Towards Hate Speech Detection at Large via Deep Generative Modeling", 2020. DOI:https://doi.org/10.48550/arXiv.2005.06370
  7. Rui Cao, Roy Ka-Wei Lee, "HateGAN: Adversarial Generative-Based Data Augmentation for Hate Speech Detection", In Proceedings of the 28th International Conference on Computational Linguistics, pp.6327-6338, 2020.
  8. Thomas Hartvigsen, Saadia Gabriel, Hamid Palangi, Maarten Sap, Dipankar Ray, Ece Kamar, "ToxiGen: A Large-Scale Machine-Generated Dataset for Adversarial and Implicit Hate Speech Detection", In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics, 2022. DOI:https://doi.org/10.48550/arXiv.2203.09509.
  9. Safa Alsafari, Samira Sadaoui, "Semi-Supervised Self-Learning for Arabic Hate Speech Detection", In proceedings of 2021 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp.863-868, 2021.
  10. Shervin Malmasi, Marcos Zampieri, "Detecting Hate Speech in Social Media", In Proceedings of Recent Advances in Natural Language Processing Meet Deep Learning 2017, pp.467-472, 2017.
  11. Anderson Almeida Firmino, Cláudio de Souza Baptista, Anselmo Cardoso de Paiva, "Improving hate speech detection using Cross-Lingual Learning", Expert Systems with Applications, Vol. 235, pp.121115, 2024.
  12. I. O. William, and M. Altamimi, "Text Embedding Implementation Using Retrieval Augmented Generation (RAG) Model Combined With Large Language Model", In Proceedings of International Journal of Advanced Natural Sciences and Engineering Researches, Vol. 8 No. 4, pp. 637-645, 2024.
  13. J. Chen, S. Xiao, P. Zhang, K. Luo, D. Lian, and Z. Liu, "BGE M3-Embedding: Multi-Lingual, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation", https://arxiv.org/abs/2402.03216, 2024.
  14. N. Reimers, I. Gurevych,"Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks", 2019. DOI:https://doi.org/10.48550/arXiv.1908.10084
  15. T. Gao, X. Yao, and D. Chen, "SimCSE: Simple Contrastive Learning of Sentence Embeddings", 2022. DOI:https://doi.org/10.48550/arXiv.2104.08821
  16. F. Feng, Y. Yang, D. Cer, N. Arivazhagan, and W. Wang, "Language-agnostic BERT Sentence Embedding", In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics, pp.878-891, 2022.
  17. T. Schopf, D. N. Schneider, and Florian Matthes, "Efficient Domain Adaptation of Sentence Embeddings Using Adapters", In Proceedings of International Conference Recent Advances in Natural Language Processing, pp.1046-1053, Jan 2023.
  18. Patrick Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich Küttler, Mike Lewis, Wen-tau Yih, Tim Rocktäschel, Sebastian Riedel, Douwe Kiela, "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks", NeurIPS 2020, 2021. 4.
  19. 실험데이터셋(2024), https://github.com/llm-attacks/llm-attacks/blob/main/data/advbench/harmful_strings.csv, (9/23/2024).
  20. 실험데이터셋(2024), https://github.com/docugami/KG-RAG-datasets/blob/main/sec-10-q/data/v1/qna_data.csv, (9/23/2024).
  21. 실험데이터셋(2024), https://raw.githubusercontent.com/yixuantt/MultiHop-RAG/refs/heads/main/dataset/MultiHopRAG.json, (9/23/2024).