![]()
생성형 AI의 등장 이후 새로운 혁신이 일어나고 있습니다. 특히 초거대 언어모델(Large Language Model, LLM)은 기존에 풀기 어려웠던 많은 난제를 방대한 자연어 데이터를 통해 학습한 지식과 언어 능력을 기반으로 해결할 수 있다는 것을 보여줬습니다.
그러나 사람들이 LLM을 적극적으로 활용하기 시작하면서 기술의 한계점도 드러났습니다. 표면적으로는 유창하고 그럴듯해 보이지만 사실과 다른 대답을 내놓기도 하고, 윤리적으로 문제가 될 만한 내용을 생성하기도 합니다. LLM을 악의적으로 공격해 비윤리적인 결과를 만들어내는 악용 사례들이 발생하기도 했습니다.
LLM의 한계를 보완하고 악용 사례를 방지할 수 있는 방법에 대해 수많은 사람들이 고민하고 있습니다. 믿을 수 있는 윤리적인 LLM을 개발하기 위해 어떤 데이터로 어떻게 학습해야 하는지, 그리고 학습된 LLM을 어떻게 평가할 수 있을지에 대한 연구가 활발히 진행되고 있습니다. 또한 LLM이 사람의 의도를 파악하고 원하는 결과를 제시하도록 구현하려면 어떤 능력에 집중하고 어떤 방식으로 학습해야 하는지 등도 함께 논의되고 있습니다.
ACL 2024에서는 LLM 시대가 열린 이후 넓게 펼쳐진 다양한 연구 분야를 소개하고 각 분야의 과거, 현재, 그리고 미래를 살펴보는 튜토리얼 세션들이 열렸습니다. LG AI연구원에서도 ACL 2024에 참여해 그동안의 연구 성과를 발표하고, 글로벌 연구자들과 다양한 논의를 이어갔습니다. 이번 포스팅에서는 ACL 2024의 여러 튜토리얼 세션들 중 LLM과 관련된 몇 가지 연구 주제들을 살펴보고 인상 깊은 연구들을 소개해 드릴 것입니다. 또한 해당 분야에서 현재 LG AI연구원이 진행하고 있는 연구와 목표도 함께 보여드릴 예정입니다.
1. Automatic and Human-AI Interactive Text Generation
가장 먼저 소개해 드릴 튜토리얼은 “Automatic and Human-AI Interactive Text Generation”입니다. LLM이 생성하는 텍스트를 잘 활용하기 위해서 고려해야 하는 다양한 측면들을 사람의 관점에서 살펴보고, 텍스트 요약과 수정 등의 주제를 예시로 어떻게 상호 작용할 수 있는지가 다뤄졌습니다. 그 중에서 “LLM이 생성한 텍스트를 어떻게 평가할 수 있을까”에 관한 내용이 인상적이었습니다.
LLM은 기존의 다른 언어 모델보다 훨씬 더 사람 같고 유창한 텍스트를 생성해냅니다. 하지만 그만큼 우리는 LLM이 생성한 결과물이 얼마나 뛰어난지, 또 얼마나 바람직한지 평가가 필요합니다. 평가 결과를 바탕으로 모델을 개선하고, 생성된 텍스트를 적재적소에 활용할 수 있기 때문입니다.
텍스트의 퀄리티를 평가하는 방식은 자연어 처리(Natural Language Processing, NLP) 연구의 발전과 함께 변화해왔습니다. 전통적인 NLP 연구 흐름에서는 주로 통계적인 방식을 활용했는데, N개의 단어가 연속적으로 묶인 N-gram을 단위로 다양한 Metric을 구성하는 방법입니다. 예를 들어 생성된 텍스트에서 얼마나 많은 N-gram들이 정답에 포함되는가를 측정하는 BLEU Score나 생성된 텍스트와 정답 텍스트 간 N-gram이 겹치는 정도를 측정하는 ROUGE Score가 대표적입니다. 하지만 N-gram 기반의 평가 방식은 단어의 순서 변경, 치환 등 텍스트 변형에 민감하고 Semantic한 정보를 충분히 담지 못한다는 한계가 있습니다.
언어 모델의 발전에 따라, 언어 모델의 능력을 빌려 텍스트를 평가하려는 방식의 연구도 진행되었습니다. BERT의 등장 이후 Embedding을 활용한 Metric이 제안되었는데, BERTScore가 대표적 방법론입니다. BERTScore는 Reference 문장의 BERT Embedding Vector와 평가하고자 하는 문장의 BERT Embedding Vector를 사용해 코사인(Cosine) 유사도를 계산하여 산출합니다. 이런 평가 방식은 기존 N-gram 기반 방법론보다 semantic 정보를 잘 이해하지만, Context와 Task-specific한 맥락을 충분히 고려하지 못하는 한계가 남아 있습니다.
RLHF와 같이 평가를 위한 모델을 학습하는 방법도 등장했습니다. 어떤 텍스트가 더 나은 결과인지 Human Feedback을 통해 Reward Model (RM)을 학습할 수 있게 되었고, 이렇게 학습된 모델은 임의의 텍스트가 사람에게서 어느 정도의 점수를 받을 수 있는지 추론이 가능해졌습니다.

