주요 컨텐츠로 이동

AI 미세 조정(Fine-tuning, 파인튜닝)

파인튜닝 이해하기

특정 목적을 위해 인공 지능 (AI) 및 머신 러닝 (ML) 모델을 훈련시킬 때, 데이터 과학자와 엔지니어들은 기존의 사전 훈련된 대형 언어 모델 (LLM)을 수정하는 것이 처음부터 새로운 모델을 훈련시키는 것보다 더 쉽고 비용이 적게 든다는 것을 발견했습니다. 대형 언어 모델의 기반이 되는 것은 광범위한 데이터셋에 훈련된 강력하고 범용적인 AI로, 다양한 주제와 작업에 걸쳐 인간과 같은 텍스트를 이해하고 생성할 수 있습니다.

기존 모델의 딥 러닝을 활용하는 능력은 특정 사용 사례에 맞게 모델을 맞춤화하는 데 필요한 컴퓨팅 파워와 조정된 데이터의 양을 줄일 수 있습니다.

파인튜닝 은 더 작고, 특정 작업에 특화된 데이터셋에서 사전 훈련된 모델을 훈련시켜 적응시키거나 보완하는 과정입니다. 이는 LLM 개발 주기의 필수적인 부분이 되어, 기본 기반 모델의 원시 언어 능력을 다양한 사용 사례에 맞게 적응시키는 데 사용됩니다.

기타 관련 인사이트

맞춤형 LLM의 파인튜닝 및 구축을 위한 간략 가이드

Mosaic AI를 사용하여 자체 LLM을 사전 학습 및 파인튜닝하는 기술 배우기

가이드 다운로드

생성형 AI Big Book

프로덕션 품질의 GenAI 애플리케이션 빌드 모범 사례

지금 읽기

생성형 AI로 시작하기

5개의 짧은 튜토리얼에서 생성형 AI 기술을 키우세요. Databricks 인증을 받으세요.

학습 시작하기

LLM를 파인튜닝하는 방법은 어떻게 작동하는가

사전 훈련된 대형 언어 모델은 엄청난 양의 데이터에 훈련되어 자연어를 이해하고 입력에 대한 인간 같은 반응을 생성하는 데 능숙하게 만듭니다. 이로 인해 기본 모델로 시작하기에 적합한 장소가 됩니다.

이 모델들을 파인튜닝하면 감정 분석, 질문 응답 또는 문서 요약과 같은 특정 작업을 더 높은 정확도로 수행하는 능력이 향상됩니다. 제3자 LLM들이 사용 가능하지만, 조직의 자체 데이터로 모델을 파인튜닝하면 도메인 특화 결과를 제공합니다.

파인튜닝의 중요성과 이점

파인튜닝은 일반적인 목적의 LLM의 지능을 기업 데이터와 연결하여, 조직이 생성형 AI (GenAI) 모델을 더 높은 특정성과 관련성으로 그들의 독특한 비즈니스 요구에 맞게 적응시킬 수 있게 합니다. 작은 회사들조차도 그들의 필요와 예산에 맞는 맞춤형 모델을 구축할 수 있습니다.

파인튜닝은 모델을 처음부터 훈련하기 위한 비용이 많이 드는 인프라에 투자할 필요를 크게 줄입니다. 사전 훈련된 모델을 세밀하게 조정함으로써, 조직은 추론 지연 시간을 줄이고 특정 사용 사례에 모델을 더 효율적으로 적용하여 시장 진입 시간을 단축할 수 있습니다.

파인튜닝 기법은 전문적이고 도메인 특화된 지식을 가진 기본 모델의 메모리 사용량을 줄이고 훈련 과정을 가속화하여 노동력과 자원을 절약하는 데 도움이 됩니다.

Databricks에서 독점 데이터를 활용해 언어 모델을 파인튜닝할 경우, 귀사의 고유한 데이터셋은 일반적인 모델 훈련 환경에서 발생할 수 있는 제3자 위험에 노출되지 않습니다. 

파인튜닝의 유형

