LLM 맞춤화 소개
최근 몇 년 동안 인공지능의 급속한 발전은 대규모 언어 모델(LLMs)의 개발로 이어졌고, 자연어 처리(NLP) 분야에 혁신을 가져왔습니다. ChatGPT, Llama, Mistral, Zephyr 및 기타 모델들과 같은 이러한 강력한 모델들은 인간과 유사한 언어를 이해하고 생성하는 데 뛰어난 역량을 입증했습니다.
그러나 이러한 LLM에는 한계가 있습니다. 특정 기준일 이전의 방대한 데이터로 학습되기 때문에, 학습 데이터보다 최신 지식이 필요한 답변을 생성하는 데 사용하면 부정확한 응답을 받을 위험이 있습니다. 따라서 이러한 모델의 잠재력을 최대한 끌어내기 위해서는 특정 작업과 도메인에 맞게 조정하는 것이 필수적입니다. 바로 여기서 LLM 커스터마이징이 중요해집니다.
최근 시애틀에서 열린 Zilliz Unstructured Data Meetup에서 OSS4AI의 CEO이자 Zilliz의 전 Senior Developer Advocate인 Yujian Tang은 특정 작업에서 LLM의 성능을 향상하기 위해 LLM을 커스터마이징하는 여러 가지 옵션에 대해 논의했습니다. LLM의 다양한 커스터마이징 옵션을 논의하기 전에, LLM의 역사를 간략히 살펴보겠습니다.
LLM의 간략한 역사
LLM의 탄생으로 이어진 연구는 기본 신경망 아키텍처에서 시작하여 먼 길을 걸어왔습니다. 기본 신경망 계층은 아래 그래픽에 표시된 것처럼 입력층, 하나 이상의 은닉층, 출력층으로 구성됩니다.
신경망 아키텍처
기본 신경망 아키텍처는 분류 작업에 매우 강력하다는 것이 입증되었으며 텍스트와 이미지 같은 비정형 데이터를 처리할 수 있습니다. 그러나 자연어 작업에 필수적인 장기 의존성이나 순차 처리 능력이 필요한 작업에는 효과적이지 않습니다. 기본 신경망에서는 각 입력이 독립적으로 처리되며, 출력은 오직 현재 입력에 기반하여 생성됩니다. 이는 신경망이 전체 시퀀스와 관련하여 입력의 순서나 맥락을 고려하지 않는다는 것을 의미합니다.
장기 의존성을 처리할 능력이 없으면 신경망은 전체 입력 시퀀스나 텍스트의 의미론적 의미를 추론할 수 없습니다. 순환 신경망(RNNs)의 탄생은 이 문제를 해결하는 것을 목표로 했습니다.
RNN은 네트워크가 이전에 본 정보들을 포착하는 메모리 역할을 하는 은닉 상태를 도입하여 이 문제를 해결합니다. 이 은닉 상태는 한 시간 단계에서 다음 시간 단계로 전달되어 네트워크가 시퀀스의 표현을 유지할 수 있게 합니다. 은닉 상태를 추가하면 RNN이 입력 시퀀스의 정보를 선택적으로 기억하거나 잊을 수 있어, 기본 신경망보다 입력 시퀀스 의존성을 처리하는 데 더 효과적입니다.
RNN 아키텍처
그러나 RNN에도 다음과 같은 몇 가지 한계가 있습니다:
기울기 소실 문제: RNN은 학습 중 모델의 매개변수를 업데이트하는 데 사용되는 기울기가 시간에 따라 역전파되면서 점점 작아지는 기울기 소실 문제를 겪습니다. 이 문제는 RNN이 시퀀스의 장기 의존성을 학습하기 어렵게 만듭니다.
순차 처리: RNN은 시퀀스를 순차적으로 처리하므로 계산을 병렬화하는 능력이 제한되고 계산 효율성이 떨어집니다.
RNN의 이러한 한계는 Transformer의 개발로 이어졌으며, Transformer는 self-attention 메커니즘을 사용하여 입력 시퀀스를 병렬로 처리하고 vanishing gradient 문제를 피합니다.
Transformer architecture
Transformer 아키텍처는 여러 encoder 및 decoder 블록으로 구성됩니다. 각 encoder 및 decoder 블록에는 attention layer라고 하는 특별한 층이 포함되어 있습니다. 이 층은 전체 입력 시퀀스와 관련하여 각 토큰 뒤에 있는 의미론적 의미를 결정하는 데 중요한 역할을 합니다. 예를 들어, 다음 세 문장을 고려해 보세요:
Apple은 2023년에 970억 달러의 수익을 냈습니다
나는 2023년에 수익을 위해 apple pie를 먹는 것을 좋아합니다
Apple의 bottom line은 2023년에 기록적인 수치로 증가했습니다
전통적인 접근 방식, 예를 들어 키워드 기반 접근 방식만 사용한다면 첫 번째와 두 번째 문장이 가장 유사한 쌍이 될 것입니다. 이 두 문장에서 Apple, 2023, profit이라는 세 개의 유사한 키워드를 찾았습니다.
하지만 우리는 첫 번째와 세 번째 문장이 의미적으로 가장 유사한 쌍이라는 것을 알고 있습니다. Transformer 아키텍처 내부의 attention layer는 이러한 맥락을 포착하여 첫 번째와 세 번째 문장을 의미적으로 가장 유사한 쌍으로 반환할 수 있습니다.
Transformers 모델의 강력한 성능과 다재다능함은 Computer Vision부터 NLP 및 multimodal 작업에 이르기까지 다양한 분야에서 AI의 빠른 발전으로 이어졌습니다.
Transformers의 큰 성공 이후 소개된 모델 중 하나는 Generative Pretrained Transformers (GPT) 모델입니다. 이 모델은 Transformer 아키텍처의 decoder 부분을 사용하여 입력 시퀀스의 다음 토큰을 예측하며, ChatGPT와 Llama와 같이 우리가 지금까지 알고 있는 많은 LLM의 backbone으로 사용됩니다.
GPT architecture
이러한 LLM은 방대한 양의 데이터로 학습되었기 때문에 인간과 유사한 응답을 생성하는 데 매우 강력합니다. 하지만 이미 알고 계시듯이 학습 데이터에는 cut-off date가 있으며, 이는 학습 데이터보다 새로운 정보에 대해 질문하면 LLM으로부터 정확한 응답을 얻지 못한다는 것을 의미합니다. 바로 이 지점에서 LLM을 맞춤화해야 합니다.
Retrieval Augmented Generation (RAG)
LLM을 맞춤화할 수 있는 첫 번째 방법은 RAG를 통한 것이며, 그 개념은 매우 간단합니다. 우리는 LLM에 쿼리와 관련 컨텍스트를 모두 입력으로 제공하여, 제공된 컨텍스트를 활용함으로써 맥락에 맞고 정확한 응답을 생성할 수 있게 합니다.
RAG architecture
RAG에 LLM을 활용하려면 두 가지 필수 구성 요소가 필요합니다:
Vector Embedding Model: 쿼리와 컨텍스트를 vector embedding으로 변환하는 모델입니다.
Vector Database: 모든 context embedding을 저장하고 vector search를 수행하여 쿼리를 기반으로 LLM에 가장 관련성이 높고 의미적으로 유사한 컨텍스트를 제공하는 데이터베이스입니다.
OpenAI의 딥러닝 모델이나 sentence transformers를 포함하여 여러 모델을 사용해 vector embedding을 생성할 수 있습니다. 또는 TF-IDF나 BM25와 같은 전통적인 bag-of-words-based models도 사용할 수 있습니다.
Milvus는 인기 있는 오픈 소스 벡터 데이터베이스입니다. 이는 모델이 생성한 벡터 임베딩과 해당 메타데이터라는 두 가지 유형으로 구성된 필요한 데이터를 저장합니다. 예를 들어, 2023년 6월 첫째 날에 Towards Data Science에 게시된 기사에서 가져온 텍스트 청크를 생각해 보겠습니다. Milvus 벡터 데이터베이스에 저장된 데이터는 다음과 같을 수 있습니다:
벡터 임베딩 데이터와 해당 메타데이터의 예
메타데이터는 벡터 검색 작업 중 다양한 필터를 수행하여 LLM에 더 정확한 컨텍스트를 제공하는 데 유용합니다. 예를 들어, 특정 출판물의 컨텍스트나 특정 날짜(예: 2020년) 이후에 게시된 컨텍스트를 가져오고 싶을 수 있습니다.
쿼리가 있고 필터링하려는 특정 메타데이터를 알게 되면, Milvus와 같은 벡터 데이터베이스가 제 역할을 수행합니다. 메타데이터 필터링 조건을 충족하면서 쿼리와 의미적으로 가장 유사한 컨텍스트를 찾기 위해 벡터 검색을 수행합니다.
파인튜닝
LLM을 맞춤화하는 또 다른 접근 방식은 파인튜닝입니다. 개념은 간단합니다. 사전 학습된 LLM을 자체 데이터로 학습시켜, 데이터 도메인에 특화된 작업을 수행하도록 맞춤화된 새로운 가중치를 가진 모델을 얻는 것입니다.
LLM을 파인튜닝하는 방법에는 여러 가지가 있습니다:
전체 파인튜닝: 이 접근 방식은 원래 LLM 내의 모든 파라미터 가중치를 수정합니다. 그러나 비용이 많이 드는 계산 과정을 수반합니다.
LORA: 이 접근 방식은 LLM 아키텍처 내에 저랭크 어댑터를 도입합니다. 파인튜닝 중에는 원래 가중치가 동결되고, 어댑터의 가중치만 업데이트됩니다.
QLORA: 이 접근 방식은 원래 LORA 방법에 양자화를 도입하여, 합리적인 성능을 유지하면서 계산 비용과 리소스를 줄입니다.
전체 파인튜닝 vs LORA
이제 다양한 파인튜닝 방법을 알았으니, 파인튜닝의 다양한 기법에 대해 논의해 보겠습니다:
지도 파인튜닝: 이 방법에서는 LLM에 자체 학습 데이터와 해당 레이블을 제공합니다. 그런 다음 다른 지도 머신러닝 모델처럼 LLM을 학습시킵니다.
인간 피드백을 통한 강화학습(RLHF): 이 방법은 강화학습 이론을 통합합니다. 쿼리를 기반으로 LLM에서 다양한 응답을 수집한 다음 각 응답의 품질을 평가합니다. 시간이 지남에 따라 LLM은 우리의 선호도에 부합하는 응답을 생성합니다.
지도 파인튜닝 vs. 인간 피드백을 통한 강화학습
지도 파인튜닝은 간단하므로, RLHF에 대해 더 자세히 논의해 보겠습니다. 기본 RLHF의 한 가지 단점은 LLM이 생성한 응답의 품질을 사람이 평가해야 한다는 점입니다. 이 접근 방식은 비용이 많이 들고 시간이 오래 걸립니다.
데이터 과학자들은 이 문제를 완화하기 위해 근접 정책 최적화(PPO)를 도입했습니다.PPO는 인간 평가를 대체하기 위해 보상 모델을 도입합니다. 그러나 이 보상 모델은 별도로 학습되어야 하므로 PPO 적용이 번거로워집니다. 또한 새 데이터가 추가될 때마다 보상 모델을 다시 학습해야 합니다.
이러한 문제를 해결하기 위해 직접 선호 최적화(DPO)가 도입되었습니다. DPO는 인간 선호 데이터에 대해 음의 로그 가능도 손실 함수를 사용하여 LLM의 정책을 최적화합니다. DPO로 파인튜닝하기 위한 데이터셋은 프롬프트, 선호 응답, 비선호 응답으로 구성됩니다:
DPO로 LLM을 파인튜닝하는 데 사용되는 데이터 형식의 예
그러나 DPO는 선호 데이터셋에 빠르게 과적합되는 경향이 있습니다. 이 문제를 완화하기 위해 정체성 선호 최적화(IPO)가 개발되었습니다.
IPO는 과적합을 피하기 위해 DPO 손실 함수에 정규화 항을 도입합니다. 또한 음의 로그 가능도(NLL) 손실 함수에 로그 오즈비 항을 추가하여, 선호되지 않는 응답에는 페널티를 부여하면서 LLM을 원하는 스타일에 맞게 미세 조정할 수 있게 합니다.
결론
Yujian Tang은 발표에서 특정 사용 사례에 최적화하여 LLM을 커스터마이징하는 다양한 방법을 논의했습니다. 발표는 LLM의 개발로 이어진 AI 발전의 간략한 역사를 제공하는 것으로 시작되었습니다. 이어서 LLM을 커스터마이징하는 두 가지 방법인 RAG와 미세 조정에 대한 설명이 뒤따랐습니다.
RAG는 쿼리와 함께 관련 컨텍스트를 입력으로 주입함으로써 LLM이 생성하는 응답 품질을 향상시킵니다. Milvus와 같은 벡터 데이터베이스는 컨텍스트 임베딩을 저장하고 벡터 검색을 수행하여 RAG를 구현합니다. 그런 다음 LLM은 이러한 컨텍스트를 사용하여 적절한 답변을 생성합니다.
두 번째 접근 방식은 미세 조정이며, 미세 조정에는 두 가지 방법이 있습니다.
지도 미세 조정: 이 방법은 LLM에 자체 학습 데이터와 해당 레이블을 제공한 다음, 다른 지도 머신 러닝 모델처럼 학습시키는 것입니다.
인간 피드백 기반 강화 학습(RLHF): 이 방법은 강화 학습 이론을 통합하며, 여기서는 쿼리를 기반으로 LLM으로부터 다양한 응답을 수집하고 각 응답의 품질을 평가합니다. 시간이 지남에 따라 LLM은 우리의 선호도에 부합하는 응답을 생성합니다.
LLM 커스터마이징에 대한 자세한 내용은 Yujian의 발표 다시 보기를 참조하세요.
계속 읽기

Why We Built Vector Lakebase: Rethinking Unstructured Data Architecture for AI
Vector Lakebase: a unified, lake-native data foundation for AI workloads — and an answer to what happens after vector databases succeed.

Why Context Engineering Is Becoming the Full Stack of AI Agents
Discover how context engineering unifies prompts, RAG, and tools to build smarter, production-ready AI agents powered by Milvus.

Zilliz Cloud Introduces Advanced BYOC-I Solution for Ultimate Enterprise Data Sovereignty
Explore Zilliz Cloud BYOC-I, the solution that balances AI innovation with data control, enabling secure deployments in finance, healthcare, and education sectors.


