파인튜닝(Fine-tuning)이란? – LLM 구축 방법

2023/12/14

2023년에는 LLM이 각 업계에서 더욱 중요한 역할을 했으며, 실제로 LLM을 적용하고 비즈니스의 잠재적 이점이 크게 높아졌습니다. 실제로 마이크로소프트, OpenAI, 바이두와 같은 대기업들은 LLM의 개발 및 개선에 적극적으로 참여했습니다. 그러나 대부분의 기업이 자체 파운데이션 모델을 개발하는 것은 재정적으로 어려운 실정이었습니다. 파운데이션 모델을 위한 방대한 양의 데이터와 고성능 컴퓨팅 리소스는 주로 최상위 기업에서만 확보 가능하기 때문이죠.

그렇지만 파운데이션 모델을 직접 개발할 수 없더라도, LLM 활용은 가능합니다. 오픈 소스 파운데이션 모델이 널리 공유되면서 기업들은 이를 기반으로 파인튜닝 기술을 적용하여 대규모 언어 모델을 훈련시키고, 이를 특정 산업이나 고유한 사용 사례에 맞게 애플리케이션을 개발할 수 있게 되었습니다.

이 글에서는 LLM 모델의 정의와 중요성, 활용 방법, 그리고 에펜이 어떻게 대규모 언어 모델을 효과적으로 활용하여 실제 응용 프로그램을 개발하는 데 도움을 줄 수 있는지에 대해 자세히 살펴보겠습니다.

파인튜닝의 정의

파인튜닝은 특정 작업이나 도메인에 높은 적합성을 확보하기 위해, 이미 훈련된 대규모 언어 모델에 특정 데이터셋을 사용하여 추가적인 학습을 수행하는 작업을 말합니다.

파인튜닝의 핵심 아이디어는 머신러닝 모델이 초기 학습에서 사용된 데이터의 논리와 이해력만을 반영할 수 있다는 점에서 비롯됩니다. 이에 따라 모델은 초기 학습 단계에서 다루지 않은 새로운 데이터 샘플을 이해하는 데 어려움을 겪을 수 있으며, 이는 특정 시나리오에서 정확한 답을 생성하는 대규모 모델에서 두드러집니다.

예를 들어, 범용 LLM은 다양한 언어 정보를 포함하고 유창한 대화에 참여할 수 있습니다. 그러나 의료 분야에서는 환자의 질문에 효과적으로 응답할 수 있는 애플리케이션을 구축하기 위해 대규모 언어 모델을 새로운 의료 데이터에 노출시켜야 합니다. 이를테면 “해열제를 감기약과 함께 복용할 수 있나요?”와 같은 의료 질문에 정확한 답을 제공하려면 모델을 파인튜닝하여 해당 도메인의 특정 내용에 적응시켜야 합니다.

파인튜닝하는 방법

파인튜닝은 사전 학습된 모델 전체를 조정한 정도에 따라 Full Fine-tuning과 Repurposing 두 가지 방법으로 분류할 수 있습니다.

Full Fine-tuning

전체 파인튜닝은 모든 모델 매개변수를 포함하여 사전 학습된 모델 전체를 파인튜닝하는 작업을 의미합니다. 이 방법에서는 사전 학습된 모델의 모든 레이어와 매개 변수가 업데이트되고 최적화되어 대상 작업의 요구 사항에 맞게 조정됩니다. 이 방법은 일반적으로 작업과 사전 학습된 모델 사이에 큰 차이가 있거나 작업에서 모델의 유연성과 적응성이 높아야 하는 경우에 적합합니다. 전체 파인튜닝에는 상당한 리소스와 시간이 필요하지만 그만큼 더 나은 성능을 얻을 수 있습니다.

Repurposing

Repurposing은 사전 학습된 모델의 하위 레이어를 그대로 유지하면서 모델의 상위 레이어 또는 선택된 몇 개의 레이어를 파인튜닝하는 것을 의미합니다. 이 방법의 목적은 사전 학습된 모델에 대한 일반적인 지식을 유지하면서 최상위 레이어를 특정 작업에 적용하는 것입니다. 이 방법은 대상 작업과 사전 학습된 모델 사이에 특정 유사성이 있거나 작업 데이터셋이 작은 경우에 적합한 경우가 많습니다. Repurposing은 몇 개의 레이어만 업데이트되므로 Full Fine-tuning에 비해 필요한 리소스와 시간이 적지만 경우에 따라 약간의 성능 저하가 발생할 수 있습니다.