이미지 1. Interpretable Preferences via Multi-Objective Reward Modeling and Mixture-of-Experts에서 Reward Model의 구조[1]
튜토리얼에서는 “Interpretable Preferences via Multi-Objective Reward Modeling and Mixture-of-Experts”[1] 논문이 소개됐습니다. 해당 연구에서는 사람들의 Absolute-rating 데이터를 활용해 RM을 학습한 뒤, Response를 여러 측면에서 평가할 수 있도록 추가된 Regression, Gating Layer를 학습해 다양한 Objective에서도 Human Preference를 잘 반영할 수 있도록 설계됐습니다.
LG AI연구원이 발표한 논문 "Prometheus 2: An Open Source Language Model Specialized in Evaluating Other Language Models"[2]도 소개되었습니다. 해당 연구에서는 두 응답을 비교하는 Pairwise Ranking과 응답 한 개의 점수를 매기는 Direct Assessment를 동시에 활용하도록 평가 LM을 구성하고, 이를 통해 GPT-4와 같은 Reference LLM 및 Human Preference와의 Correlation을 크게 높였습니다.

이미지 2. Prometheus 2의 평가 방식 개요[2]
LLM이 발전하고 Multi-task Instruction Tuning이 LLM의 능력을 키우는 데 활용되면서, Instruction과 Context를 통해 원하는 Task를 풀도록 하는 기조가 자리 잡았습니다. 이는 LLM 평가에서도 마찬가지입니다. 기존 RM을 활용한 방법처럼 Human Preference 점수를 측정하는 것이 아닌 LLM이 직접 평가 Task를 해결하는 방식인데, LLM이 사고 및 추론 과정을 생성할 수 있기 때문에 RM 기반 방법론보다 Interpretable 합니다. 이렇게 LLM이 평가 주체가 되는 것을 “LLM-as-a-judge”라고도 합니다.
MT-Bench[3]는 대표적인 LLM-judge 방법론입니다. 2개의 Turn으로 LLM에게 질문을 던지고 답변을 받은 뒤, 평가하고자 하는 LLM의 답변을 Baseline LLM의 답변과 함께 GPT-4와 같은 Judge LLM에게 넘겨주어 Target LLM 답변의 점수를 측정하도록 합니다. 이 과정에서 MT-bench는 Pairwise Comparison, Single Answer Grading, Reference-guided Grading을 모두 수행해 종합적인 측면에서의 점수로 환산합니다.
이런 LLM-as-a-judge 방식은 사람이 직접 평가하지 않아 Scalable하고, Judge LLM이 평가한 이유를 설명하기 때문에 Explainable 한 장점을 가집니다. 그러나 LLM이 평가하기 때문에 의도하지 않은 편향이 발생할 수 있다는 한계도 있습니다. 현존하는 LLM은 보통 길고 자세한 답변을 선호하기 때문에 간단명료한 답변이 적합한 상황에서도 이를 선택하지 않거나, 평가할 텍스트가 Prompt 내 위치하는 곳에 따라 결과가 바뀌기도 하며, 스스로가 생성한 답변이 주어지면 이를 더 선호하는 경향을 보입니다.
Prompt 내 위치를 번갈아 바꿔 평가한다거나 여러 모델을 Judge로 활용해 평가하는 방법으로 편향을 완화할 수 있지만, LLM의 태생적인 편향으로 인해 발생하는 문제를 완전히 제거할 수는 없습니다. 이처럼 언어 모델을 평가하는 방법은 단순히 해결될 수 없고 지속적으로 발전해 나아가고 있는 상황입니다.
2. Vulnerabilities of Large Language Models
두 번째 튜토리얼은 “Vulnerabilities of Large Language Models” 입니다. LLM의 시대가 열리고 LLM이 다양한 곳에서 활용되기 시작하면서 그만큼 많은 취약점이 발견되었습니다. 사실이 아닌 것을 사실처럼 이야기하는 환각(Hallucination) 현상이나, 경우에 따라 유해한 내용을 담은 텍스트를 생성하는 문제가 지속적으로 보고되어 왔습니다.
이는 LLM이 가진 내재적 특성에 기인합니다. LLM의 답변을 사람이 원하는 방향으로 Instruction Tuning 하는 과정에서, LLM은 답변이 실질적으로 도움을 줄 수 있도록(Helpfulness) 학습함과 동시에 유해한 내용이 담기지 않도록(Harmlessness) 학습하게 됩니다. 이 두 방향은 서로 상반되기 때문에 학습 과정에서 두 Objective 사이를 조율하기 어렵습니다.
또한 LLM은 주로 학습 과정에서 Safety를 배우지만, 학습하지 않았던 데이터나 생성 환경에서는 종종 이러한 능력을 잃어버립니다. 예를 들어 Base64 인코딩된 텍스트나 Low-resource Language로 입력을 주게 되면 그 안에 유해한 내용이 포함되어 있어도 LLM이 이를 제대로 거절하지 못하는 경우가 늘어납니다. 이런 현상은 큰 모델에서 더 잘 나타나는 경향이 있습니다.
이러한 문제점은 LLM을 활용한 시스템에 치명적일 수 있습니다. 특히 여러 모델과 서비스가 복합적으로 연결되어 있는 경우 LLM이 생성한 유해 내용이 전체 시스템으로 퍼져나갈 수 있기 때문에 더욱 위험합니다. 따라서 시간이 지날수록 공정하고 안전하며, 신뢰할 수 있는 LLM에 대한 필요성이 대두되는 상황입니다.
해당 튜토리얼에서는 LLM을 공격하는 다양한 기법을 소개하고 이를 방어할 수 있는 방법이 소개됐습니다. 먼저 LLM 공격 방식은 공격자의 접근 가능한 범위와 공격의 목적에 따라 다양한 기법들로 나뉩니다. 그중 대표적인 공격 방식은 모델의 모든 정보에 접근할 수 있는 White-box Attack 과 모델의 입출력만 접근할 수 있는 Black-box Attack의 두 가지로 크게 나눌 수 있습니다.
LLM을 학습하고 서비스로 배포하는 입장에서는 주로 Black-box Attack이 위협적입니다. 단순히 입력을 변형함으로써 LLM이 잘못된 대답을 하도록 만들기 때문입니다. 대표적인 Black-box Attack의 방법으로는 Context Contamination이 있습니다. Context Contamination이란 유해한 내용을 미리 입력 Context에 포함해 LLM이 맥락에 따라 유해한 내용을 이어 생성하도록 유도하는 방법을 말합니다. 튜토리얼에서 소개한 논문인 "Jailbreak and Guard Aligned Language Models with Only Few In-Context Demonstrations”[4]에서는 마치 LLM이 유해한 대답을 이미 답변했던 것처럼 Context를 꾸며 공격하는 기법으로 공격 성공률을 크게 높일 수 있음을 보였습니다.

