다음을 통해 공유


기본 모델을 위한 Mosaic AI 모델 학습

Important

이 기능은 centralus, eastus, eastus2, northcentralus, westus 지역에서 공개 미리 보기로 제공됩니다.

Mosaic AI 모델 학습(이전의 기본 모델 학습)을 사용하면 고유한 데이터를 사용하여 기본 모델을 사용자 지정함으로써 특정 애플리케이션에 대한 성능을 최적화할 수 있습니다. 기본 모델의 전체 매개 변수 미세 조정 또는 지속적인 학습을 수행하면 모델을 처음부터 학습하는 것보다 훨씬 적은 데이터, 시간 및 컴퓨팅 리소스를 사용하여 고유한 모델을 학습할 수 있습니다.

Databricks를 사용하면 학습에 사용할 고유한 데이터, 학습할 기본 모델, MLflow에 저장된 검사점, Unity Catalog에 등록되고 배포할 준비가 된 모델 등 모든 것을 단일 플랫폼에서 사용할 수 있습니다.

Mosaic AI 모델 학습 API를 사용하여 실행을 만든 다음, 결과를 검토하고 Databricks UI 및 Mosaic AI 모델 지원을 사용하여 모델을 배포하는 방법을 학습하려면 자습서: Mosaic AI 모델 학습 실행 만들기 및 배포를 참조하세요.

Mosaic AI 모델 학습이란?

Mosaic AI 모델 학습에서는 Databricks API 또는 UI를 사용하여 기본 모델을 조정하거나 추가로 학습할 수 있습니다.

Mosaic AI 모델 학습을 사용하여 다음을 수행할 수 있습니다.

  • MLflow에 저장된 검사점을 통해 사용자 지정 데이터를 사용하여 모델을 학습합니다. 학습된 모델을 완벽하게 제어합니다.
  • 모델을 Unity Catalog에 자동으로 등록하여 모델 서비스로 쉽게 배포할 수 있습니다.
  • 이전에 학습된 모델의 가중치를 로드하여 완성된 독점 모델을 추가로 학습합니다.

Databricks는 다음과 같은 경우 Mosaic AI 모델 학습을 사용하도록 권장합니다.

  • 퓨샷(few-shot) 학습을 시도하고 더 나은 결과를 원합니다.
  • 기존 모델에서 프롬프트 엔지니어링을 시도했으며 더 나은 결과를 원합니다.
  • 데이터 개인 정보 보호를 위해 사용자 지정 모델에 대한 전체 소유권을 원합니다.
  • 대기 시간 또는 비용에 민감하며 작업별 데이터를 사용해 더 작고 저렴한 모델을 사용하려고 합니다.

지원되는 작업

Mosaic AI 모델 학습은 다음과 같은 사용 사례를 지원합니다.

  • 채팅 완성: 권장 작업. 사용자와 AI 도우미 간의 채팅 로그에서 모델을 학습합니다. 이 형식은 실제 채팅 로그와 질문 답변 및 대화형 텍스트의 표준 형식으로 모두 사용할 수 있습니다. 텍스트는 특정 모델에 적합한 형식으로 서식이 자동 지정됩니다. 템플릿에 대한 자세한 내용은 HuggingFace 설명서의 example chat templates를 참조하세요.
  • 감독된 미세 조정: 프롬프트 응답의 정형 데이터에서 모델을 학습합니다. 이 기능을 사용하여 모델을 새 작업에 맞게 조정하거나, 응답 스타일을 변경하거나, 지침 준수 기능을 추가합니다. 이 작업은 데이터에 서식을 자동으로 적용하지 않으며 사용자 지정 데이터 서식이 필요한 경우에만 권장됩니다.
  • 지속적 사전 학습: 추가 텍스트 데이터를 사용하여 모델을 학습합니다. 이 기능을 사용하여 모델에 새 지식을 추가하거나 특정 분야의 모델에 집중합니다.