Full Fine-tuning과 Repurposing 간의 선택은 작업의 특성과 사용 가능한 리소스에 따라 달라집니다. 작업과 사전 학습된 모델 사이에 큰 차이가 있거나 높은 적응성이 필요한 경우 Full Fine-tuning이 더 적합합니다. 작업이 사전 학습된 모델과 유사성이 높거나 리소스가 제한적인 경우 Repurposing이 더 나은 선택일 수 있습니다. 실제 적용에서는 최적의 성능을 달성하기 위해 작업 요구 사항 및 실험 결과를 기반으로 적절한 파인튜닝 방법을 선택해야 합니다.

파인튜닝의 한계

  1. 데이터 품질과 양: 파인튜닝의 성능은 데이터의 품질과 양에 크게 의존합니다. 이에 따라 고품질 데이터가 충분하지 않으면 모델이 과적합(Overfitting)될 가능성이 커집니다. 또한 제대로 라벨링 되지 않은 데이터를 사용하거나 편향된 데이터로 학습하면 모델이 잘못된 패턴을 학습할 수 있습니다.
  2. 높은 비용: 대규모 모델을 파인튜닝하려면 고성능 GPU와 대량의 메모리가 요구됩니다. 이에 따라 학습 비용이 높아지고, 학습 시간이 길어질 수 있습니다.
  3. 지식 소실(Catastrophic Forgetting): 파인튜닝을 이용하면 기존에 사전 학습된 모델이 갖고 있던 일반적인 지식을 잃어버릴 수 있습니다. 따라서 이를 방지하기 위해서는 기존 지식을 유지하면서 새로운 정보를 학습하는 기법이 필요합니다.
  4. 일반화의 어려움: 모델이 특정 도메인에 과하게 최적화 되면 범용성이 떨어질 수 있습니다.

이러한 한계를 극복하기 위해 최근에는 외부 지식을 통합하여 대형 언어 모델(LLM) 생성을 강화하는 기술인 RAG(Retrieval-Augmented Generation)가 활용되고 있습니다. 또한 프롬프트 엔지니어링(Prompt Engineering)은 기특정 작업이나 도메인에 높은 적합성을 확보하기 위해, 이미 훈련된 대규모 언어 모델에 특정 데이터셋을 사용하여 추가적인 학습을 수행하는 작업으로 파인튜닝의 한계를 보충할 수 있습니다.

파인튜닝 유형

LLM 파인튜닝은 사용되는 데이터셋 유형에 따라 지도 파인튜닝(Supervised Fine-tuning)과 비지도 파인튜닝(Unsupervised Fine-tuning)의 두 가지 유형으로 분류됩니다.

비지도 파인튜닝 (UFT)

비지도 파인튜닝은 라벨이 없는 데이터셋을 활용해 모델을 학습시키는 방법입니다. 모델은 별도의 라벨링 없이 입력 데이터에 내재된 패턴과 구조를 스스로 학습하게 됩니다. 주로 데이터의 고유한 구조를 활용하거나 새로운 데이터를 생성하면서 모델의 표현력을 향상시키는 데 목적이 있습니다. 이 방식은 모델이 더 유용한 특징을 스스로 찾아내도록 돕습니다.

지도 파인튜닝 (SFT)

지도 파인튜닝은 라벨이 포함된 고품질 데이터셋을 사용해 사전 학습된 모델을 특정 목적에 맞게 조정하는 방법입니다. 라벨이 주어짐으로써 모델은 원하는 결과를 명확하게 학습할 수 있고, 이를 통해 성능 최적화가 가능합니다. 보통 분류 작업처럼 각 샘플에 정답이 포함된 데이터셋이 사용됩니다. 이러한 맞춤형 파인튜닝은 범용 모델을 특정 분야에 최적화하여 정확도, 효율성, 그리고 비즈니스 가치를 높이는 데 기여합니다.

SFT 데이터셋이란?