이미지 3. Adversarial Attack 및 In-context Attack의 예시[4]
다른 방법으로는 Prompt Rewriting이 있는데, 공격하고자 하는 LLM이 취약점을 드러내는 입력을 찾아 이를 통해 공격하는 방법입니다. PAIR[5] 에서는 Attacker LLM이 생성한 Jailbreak Prompt 를 Target LLM에 입력해 보고, 생성된 텍스트 을 와 함께 Judge LLM에 넘겨 공격 성공 여부 를 판단합니다. Judge LLM이 Jailbreak가 성공했다고 판단하지 않았다면 , , 를 Attacker LLM에 주고 새로운 Prompt를 생성합니다.

이미지 4. PAIR 공격 기법 [5]
그렇다면 이런 공격을 방어하기 위한 방법들은 무엇이 있을까요? 방어 기법은 크게 학습과 추론 두 단계에서 적용할 수 있습니다. 그 중에서 흔히 LLM을 학습할 때 SFT (Supervised Fine-Tuning)나 DPO (Direct Preference Optimation)[6]를 적용하는데, 이 과정에서 Safety를 높이기 위한 데이터와 Objective를 주고 학습하는 방법이 보편적입니다.
Gradient Ascent (GA)를 활용해 특정 Knowledge 혹은 Instruction을 잊어버리도록 하는 Unlearning 기법도 있습니다. 특정 데이터가 나올 확률을 직접 낮추는 방향으로 학습하기 때문에 유해한 내용 생성을 막는 데에는 효과적이지만, 기존의 학습 방식과 정반대로 동작하기 때문에 Unlearning에 사용한 데이터와 비슷한 입력이 들어왔을 때 결과가 엉망으로 나오는 등 불안정한 결과를 보여주었습니다. 최근 연구 중에서는 Safe Unlearning[7]과 같이 Unlearning을 DPO와 같은 추가 Alignment 학습과 연계하는 방법이 제안되고 있습니다.
추론 단계에서의 방어 기법에서는 입력을 전처리하거나 생성된 텍스트를 후처리 하는 방식이 주로 활용됩니다. 해당 튜토리얼에서는 두 방식을 결합한 SmoothLLM[8]을 소개했습니다. 논문에서는 랜덤 Perturbation들을 Prompt에 적용해 각각 결과 텍스트를 생성하고 이들을 취합하는 방식을 통해 Prompt에 존재하는 Adversarial Attack이나 Jailbreak Prompt의 효과를 경감시키려고 했습니다.