요구 사항

  • centralus, eastus, eastus2, northcentralus 또는 westus와 같은 Azure 지역 중 한 곳의 Databricks 작업 영역.
  • pip install databricks_genai를 사용하여 설치된 Mosaic AI 모델 학습 API.
  • 데이터가 델타 테이블에 있는 경우 Databricks Runtime 12.2 LTS ML 이상.

필요한 입력 데이터 형식에 대한 자세한 내용은 Mosaic AI 모델 학습을 위한 데이터 준비를 참조하세요.

모델 학습에 권장되는 데이터 크기

Databricks는 처음에 1~4개의 Epoch를 사용하여 학습하도록 권장합니다. 미세 조정된 모델을 평가한 후 모델 출력이 학습 데이터와 더 유사하게 하려면 1~2개의 Epoch를 더 사용하여 학습을 지속할 수 있습니다.

미세 조정 데이터에 표시되지 않는 작업에서 모델 성능이 크게 저하되거나 모델이 미세 조정 데이터의 정확한 사본을 출력하는 것처럼 보이는 경우 Databricks는 학습 Epoch 수를 줄이도록 권장합니다.

감독된 미세 조정 및 채팅 완성 기능의 경우 모델에 대한 하나 이상의 전체 컨텍스트 길이에 충분한 토큰을 제공해야 합니다. 예를 들어 meta-llama/Llama-2-7b-chat-hf에 대해 4,096개의 토큰 또는 mistralai/Mistral-7B-v0.1에 대해 32,768개의 토큰을 제공합니다.

지속적 사전 학습을 위해 Databricks는 사용자 지정 데이터를 학습하는 더 높은 품질의 모델을 얻기 위해 최소 150만 개의 토큰을 권장합니다.

지원되는 모델

다음 테이블에는 지원되는 모델이 나열되어 있습니다. 지원되는 최신 모델 및 관련 컨텍스트 길이에 대해 get_models() 함수를 사용합니다.


from databricks.model_training import foundation_model

foundation_model.get_models()

Important

Meta Llama 3.2는 LLAMA 3.2 Community License(Copyright © Meta Platforms, Inc. All Rights Reserved)에 따라 라이선스가 부여됩니다. 고객은 본 라이선스 조건과 Llama 3.2 사용 제한 정책을 준수할 책임이 있습니다.

Meta Llama 3.1은 LLAMA 3.1 Community License(Copyright © Meta Platforms, Inc. All Rights Reserved)에 따라 라이선스가 부여됩니다. 고객은 해당 모델 라이선스를 준수할 책임이 있습니다.

Llama 3은 LLAMA 3 Community License(Copyright © Meta Platforms, Inc. All Rights Reserved)에 따라 라이선스가 부여됩니다. 고객은 해당 모델 라이선스를 준수할 책임이 있습니다.

Llama 2 및 Code Llama 모델은 LLAMA 2 Community License(Copyright © Meta Platforms, Inc. All Rights Reserved)에 따라 라이선스가 부여됩니다. 고객은 해당 모델 라이선스를 준수할 책임이 있습니다.

DBRX는 Databricks Open Model License(Copyright © Databricks, Inc. All rights reserved)에 따라 제공되며 이를 준수합니다. 고객은 Databricks 사용 제한 정책을 포함하여 해당 모델 라이선스를 준수할 책임이 있습니다.