파인튜닝은 모델의 출력의 정확성과 관련성을 향상시키는 데 도움이 되어, 광범위하게 훈련된 기반 모델보다 특수한 응용 프로그램에서 더 효과적입니다. 이는 모델이 특정 도메인이나 산업에 특화된 텍스트를 이해하고 생성하도록 조정하려고 합니다. 모델은 대상 도메인의 텍스트로 구성된 데이터셋에서 파인튜닝되어, 도메인 특정 작업에 대한 컨텍스트와 지식을 향상시킵니다. 이 과정은 매우 자원 집약적일 수 있지만, 새로운 기법들은 파인튜닝을 훨씬 효율적으로 만듭니다. 다음은 조직들이 LLM를 파인튜닝하는 몇 가지 방법입니다:

  • 전체 미세 조정 (Full Fine-tuning): 전체 파인튜닝은 신경망의 모든 계층을 최적화하거나 훈련하는 것을 포함합니다. 이 접근법은 일반적으로 최상의 결과를 가져다주지만, 가장 자원 집약적이고 시간이 많이 소요됩니다.
  • 부분적인 미세 조정 (Partial Fine-tuning): 사전 훈련된 매개변수 중에서 관련 하류 작업에 대한 모델 성능에 가장 중요한 부분만을 업데이트함으로써 계산 요구량을 줄입니다.
  • 추가적인 미세조정 (Additive Fine-tuning): 추가적인 방법은 모델에 추가 매개변수나 계층을 추가하고, 기존의 사전 훈련된 가중치를 고정하고 새로운 구성 요소만 훈련합니다.
  • 소수샷 학습 (Few-shot Learning): 큰 레이블이 붙은 데이터셋을 수집하는 것이 비현실적일 때, 소수샷 학습은 필요한 작업의 몇 가지 예시(또는 샷)를 제공함으로써 이를 해결하려고 시도합니다.
  • 전이 학습 (Transfer Learning): 이 기법은 모델이 처음 훈련된 작업과 다른 작업을 수행하게 합니다. 주요 아이디어는 모델이 큰, 일반적인 데이터셋에서 얻은 지식을 더 특정적이거나 관련된 작업에 적용하는 것입니다.

PEFT (Parameter-Efficient Fine-Tuning)

PEFT (Parameter-Efficient Fine-Tuning)는 대규모 사전 훈련된 모델을 특정 작업에 적응시키면서 계산 자원과 저장 요구 사항을 최소화하기 위해 설계된 기법들의 집합입니다. 이 접근법은 제한된 자원을 가진 응용 프로그램이나 여러 파인튜닝 작업이 필요한 응용 프로그램에 유익합니다. PEFT 방법들, 예를 들어 저랭크 적응(LoRA)과 어댑터 기반 파인튜닝은, 전체 모델을 업데이트하는 대신 훈련 가능한 매개변수의 수를 적게 만들어 작동합니다. 어댑터 계층은 PEFT의 핵심 구성 요소로, 사전 훈련된 모델의 각 계층에 삽입되는 경량, 훈련 가능한 모델입니다.

이러한 어댑터는 순차, 잔여, 병렬과 같은 변형으로 제공되며, 모델의 출력을 조정하지만 원래의 가중치를 변경하지 않아 작업 특정 조정을 허용하면서도 이를 보존합니다. 예를 들어, LoRA는 제품 설명을 생성하는 등의 작업에 대해 대형 언어 모델을 효율적으로 파인튜닝할 수 있습니다. 한편, 양자화 저랭크 적응(QLoRA)은 양자화를 사용하여 메모리와 계산 부하를 줄이는 데 초점을 맞춥니다. QLoRA는 양자화된 저랭크 행렬로 메모리를 최적화하여, 하드웨어 자원이 제한된 작업에 매우 효율적입니다.

파인튜닝을 사용할 시기

파인튜닝은 모델에 산업 특정 용어나 작업 중심의 상호작용과 같은 더욱 집중적인 데이터셋을 제공합니다. 이것은 모델이 사용 사례에 대해 더 관련성 있는 응답을 생성하는 데 도움이 되며, 이는 모델의 핵심 지식을 맞춤화하거나 보완하는 것부터 완전히 새로운 작업과 도메인으로 모델을 확장하는 것까지 다양할 수 있습니다.

  • 작업 특정 적응: 사전 훈련된 언어 모델이 주어진 상태에서, 이를 감정 분석이나 특정 도메인에 특화된 텍스트 생성과 같은 특정 작업에 맞게 적응시키고 싶을 때가 있습니다. 이때, 대규모 모델을 처음부터 훈련하는 대신, 기존의 사전 훈련된 모델을 기반으로 특정 작업에 맞춰 세밀하게 조정함으로써, 새로운 작업에서도 일반적인 언어 이해 능력을 효과적으로 활용할 수 있습니다.
  • 편향 완화: 파인튜닝은 균형 잡힌 및 대표적인 훈련 데이터를 제공함으로써 사전 훈련된 모드에서 존재하는 편향을 줄이거나 상쇄하는 데 사용할 수 있습니다.
  • 데이터 보안 및 준수: 민감한 데이터를 다룰 때, 모델을 안전한 인프라에서 로컬로 파인튜닝하여 모델이 제어 가능한 환경을 벗어나지 않도록 할 수 있습니다.
  • 제한된 데이터 사용 가능성: 세밀한 조정은 특정 작업에 대한 레이블이 지정된 데이터가 제한적일 때 특히 유익합니다. 모델을 처음부터 훈련하는 대신, 더 작은 데이터셋을 사용하여 사전 훈련된 모델의 지식을 활용하고 작업에 맞게 조정할 수 있습니다.
  • 지속적인 학습: 파인튜닝은 모델이 시간이 지남에 따라 변화하는 데이터와 요구 사항에 적응해야 하는 지속적인 학습 시나리오에 유용합니다. 이를 통해 모델을 처음부터 시작하지 않고 주기적으로 업데이트할 수 있습니다.