SFT 데이터셋은 특정 작업이나 분야에 맞춰 구조화된 형태로 구성된 학습용 데이터를 의미합니다. 이 데이터셋은 입력값(예: 텍스트, 이미지)과 이에 대응하는 정답(예: 분류 값, 응답 텍스트)을 포함하고 있어, 학습 과정에서 모델이 올바른 출력을 생성할 수 있도록 도와줍니다. 효과적인 학습을 위해서는 높은 품질의 데이터셋이 필수적입니다.

프리 트레이닝(Pre-training)과 파인튜닝 비교

LLM은 먼저 대규모 AI 데이터를 기반으로 프리 트레이닝을 통해 언어와 맥락에 대한 기본 이해를 갖추게 됩니다. 이후 지도 파인튜닝(SFT) 을 통해 특정 분야(예: 과학, 경제 등)에 특화된 능력을 키우는 식으로 성능을 개선합니다. 특히 잘 선별된 SFT 데이터셋을 사용하면 실제 응용 환경에서도 높은 정확도로 모델을 활용할 수 있습니다.

  • 프리 트레이닝(Pre-training)
    • 용도: 자연어 처리와 같은 일반화 가능한 기술에 대한 모델 학습
    • 데이터 요구사항: 대규모 멀티 도메인 데이터 세트, 정확도 필터링
    • 결과: 다양한 적용 사례에서 작동하는 파운데이션 모델 구축
  • 파인튜닝(Fine-tuning)
    • 용도: 특정 사용 사례 및 목표에 맞춘 LLM 조
    • 데이터 요구사항: 소규모 전문 데이터 세트, 특정 사용 사례에 맞춘 큐레이션
    • 결과: 특정 작업 및 도메인에 맞게 모델 성능 조정

SFT 작동 원리

  1. 데이터 수집 및 준비: 먼저 모델이 해결해야 할 작업에 적합한 도메인별 데이터를 수집합니다. 이 데이터는 다양성, 품질, 그리고 적용 목적과의 관련성이 높아야 합니다. 이후 모델이 학습 가능한 형태로 데이터를 정리하고 변환하는 과정이 필요합니다.
  2. 데이터 어노테이션 및 품질 관리: SFT의 핵심은 정확하고 일관된 라벨링입니다. 수집한 데이터에 라벨링하고 검토하는 과정에서 감정 분석, 엔터티 분류, 관계 추출 등 다양한 작업이 이루어집니다. 저희 Appen과 같은 전문 데이터 기업은 요약 생성, 사고의 사슬 추론(CoT)과 같은 복잡한 작업을 위한 고급 데이터셋 구축에 강점을 가지고 있습니다.
  3. 모델 가중치 조정: 수집한 구조화된 데이터를 이용해 사전 학습된 모델의 가중치를 조정합니다. 이때 주로 낮은 학습률을 사용하여 새로운 작업에 특화되도록 학습시키면서 기존의 일반화된 지식도 유지하게 됩니다. 주로 경사하강법, 역전파 등의 방법이 활용됩니다.
  4. 모델 평가와 반복 개선: 파인튜닝이 완료되면 모델의 성능을 사전에 정의한 지표(정확도, F1 점수, 도메인별 KPI 등)를 기준으로 평가합니다. 필요하다면 하이퍼파라미터 조정, 데이터셋 확장, 라벨 보강 등의 작업을 반복하여 모델 성능을 지속적으로 개선합니다. 이처럼 반복적인 개선 과정을 통해 최적의 결과를 얻을 수 있습니다.