이미지 5. 일반적인 LLM과 SmoothLLM의 추론 과정 비교[8]
논문에서는 임의의 Token을 추가하는 Insert Perturbation, Token을 다른 것으로 바꿔버리는 Swap Perturbation, 그리고 Token Sequence를 추가하는 Patch Perturbation을 제시하며, 이 중 Swap Perturbation만을 10% 수준으로 적용해도 공격 성공률이 1% 미만 수준으로 내려감을 확인했습니다.
3. Watermarking for Large Language Model
마지막으로 소개할 튜토리얼은 “Watermarking for Large Language Model” 입니다. 여기서 워터마크(Watermark)란 알아챌 수 없는 수준의 노이즈 또는 패턴을 원래 데이터에 숨겨 이를 통해 데이터를 구분할 수 있도록 하는 흔적을 의미합니다. 웹 상에 LLM이 생성한 데이터가 점점 많아지면서 LLM이 스스로 생성한 데이터를 학습할 가능성이 높아졌고, Model Collapse의 우려가 제기되었습니다. 따라서 신뢰할 수 있는 LLM 개발을 위해서는 학습에 활용되는 텍스트가 LLM으로부터 만들어진 것인지 확인하고, 만약 맞을 경우 이를 학습 데이터에서 제거하는 것이 바람직합니다.
그렇다면 어떻게 LLM이 만든 텍스트를 구분할 수 있을까요? 간단하게는 LLM이 특정 패턴을 생성하도록 학습하거나, 텍스트가 LLM으로 생성되었는지 여부를 구분하는 Classifier를 학습하는 방법도 고려할 수 있습니다. 그러나 전자의 경우 텍스트 퀄리티가 저하될 것이고, 후자의 경우 Out-of-distribution (OOD) 문제로 인해 본 적 없는 텍스트의 분류 성능이 떨어질 것입니다. 반면 워터마크는 알아채기 어려운 노이즈를 텍스트에 숨기기 때문에 퀄리티를 보존하면서도 학습 과정이 필요하지 않아 OOD 문제에서 자유로워질 수 있습니다.
기본적으로 언어 모델의 텍스트를 워터마킹하는 방법은 아래와 같이 표현될 수 있습니다. 먼저 모델 에 Detection Key 를 사용하는 특정 워터마크 방법론을 적용해 워터마크된 텍스트를 생성하는 새로운 모델 을 만듭니다. 이후 임의의 텍스트 가 모델이 생성한 텍스트인지 아닌지를 Detection Key 를 통해 확인합니다.
따라서 언어 모델의 워터마킹은 크게 와 으로 구성됩니다.
이렇게 만들어진 워터마크 알고리즘이 효과적으로 동작하기 위해선 먼저 생성된 텍스트의 퀄리티가 좋아야 하고, Detection 정확도가 높아야 하며, 텍스트의 수정 등과 같은 공격에도 강건해야 합니다. 또 Detection key 역시 알아내기 어려워야 합니다.
그렇다면 우리는 어떤 함수를 사용해야 잘 동작하는 워터마크 구조를 얻을 수 있을까요? Kirchenbauer et al.[9]은 대표적인 LLM 워터마크 방법론을 제안합니다. 일명 Green-Red Watermark라고 부릅니다. 기본 개념은 간단합니다. LLM Vocab 내의 Token들을 모두 Green 혹은 Red로 구분해 준 뒤, LLM이 추론한 Logit에서 Green Token에 해당하는 값들에 약간의 Perturbation 를 더해주는 것입니다. 이는 결과적으로 Green Token들의 확률을 미세하게 높이고, 반대로 Red Token들의 확률을 미세하게 낮춥니다.
Green Token들은 어떻게 결정할까요? Kirchenbauer et al.에서는 현재 위치 이전의 N개의 Token을 사용해 해쉬(Hash) 값을 만들고 이에 따라 전체 Vocab에서 비율 만큼을 Green Token으로 만듭니다. 이렇게 구성하면 Green Token List가 고정되어 있지 않아 Brute-force 등의 공격에 강건해집니다.
그럼 이제 임의의 텍스트 가 에서 생성되었는지 확인해 봅시다. Token Sequence 의 Z-score를 측정해 해당 값이 Threshold를 넘으면 가 워터마크되었다고 판단할 수 있습니다.
아래의 예시를 통해 워터마크가 적용된 LLM이 생성한 텍스트가 그렇지 않은 텍스트와 비교했을 때 충분히 많은 빈도의 Green Token이 생성됨을 확인할 수 있습니다.