모델 최대 컨텍스트 길이 주의
databricks/dbrx-base 32768
databricks/dbrx-instruct 32768
meta-llama/Llama-3.2-1B 131072
meta-llama/Llama-3.2-1B-Instruct 131072
meta-llama/Llama-3.2-3B 131072
meta-llama/Llama-3.2-3B-Instruct 131072
meta-llama/Meta-Llama-3.1-405B 131072
meta-llama/Meta-Llama-3.1-405B-Instruct 131072
meta-llama/Meta-Llama-3.1-70B 131072
meta-llama/Meta-Llama-3.1-70B-Instruct 131072
meta-llama/Meta-Llama-3.1-8B 131072
meta-llama/Meta-Llama-3.1-8B-Instruct 131072
meta-llama/Meta-Llama-3-70B 8192 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
meta-llama/Meta-Llama-3-70B-Instruct 8192 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
meta-llama/Meta-Llama-3-8B 8192 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
meta-llama/Meta-Llama-3-8B-Instruct 8192 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
meta-llama/Llama-2-7b-hf 4096 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
meta-llama/Llama-2-13b-hf 4096 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
meta-llama/Llama-2-70b-hf 4096 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
meta-llama/Llama-2-7b-chat-hf 4096 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
meta-llama/Llama-2-13b-chat-hf 4096 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
meta-llama/Llama-2-70b-chat-hf 4096 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
codellama/CodeLlama-7b-hf 16384 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
codellama/CodeLlama-13b-hf 16384 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
codellama/CodeLlama-34b-hf 16384 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
codellama/CodeLlama-7b-Instruct-hf 16384 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
codellama/CodeLlama-13b-Instruct-hf 16384 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
codellama/CodeLlama-34b-Instruct-hf 16384 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
codellama/CodeLlama-7b-Python-hf 16384 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
codellama/CodeLlama-13b-Python-hf 16384 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
codellama/CodeLlama-34b-Python-hf 16384 2024년 12월 13일 이후에는 이 모델이 더 이상 지원되지 않습니다. 권장되는 교체는 사용 중지된 모델을 참조하세요.
mistralai/Mistral-7B-v0.1 32768
mistralai/Mistral-7B-Instruct-v0.2 32768
mistralai/Mixtral-8x7B-v0.1 32768

Mosaic AI 모델 학습 사용

Mosaic AI 모델 학습은 databricks_genai SDK를 사용하여 액세스할 수 있습니다. 다음 예제에서는 Unity Catalog 볼륨의 데이터를 사용하는 학습 실행을 만들고 시작합니다. 구성 세부 정보는 Mosaic AI 모델 학습 API를 사용하여 학습 실행 만들기를 참조하세요.

from databricks.model_training import foundation_model as fm

model = 'meta-llama/Meta-Llama-3.1-8B-Instruct'
# UC Volume with JSONL formatted data
train_data_path = 'dbfs:/Volumes/main/mydirectory/ift/train.jsonl'
register_to = 'main.mydirectory'
run = fm.create(
  model=model,
  train_data_path=train_data_path,
  register_to=register_to,
)

데이터 준비, 학습 실행 구성 및 배포를 미세 조정하는 지침 미세 조정 예제는 지침 미세 조정: 명명된 엔터티 인식 데모 Notebook을 참조하세요.

제한 사항

  • 컴퓨팅 가용성으로 인해 큰 데이터 세트(100억 개 이상의 토큰)는 지원되지 않습니다.

  • 지속적 사전 학습의 경우 워크로드는 60~256MB 파일로 제한됩니다. 파일이 1GB보다 크면 처리 시간이 길어질 수 있습니다.

  • Databricks는 Mosaic AI 모델 학습을 사용하여 사용자 지정에 사용할 수 있는 최신 모델을 만들기 위해 노력하고 있습니다. 사용 가능한 새 모델이 제공되면 API 또는 UI에서 이전 모델에 액세스하는 기능이 제거되거나 이전 모델이 더 이상 사용되지 않거나 지원되는 모델이 업데이트될 수 있습니다. 생성형 AI 모델 유지 관리 정책을 참조하세요.

  • Mosaic AI 모델 학습은 프라이빗 링크 뒤에 있는 스토리지를 사용하여 Azure 작업 영역에 대한 모델 학습만 지원합니다.

    • 현재 eastus2에서 프라이빗 링크 뒤에 존재하는 스토리지의 데이터를 읽는 작업만 지원됩니다.
  • 데이터를 Unity Catalog에 저장하는 Azure Data Lake Storage 계정에서 방화벽을 사용하는 경우 Mosaic AI 모델 학습을 사용하려면 Databricks 서버리스 데이터 평면 클러스터의 트래픽을 허용 목록에 추가해야 합니다. 자세한 내용과 가능한 사용자 지정 솔루션은 Databricks 계정 팀에 문의하세요.