SFT 기법

  • Full Fine Tuning: 작업별 데이터 세트를 사용하여 모든 모델 매개변수를 파인튜닝합니다.
    • 장점: 컨트롤 능력과 성능을 극대화합니다.
    • 단점: 대용량 데이터 및 컴퓨팅 요구 사항으로 인해 시간이 많이 소요됩니다.
    • 적용 사례: 최고의 정확도와 맞춤 설정이 필요한 미션 크리티컬 시스템에 적합합니다.
  • Parameter-Efficient Fine Tuning (PEFT): 매개변수의 일부 하위 집합(예: 어댑터, LoRA 레이어)을 업데이트합니다.
    • 장점: 가볍고 빠르며 비용 효율적이며 여러 환경에 배포하기 쉽습니다.
    • 단점: 복잡하거나 위험성이 높은 작업에서는 성능이 저하될 수 있습니다.
    • 적용 사례: 신속한 프로토타입 제작, 리소스가 제한된 환경 또는 여러 도메인에 걸친 확장에 적합합니다.
  • Instruction Tuning: 다양한 작업에서 사람이 직접 작성한 지침을 따르도록 모델을 훈련합니다.
    • 장점: 일반화 및 신속한 팔로업 행동을 향상합니다.
    • 단점: 고도로 기술적인 영역에서는 효과가 떨어집니다.
    • 적용 사례: 범용 지원 기능을 구축하거나 신속한 조치가 필요한 경우에 적합합니다.
  • RLHF (Reinforcement Learning from Human Feedback): 강화 학습을 통해 파인튜닝과 인간 피드백을 결합합니다.
    • 장점: 모델 동작을 인간의 가치관에 맞춰 조정하고 출력 품질을 향상합니다.
    • 단점: 설정이 복잡할 수 있으며, 숙련된 어노테이션 작성자와 컴퓨팅이 필요합니다.
    • 적용 사례: 민감한 영역에서 안전 및 사용자 경험을 고려하여 생성형 모델을 조정하는 경우에 적합합니다.

파인튜닝 프로세스

앞서 언급한 것과 같이 LLM의 파인튜닝 방법에는 여러 가지가 있으며, 각 방법마다 미세 조정 프로세스, 접근 방식, 준비 및 주기가 다를 수 있습니다. 그러나 대부분의 파인튜닝 프로세스에는 다음과 같은 주요 단계가 포함되며, 이에 따른 준비가 필요합니다.

  1. 데이터셋 준비: 대상 작업과 관련된 학습 데이터셋을 수집하고 준비합니다. 데이터 세트의 품질과 정확성을 보장하고 필요한 데이터 정리 및 전처리를 수행합니다.
  2. 사전 학습 및 파운데이션 모델 선택: 대상 작업의 성격과 데이터셋의 특성을 기반으로 적합한 사전 학습 모델을 선택합니다.
  3. 파인튜닝 전략 정의: 작업 요구 사항 및 사용 가능한 리소스를 기반으로 적절한 파인튜닝 전략을 선택합니다. 전체 파인튜닝을 수행할지 혹은 부분 미세 조정을 수행할지 여부와 파인튜닝 수준 및 범위를 고려합니다.
  4. 하이퍼파라미터 설정: 학습률, 배치 크기, 훈련 에포크 수 등과 같은 파인튜닝 프로세스를 위한 하이퍼파라미터를 결정합니다. 이러한 하이퍼파라미터의 선택은 미세 조정의 성능과 수렴 속도에 상당한 영향을 미칠 수 있습니다.
  5. 모델 매개변수 초기화: 사전 학습된 모델의 가중치를 기반으로 파인튜닝된 모델의 매개변수를 초기화합니다. 완전한 파인튜닝을 위해 모든 모델 매개변수가 무작위로 초기화됩니다. 부분 파인튜닝의 경우 최상위 레이어 또는 일부 레이어의 매개변수만 무작위로 초기화됩니다.
  6. 파인튜닝 학습: 준비한 데이터셋과 파인튜닝 전략을 사용하여 모델을 훈련합니다. 학습 과정에서 설정된 하이퍼파라미터와 최적화 알고리즘을 기반으로 모델 매개변수를 점진적으로 조정하여 손실 함수를 최소화합니다.
  7. 모델 평가 및 튜닝: 학습 과정에서 검증 세트를 사용하여 주기적으로 모델을 평가하고 평가 결과에 따라 하이퍼파라미터를 조정하거나 전략을 미세 조정합니다. 이는 모델의 성능과 일반화 능력을 향상하는 데 도움이 됩니다.
  8. 모델 성능 테스트: 파인튜닝이 완료된 후 테스트 세트를 사용하여 최종 파인튜닝 모델을 평가하여 성능 지표를 얻습니다. 이는 실제 적용에서 모델의 성능을 평가하는 데 도움이 됩니다.
  9. 모델 배포 및 적용: 파인튜닝된 모델을 실제 응용 프로그램에 배포하고 실제 요구 사항을 충족하기 위해 추가 최적화 및 조정을 수행합니다.

