클라우드(AWS)/AIF-C01

[AWS] Bedrock에서 Foundation Model(FM)을 파인 튜닝(fine-tune)하는 방법

찌르비 2025. 5. 3. 18:35
반응형

 

Bedrock의 FM을 fine-tuning 하는 법

파인튜닝(fine tune)은 이미 학습된 Foundation Model(FM)에 자신의 회사 데이터를 추가로 학습시켜, 더 자신의 회사에 맞는 정확한 모델로 만드는 과정이다.

https://aws.amazon.com/blogs/aws/customize-models-in-amazon-bedrock-with-your-own-data-using-fine-tuning-and-continued-pre-training/

 

✅ Bedrock에서 FM 파인튜닝하는 기본 단계

단계 설명
1️⃣ 데이터 준비
(JSONL 형식으로 저장)
프롬프트(prompt)응답(completion)이 포함된 라벨화된 데이터를 준비한다.
이 데이터들을 .jsonl (JSON Lines) 형식으로 저장한다.
예시: { "prompt": "고객이 배송 지연을 문의할 때", "completion": "사과하고 예상 배송일 안내" }
2️⃣ S3에 업로드 .jsonl 파일을 Amazon S3 버킷에 업로드
3️⃣ 콘솔에서 파인튜닝 시작 AWS Bedrock 콘솔에서
Fine-tune → 모델 선택 → S3 경로 입력 → 파인튜닝 시작
4️⃣ 완료 후 모델 사용 파인튜닝이 완료되면, 나만의 맞춤형 모델 버전을 API로 호출해서 사용할 수 있다.
 

💡 예시; 데이터 구조 (JSONL)

{"prompt": "고객: 배송이 늦어졌어요", "completion": "죄송합니다. 배송은 내일 도착할 예정입니다."}
{"prompt": "고객: 환불 요청합니다", "completion": "확인하겠습니다. 환불 절차를 안내드릴게요."}
{"completion": "Mr. Smith's getting a check-up, and Doctor Haw...", "prompt": Summarize the following conversation.\n\n#Pers..."}
{"completion": "Mrs Parker takes Ricky for his vaccines. Dr. P...", "prompt": "Summarize the following conversation.\n\n#Pers..."}
{"completion": "#Person1#'s looking for a set of keys and asks...", "prompt": "Summarize the following conversation.\n\n#Pers..."}

 

 

📌 중요한 포인트

  • 현재 Amazon Bedrock에서 파인튜닝 가능한 모델은 제한적이다
    (예: Amazon Titan, 일부 Anthropic Claude 모델 등)
  • 사전에 Bedrock 콘솔 또는 API에서 해당 모델이 파인튜닝을 지원하는지 확인 필요
  • 파인튜닝은 추가 비용이 발생한다.

🤔 문제

한 회사가 Amazon Bedrock의 Foundation Model(FM)을 사용하여 AI 검색 도구를 운영하고 있습니다.
회사는 자사의 데이터를 활용해 모델을 더욱 정확하게 미세 조정(fine-tuning) 하기를 원합니다.
어떤 전략이 모델을 성공적으로 파인튜닝(fine-tune) 하는 데 적합할까요?

 

  1. 프롬프트(prompt) 필드와 완료(completion) 필드가 포함된 레이블이 지정된 데이터를 제공한다.
  2. .csv 형식의 여러 줄로 구성된 .txt 파일로 학습 데이터를 준비한다.
  3. Amazon Bedrock에 대해 프로비저닝 처리량(Provisioned Throughput)을 구매한다.
  4. 학술 논문과 교과서로 모델을 학습시킨다.

정답

더보기

정답 1번.

 

파인 튜닝(Fine-tuning)은 기존의 사전 학습된 모델(FM: Foundation Model)을 회사 상황에 맞게 똑똑하게 만드는 과정이다.
이를 위해 모델에게 학습용 데이터를 주어야 하는데, 그 데이터는 아래와 같이 구성돼야 한다.

  • prompt: 사용자가 입력하는 질문이나 문장 (입력)
  • completion: 그에 대한 정답 또는 원하는 출력 (출력)

예시

{"prompt": "회사의 반품 정책은?", "completion": "제품 수령일로부터 30일 이내에 반품 가능합니다."}

이런 식으로 모델에게 "이런 질문에는 이렇게 답해야 해!"라고 알려주는 것이다.

 

2번 오답: .txt 또는 .csv는 Bedrock이 요구하는 JSON Lines (.jsonl) 형식이 아니다.

3번 오답: 이것은 성능 최적화 옵션이지, 파인튜닝을 위한 필수 조건은 아니다.

4번 오답: 이건 기존 FM을 새로 학습(train from scratch)하는 식이기 때문에 Bedrock의 fine-tuning 방식과는 다르다.

반응형