이미지 6. green-red watermark가 적용된 예시[9]
이번 ACL 2024에는 LG AI연구원의 LLM 워터마크 관련 논문인 “Who Wrote this Code? Watermarking for Code Generation”[10]이 게재되기도 했습니다. 해당 논문은 이번 튜토리얼에서 다양한 Watermark 기법에 대해 소개할 때 함께 언급되었습니다. 논문에서는 기존 워터마크 기법이 Code Generation Task에서는 Token 하나만 잘못 나와도 Syntax Error 등 잘못된 결과를 만들기 쉬우며, Logit의 낮은 Entropy 때문에 워터마크 여부를 통계적으로 구분하기 어려움을 밝히고 이를 개선하는 SWEET 방법론을 제안했습니다. SWEET에서는 Green-red Watermark를 적용하기 이전, 현재 위치에서 생성 확률 분포의 엔트로피 가 Threshold 를 넘는 경우에만 워터마크를 적용하는 방식으로 생성된 코드의 퀄리티를 유지하고 Detection 성능도 높였습니다.
Future Plan
ACL 2024 튜토리얼에서는 “LLM의 안정성과 보안” 측면이 주요한 주제로 다뤄졌습니다. 이 주제는 LG AI연구원을 비롯해 LLM을 개발하는 주체에게는 매우 중요한 부분입니다. 실제로 튜토리얼에서 제기한 LLM이 가지는 취약점과 한계점들은 LLM 개발 과정에서 계속 마주하고 있고, 이를 보완하기 위한 연구를 끊임없이 진행하고 있습니다. 이런 문제를 잘 해결하는 것이 결국 바람직한 LLM을 만들 수 있는 방법일 것입니다.
최근 LG AI연구원은 한층 강화된 성능의 EXAONE 3.0을 발표하고 7.8B Instruction Tuned 모델을 오픈소스로 공개했습니다. EXAONE 3.0 Technical Report에 공개된 바와 같이 LG AI연구원은 데이터의 저작권 및 라이센스 문제를 중요하게 다루고 있고, Red Teaming을 포함한 다양한 평가 방법을 활용해 LLM이 갖고 있는 취약점을 파악하고, 지속적으로 개선해 왔습니다. 앞으로도 글로벌 Top 수준의 기술 경쟁력을 확보하고 윤리적인 AI 구현을 위한 연구 개발을 계속 이어가겠습니다.
ACL Trends Review Series
#2. [ACL 2024] 차트 이해 및 추론을 위한 새로운 접근 방법
#3. [ACL 2024] 효율적인 언어모델을 향하여
#4. [ACL 2024] AI-generated Text Detection 최신 연구 동향
#5. [ACL 2024] LLM 신뢰성에 대한 평가 방법론과 효율성 연구의 트렌드
#6. [ACL 2024] 문화 간 차이를 고려한 LLM 연구 트렌드
[1] Wang, Haoxiang, et al. "Interpretable Preferences via Multi-Objective Reward Modeling and Mixture-of-Experts." arXiv preprint arXiv:2406.12845 (2024).
[2] Kim, Seungone, et al. "Prometheus 2: An Open Source Language Model Specialized in Evaluating Other Language Models." arXiv preprint arXiv:2405.01535 (2024).[3] Zheng, Lianmin, et al. "Judging LLM-as-a-judge with Mt-bench and Chatbot Arena." Advances in Neural Information Processing Systems 36 (2024).
[4] Wei, Zeming, Yifei Wang, and Yisen Wang. "Jailbreak and Guard Aligned Language Models with Only Few In-context Demonstrations." arXiv preprint arXiv:2310.06387 (2023).
[5] Chao, Patrick, et al. "Jailbreaking Black Box Large Language Models in Twenty Queries." arXiv preprint arXiv:2310.08419 (2023).
[6] Rafailov, Rafael, et al. "Direct Preference Optimization: Your Language Model is Secretly a Reward Model." Advances in Neural Information Processing Systems 36 (2024).
[7] Zhang, Zhexin, et al. "Safe Unlearning: A Surprisingly Effective and Generalizable Solution to Defend Against Jailbreak Attacks." arXiv preprint arXiv:2407.02855 (2024).
[8] Robey, Alexander, et al. "Smoothllm: Defending Large Language Models Against Jailbreaking Attacks." arXiv preprint arXiv:2310.03684 (2023).
[9] Kirchenbauer, John, et al. "A Watermark for Large Language Models." International Conference on Machine Learning. PMLR, 2023.
[10] Lee, Taehyun, et al. "Who Wrote This Code? Watermarking for Code Generation." arXiv preprint arXiv:2305.15060 (2023).