이러한 단계는 LLM을 파인튜닝하기 위한 일반적인 프레임워크를 제공하지만, 특정 단계와 세부 사항은 작업 및 요구 사항에 따라 다를 수 있습니다. 특정 상황에 따라 조정 및 최적화가 이루어질 수 있습니다. 그러나 파인튜닝은 기본 모델을 처음부터 훈련하는 것에 비해 상대적으로 시간을 절약하고 효율적인 방법이지만 상당한 전문 지식, 기술 리소스, 컴퓨팅 성능, 관리 및 개발 비용이 필요합니다. 이를 지원하기 위해 저희 에펜은 LLM을 쉽게 도입할 수 있도록 다양한 맞춤형 서비스와 제품을 제공합니다.

에펜의 LLM 솔루션

  • 데이터 클리닝, 데이터셋 및 어노테이션 서비스 AI 데이터 산업의 글로벌 리더로서 26년 이상의 경험을 보유한 에펜은 235개가 넘는 언어와 방언에 대한 심층적인 연구와 광범위한 데이터 경험을 보유하고 있습니다. 특정 사용 사례에 필요한 다국어 데이터, 맞춤형 데이터 수집가공, 여러 수준의 세부 어노테이션을 제공하여 LLM 학습을 위한 데이터 솔루션을 제공합니다.
  • 파인튜닝 & RLHF 백만 명 이상의 데이터 작업자를 보유하고 있는 글로벌 크라우드 플랫폼과 숙련된 데이터 전문가가 이끄는 어노테이션 팀을 통해 저희 에펜은 모델 파인튜닝을 위한 광범위한 RLHF(Reinforced Learning from Human Feedback) 솔루션을 제공합니다. 또한 이를 통해 할루시네이션을 최소화할 수 있습니다.
  • LLM 지능형 개발 플랫폼 대규모 언어 모델이 포함된 애플리케이션을 개발하려면 개발 효율성을 높이고 장애물을 줄이는 것을 목표로 파인튜닝을 넘어서는 여러 개발 프로세스가 필요합니다. 이를 효과적으로 진행할 수 있도록 저희 에펜은 LLM 지능형 개발 플랫폼을 개발하여 LLM 프로그램을 신속하게 교육하고 배포할 수 있도록 지원합니다.
  • 맞춤형 LLM 응용 서비스 LLM 개발 역량이 부족한 기업을 위해 포괄적인 맞춤형 솔루션을 제공합니다. 데이터 및 알고리즘 팀을 통해 적절한 파운데이션 모델을 선택하고 가장 적합한 데이터를 통해 파인튜닝을 수행하여 요구 사항을 충족하는 LLM 응용 프로그램을 배포할 수 있습니다.

에펜의 SFT 솔루션

에펜은 AI 모델의 파인튜닝에 대한 엔드 투 엔드 솔루션을 제공하여, 확장 가능한 고품질 데이터 솔루션을 통해 도메인별 성능 최적화를 돕습니다.

  • 고품질 SFT 데이터셋 고객의 특정 사용 사례에 맞춰 고품질 도메인 특화 데이터를 수집하고 준비합니다. 금융, 의료, 소매, 고객 지원 등 다양한 분야에 걸친 다양한 에펜의 데이터셋은 효과적인 지도형 파인튜닝(SFT) 의 기반이 됩니다.
  • 대규모 인간 데이터 라벨링 지원 전 세계 전문가와 전문 언어팀이 참여하여 정확하고 방대한 라벨링 작업을 제공합니다. Appen의 품질 관리(QA) 프로세스는 모든 데이터가 LLM의 정밀한 파인튜닝에 필요한 기준을 충족하도록 보장합니다.
  • 모델 평가 및 반복 개선 인간 참여 기반 피드백(HITL, Human-in-the-loop) 을 통해 모델의 지속적인 평가와 개선을 지원합니다. 정확성, 관련성, 안전성 등 주요 지표를 기반으로 모델 성능을 측정하고, 반복적인 피드백 과정을 통해 빠르고 효과적으로 모델을 고도화할 수 있도록 합니다.

LLM 구축을 계획하고 계신가요? 저희 에펜의 데이터 전문가가 직접 도와드리겠습니다. 지금 바로 상담받아보세요!

LLM 프로젝트 지원이 필요하신가요? 대규모 언어 모델 전문가에게 문의하세요.