LLM들은 특정 산업 응용 프로그램을 해결하기 위해 파인튜닝될 수도 있습니다. 예를 들어, 전용 의료 데이터에 대한 파인튜닝은 더 정확한 진단과 치료를 가능하게 할 수 있습니다. 마찬가지로, 금융 애플리케이션에서는 파인튜닝된 모델이 거래 데이터와 고객 행동을 분석하여 사기를 탐지하도록 교육받을 수 있습니다.

파인튜닝 과정

  1. 환경 설정: 모델을 파인튜닝하는 것은 일반적으로 반복적인 과정이므로, 대부분의 오픈 소스 모델은 한 번 이상 훈련될 것입니다 - 이는 성능과 비용 모두에 있어서 훈련 데이터가 동일한 ML 플랫폼에 있음이 중요해집니다. 기업 데이터에서 GenAI 모델 파인튜닝 은 전용 정보에 대한 접근 권한을 필요로 하며, 비즈니스가 AI 성숙도 곡선에서 발전함에 따라 실행 중인 모델의 수는 계속 증가할 것이며, 이는 데이터 접근에 대한 수요를 증가시킬 것입니다. 모델 훈련 환경은 데이터의 이동(계보)을 추적할 수 있어야 하며, 모든 모델 매개변수를 메모리에서 처리할 수 있어야 하므로, 보통 병렬 아키텍처가 계산 효율성을 위해 필요합니다.
  2. 기본 모델 선택: 오늘날에는 다양한 작업에 대한 많은 오픈 소스 데이터셋, 모델, 프롬프트 라이브러리가 있습니다: 아키텍처, 크기, 훈련 데이터의 계층 및 관련 작업에서의 성능을 고려하여 대상 작업의 특성에 가장 가깝게 일치하는 모델을 선택합니다.
  3. 데이터 준비: 데이터를 감독된 미세조정에 적합한 형식으로 변환합니다. 지도 학습 fine-tuning은 제공된 프롬프트에 따라 텍스트를 생성하도록 모델을 추가로 훈련합니다.
  4. 모델 매개변수 조정: 기존 모델에서 시작하여 기업 데이터로 모델을 보강하거나 세밀하게 조정합니다. 이러한 모델을 검색 증강 생성(RAG), PEFT 또는 표준 파인튜닝과 같은 기법을 사용하여 확장합니다.
  5. 훈련 및 평가: 훈련 중에 모델의 진행 상황을 정기적으로 평가하여 그 효과를 추적하고 필요한 수정을 구현합니다. 이는 훈련 기간 동안 별도의 검증 데이터셋을 사용하여 모델의 성능을 평가하는 것을 포함합니다.

머신러닝에서의 파인튜닝

LLM은 번역, 질문 응답, 채팅, 콘텐츠 요약 및 콘텐츠 및 코드 생성과 같은 언어 관련 작업을 수행하는 머신 러닝 모델입니다. LLM은 거대한 데이터 세트에서 가치를 추출하고 해당 "학습"에 즉시 액세스할 수 있도록 합니다. 이 "전이 학습" 과정은 사전 훈련된 모델을 사용하여 다른 하위 스트림 모델에서 사용할 특징을 계산하고, 새 모델을 훈련시키고 조정하는 데 필요한 시간을 크게 줄입니다. 자세한 정보와 예시를 보려면 전이 학습을 위한 특징화 를 참조하세요.

도전 과제와 최적 사례 소개

일반적인 도전 과제들

  • 모델 드리프트: 모델의 성능이 시간이 지남에 따라 악화될 수 있습니다. 정기적인 모니터링과 파인튜닝이 최적의 성능을 유지하는 데 필요할 수 있습니다.
  • 모델 간 실험: 빠르게 모델 간에 실험을 진행하며, 이에는 다른 모델 제공자로부터의 자격 증명, 속도 제한, 권한 및 쿼리 구문 관리가 포함됩니다.
  • 내부 지식 부족:  기반 모델은 광범위한 지식을 가지고 있지만 내부 지식과 도메인 전문 지식이 부족합니다.
  • 모델 운영화: 요청과 모델 응답은 품질, 디버깅 및 안전 목적으로 일관되게 모니터링되어야 합니다. 모델 간의 다른 인터페이스는 그것들을 관리하고 통합하는 것을 어렵게 만듭니다.
  • 과적합: 모델이 특정 데이터셋에 너무 밀접하게 훈련되어 보이지 않는 새로운 데이터에서 잘 수행되지 못하면, 일반화 능력을 잃을 수 있습니다.
  • 편향 증폭: 사전 훈련된 모델이 가진 편향이 파인튜닝 과정에서 강화될 경우, 새로운 데이터셋에서도 해당 편향이 더욱 심화될 수 있습니다.
  • 하이퍼파라미터 복잡성: 적절한 프레임워크와 도구 없이는 적절한 하이퍼파라미터 설정을 식별하는 과정이 시간이 많이 걸리고 계산 비용이 많이 듭니다.

모범 사례

  • 사전 훈련된 모델 활용: 사전 훈련된 모델은 대량의 데이터와 일반적인 언어 이해를 바탕으로 시작하여, 데이터 팀이 도메인 특정 훈련에 집중할 수 있게 합니다.
  • 작게 시작하십시오: 컴퓨팅 자원이 제한적일 때, 작은 모델은 더 적은 전력과 메모리를 필요로 하므로, 그것들을 실험하고 반복하는 것이 더 쉽고 빠릅니다. 작은 데이터 하위 집합으로 시작하여 점차 전체 데이터셋으로 확장할 수 있습니다.
  • 고품질 데이터셋 사용: 데이터셋이 작업과 도메인을 대표하도록 하여 노이즈와 오류를 최소화하세요.
  • 데이터 형식 실험: 다양한 데이터 입력 유형을 포함시키면 모델이 응답에서 다양성을 구축하고 더 넓은 범위의 시나리오에서 수행할 수 있게 돕습니다.
  • 하이퍼파라미터 사용: 하이퍼파라미터는 학습 효율성과 과적합을 방지하기 위해 조정되어야 합니다. 모델 정확도를 향상시키기 위해 다른 하이퍼파라미터 값으로 실험해 보세요.

파인튜닝을 하지 않아야 할 때

잠재적인 모델 "과적합"을 피하기 위해, 사전 훈련된 모델의 작업과 너무 비슷한 작업을 추가하거나 파인튜닝하지 마세요. 이렇게 하면 원래 데이터셋에서 일반화하는 능력을 잃을 수 있습니다. 훈련 데이터셋을 확장하면 모델의 정확도를 높일 수 있습니다.

파인튜닝의 미래

대규모 컴퓨팅 자원에 대한 의존성을 줄이고 LLM 배포를 신뢰성 있게 사용자 정의하는 것을 쉽게 만들어 생성형 AI를 민주화하는 작업이 계속되고 있습니다. 대규모로 LLM를 세밀하게 조정하는 것은 그 의존성을 더욱 줄이기 위해 더 자동화된, 지능적인 도구를 필요로 합니다.

LoRA와 같은 발전은 과정을 간소화하며, 모델 출력을 실시간으로 교차 검증하고 성능을 자체 개선할 수 있는 외부 소스에 접근할 수 있는 더욱 지능적인 도구를 위한 길을 닦습니다.

추가적인 통합을 통해 질문을 생성하고 선별된 답변을 기반으로 세밀하게 조정함으로써, 자체 학습 데이터셋을 생성할 수 있는 LLM을 구축할 수 있습니다. 이렇게 하면 세밀하게 조정된 LLM를 기업 워크플로우에 통합하고 비즈니스 운영을 향상시키는 것이 더 쉬워집니다.

많은 사용 사례에서, 오늘날의 AI 모델은 인간 수준의 정확도에 도달하거나 그에 근접하게 수행되지만, 윤리적인 AI와 LLM 개발에서의 편향에 대한 우려는 계속되고 있으므로, 제공업체는 책임감 있는 공정한 AI 실천을 보장하는 데 전념해야 합니다.

특정 작업, 산업, 또는 데이터셋에 대해 LLM를 훈련시킬 때, 이러한 일반화된 모델의 기능을 확장합니다. 훈련, 배포, 관리, 쿼리, 모델 모니터링을 위한 통합 서비스는 모든 모델을 한 곳에서 관리하고 단일 API로 쿼리할 수 있게 해주어, 비용 효율적인 효율성, 정확성, 지속 가능성을 제공합니다.

앞으로, 다중 모달 파인튜닝의 발전은 AI 모델이 할 수 있는 것의 경계를 밀어내고 있으며, 이미지, 텍스트, 음성 등 여러 데이터 유형을 하나의 파인튜닝된 솔루션으로 통합할 수 있게 해줍니다. 파인튜닝된 AI 모델이 더욱 정확하고 효율적이며 확장 가능해짐에 따라, 이들이 비즈니스 운영에 더욱 중요해지고 모든 부문에서 더욱 널리 채택되는 것을 기대할 수 있습니다.

용어집으로 돌아가기