데이터세트 준비 - Amazon Bedrock

데이터세트 준비

모델 사용자 지정 작업을 시작하기 전에 훈련 데이터세트는 반드시 준비해야 합니다. 검증 데이터세트 지원 여부와 훈련 및 검증 데이터세트의 형식은 다음 요인에 따라 달라집니다.

  • 사용자 지정 작업의 유형(미세 조정 또는 지속적인 사전 훈련)

  • 데이터의 입력 및 출력 양식

미세 조정 및 지속적인 사전 훈련 데이터 형식에 대한 모델 지원

다음 테이블에는 각 모델에 지원되는 미세 조정 및 지속적인 사전 훈련 데이터 형식에 대한 세부 정보가 나와 있습니다.

모델 이름 미세 조정: 텍스트 투 텍스트 미세 조정: 텍스트 투 이미지 및 이미지 투 임베딩 지속적인 사전 훈련: 텍스트 투 텍스트 미세 조정: 단일 턴 메시징 미세 조정: 멀티 턴 메시징
Amazon Titan Text G1 - Express 아니요 아니요 아니요
Amazon Titan Text G1 - Lite 아니요 아니요 아니요
Amazon Titan Text Premier 아니요 아니요 아니요 아니요
Amazon Titan Image Generator G1 V1 아니요 아니요 아니요
Amazon Titan Multimodal Embeddings G1 아니요 아니요 아니요
Anthropic Claude 3 Haiku 아니요 아니요 아니요
Cohere Command 아니요 아니요 아니요 아니요
Cohere Command Light 아니요 아니요 아니요 아니요
Meta Llama 2 13B 아니요 아니요 아니요 아니요
Meta Llama 2 70B 아니요 아니요 아니요 아니요

다양한 모델을 사용자 지정하는 데 사용되는 훈련 및 검증 데이터세트에 적용되는 기본 할당량을 확인하려면 AWS 일반 참조의 Amazon Bedrock endpoints and quotas에서 Sum of training and validation records를 참조하세요.

사용자 지정 모델을 위한 훈련 및 검증 데이터세트 준비

사용자 지정 모델에 대한 훈련 및 검증 데이터세트를 준비하려면 각 라인이 레코드에 해당하는 JSON 객체인 .jsonl 파일을 만듭니다. 만든 파일은 선택한 사용자 지정 방법 및 모델의 형식을 준수해야 하며, 파일의 레코드는 크기 요구 사항을 준수해야 합니다.

형식은 사용자 지정 방법과 모델의 입력 및 출력 양식에 따라 달라집니다. 선택한 방법에 해당하는 탭을 선택하고 안내된 단계를 따릅니다.

Fine-tuning: Text-to-text

텍스트 투 텍스트 모델의 경우, 훈련 데이터세트를 준비하고 필요한 경우 검증 데이터세트를 준비합니다. 각 JSON 객체는 promptcompletion 필드를 모두 포함하는 샘플입니다. 토큰 개수의 근사치로 토큰당 6자를 사용합니다. 형식은 다음과 같습니다.

{"prompt": "<prompt1>", "completion": "<expected generated text>"} {"prompt": "<prompt2>", "completion": "<expected generated text>"} {"prompt": "<prompt3>", "completion": "<expected generated text>"}

다음은 질문-응답 태스크의 예제 항목입니다.

{"prompt": "what is AWS", "completion": "it's Amazon Web Services"}
Fine-tuning: Text-to-image & Image-to-embeddings

텍스트 투 이미지 또는 이미지 투 임베딩 모델의 경우, 훈련 데이터세트를 준비합니다. 검증 데이터세트는 지원되지 않습니다. 각 JSON 객체는 image-ref, 이미지용 Amazon S3 URI, 이미지용 프롬프트가 될 수 있는 caption이 포함된 샘플입니다.

이미지는 JPEG 또는 PNG 형식이어야 합니다.

{"image-ref": "s3://bucket/path/to/image001.png", "caption": "<prompt text>"} {"image-ref": "s3://bucket/path/to/image002.png", "caption": "<prompt text>"} {"image-ref": "s3://bucket/path/to/image003.png", "caption": "<prompt text>"}

예시는 다음과 같습니다.

{"image-ref": "s3://amzn-s3-demo-bucket/my-pets/cat.png", "caption": "an orange cat with white spots"}

Amazon Bedrock이 이미지 파일에 액세스하도록 허용하려면, 사용자가 설정했거나 콘솔에서 자동으로 설정된 Amazon Bedrock 모델 사용자 지정 서비스 역할에 대한 (S3의 훈련 및 검증 파일에 액세스하고 S3에 출력 파일을 쓸 수 있는 권한 섹션과 유사한) IAM 정책을 추가합니다. 훈련 데이터 세트에 제공하는 Amazon S3 경로는 정책에서 지정하는 폴더에 있어야 합니다.

Continued Pre-training: Text-to-text

텍스트 투 텍스트 모델에 대한 지속적인 사전 훈련을 수행하려면 훈련 데이터세트를 준비하고 필요한 경우 검증 데이터세트를 준비합니다. 지속적인 사전 훈련에는 레이블이 지정되지 않은 데이터가 포함되므로 각 JSON 라인은 input 필드만 포함하는 샘플입니다. 토큰 개수의 근사치로 토큰당 6자를 사용합니다. 형식은 다음과 같습니다.

{"input": "<input text>"} {"input": "<input text>"} {"input": "<input text>"}

다음은 훈련 데이터에 포함될 수 있는 예제 항목입니다.

{"input": "AWS stands for Amazon Web Services"}
Fine-tuning: Single-turn messaging

단일 턴 메시징 형식을 사용하여 텍스트 투 텍스트 모델을 미세 조정하려면 훈련 데이터세트를 준비하고 필요한 경우 검증 데이터세트를 준비합니다. 두 데이터 파일 모두 JSONL 형식이어야 합니다. 각 라인은 json 형식으로 전체 데이터 샘플을 지정하며, 각 데이터 샘플은 한 줄로 포맷되어야 합니다(각 샘플 내에서 모든 '\n' 제거). 1개의 라인에 여러 개의 데이터 샘플이 있거나 데이터 샘플이 여러 줄로 분할된 경우 작동하지 않습니다.

필드

  • system (선택 사항) : 대화의 컨텍스트를 설정하는 시스템 메시지가 포함된 문자열입니다.

  • messages : 메시지 객체 배열로, 각각 다음을 포함합니다.

    • role : user 또는 assistant 중 하나입니다.

    • content : 메시지의 텍스트 내용입니다.

규칙

  • messages 배열에는 2개의 메시지가 포함되어야 합니다.

  • 첫 번째 메시지에는 사용자의 role이 있어야 합니다.

  • 마지막 메시지에는 어시스턴트의 role이 있어야 합니다.

{"system": "<system message>","messages":[{"role": "user", "content": "<user query>"},{"role": "assistant", "content": "<expected generated text>"}]}

{"system": "You are an helpful assistant.","messages":[{"role": "user", "content": "what is AWS"},{"role": "assistant", "content": "it's Amazon Web Services."}]}
Fine-tuning: Multi-turn messaging

멀티 턴 메시징 형식을 사용하여 텍스트 투 텍스트 모델을 미세 조정하려면 훈련 데이터세트를 준비하고 필요한 경우 검증 데이터세트를 준비합니다. 두 데이터 파일 모두 JSONL 형식이어야 합니다. 각 라인은 json 형식으로 전체 데이터 샘플을 지정하며, 각 데이터 샘플은 한 줄로 포맷되어야 합니다(각 샘플 내에서 모든 '\n' 제거). 1개의 라인에 여러 개의 데이터 샘플이 있거나 데이터 샘플이 여러 줄로 분할된 경우 작동하지 않습니다.

필드

  • system (선택 사항) : 대화의 컨텍스트를 설정하는 시스템 메시지가 포함된 문자열입니다.

  • messages : 메시지 객체 배열로, 각각 다음을 포함합니다.

    • role : user 또는 assistant 중 하나입니다.

    • content : 메시지의 텍스트 내용입니다.

규칙

  • messages 배열에는 최소 2개의 메시지가 포함되어야 합니다.

  • 첫 번째 메시지에는 사용자의 role이 있어야 합니다.

  • 마지막 메시지에는 어시스턴트의 role이 있어야 합니다.

  • 메시지는 userassistant 역할을 번갈아 사용해야 합니다.

{"system": "<system message>","messages":[{"role": "user", "content": "<user query 1>"},{"role": "assistant", "content": "<expected generated text 1>"}, {"role": "user", "content": "<user query 2>"},{"role": "assistant", "content": "<expected generated text 2>"}]}

{"system": "system message","messages":[{"role": "user", "content": "Hello there."},{"role": "assistant", "content": "Hi, how can I help you?"},{"role": "user", "content": "what are LLMs?"},{"role": "assistant", "content": "LLM means large language model."},]}

탭을 선택하여 모델의 훈련 및 검증 데이터세트에 대한 요구 사항을 확인합니다.

Amazon Titan Text Premier
설명 최대(미세 조정)
배치 크기가 1인 경우 입력 및 출력 토큰의 합계 4,096
배치 크기가 2, 3 또는 4인 경우 입력 및 출력 토큰의 합계 N/A
데이터 세트 내 샘플당 문자 할당량 토큰 할당량 x 6
훈련 데이터 세트 파일 크기 1GB
검증 데이터 세트 파일 크기 100MB
Amazon Titan Text G1 - Express
설명 최대(지속적인 사전 훈련) 최대(미세 조정)
배치 크기가 1인 경우 입력 및 출력 토큰의 합계 4,096 4,096
배치 크기가 2, 3 또는 4인 경우 입력 및 출력 토큰의 합계 2,048 2,048
데이터 세트 내 샘플당 문자 할당량 토큰 할당량 x 6 토큰 할당량 x 6
훈련 데이터 세트 파일 크기 10GB 1GB
검증 데이터 세트 파일 크기 100MB 100MB
Amazon Titan Text G1 - Lite
설명 최대(지속적인 사전 훈련) 최대(미세 조정)
배치 크기가 1 또는 2인 경우 입력 및 출력 토큰의 합계 4,096 4,096
배치 크기가 3, 4, 5, 또는 6인 경우 입력 및 출력 토큰의 합계 2,048 2,048
데이터 세트 내 샘플당 문자 할당량 토큰 할당량 x 6 토큰 할당량 x 6
훈련 데이터 세트 파일 크기 10GB 1GB
검증 데이터 세트 파일 크기 100MB 100MB
Amazon Titan Image Generator G1 V1
설명 최소(미세 조정) 최대(미세 조정)
훈련 샘플의 텍스트 프롬프트 길이(글자 수 기준) 3 1,024
훈련 데이터세트의 레코드 5 10,000
입력 이미지 크기 0 50MB
입력 이미지 높이(픽셀) 512 4,096
입력 이미지 너비(픽셀) 512 4,096
입력 이미지 총 픽셀 0 12,582,912
입력 이미지 종횡비 1:4 4:1
Amazon Titan Multimodal Embeddings G1
설명 최소(미세 조정) 최대(미세 조정)
훈련 샘플의 텍스트 프롬프트 길이(글자 수 기준) 0 2,560
훈련 데이터세트의 레코드 1,000 500,000
입력 이미지 크기 0 5MB
입력 이미지 높이(픽셀) 128 4096
입력 이미지 너비(픽셀) 128 4096
입력 이미지 총 픽셀 0 12,528,912
입력 이미지 종횡비 1:4 4:1
Cohere Command
설명 최대(미세 조정)
입력 토큰 4,096
출력 토큰 2,048
데이터 세트 내 샘플당 문자 할당량 토큰 할당량 x 6
훈련 데이터세트의 레코드 10,000
검증 데이터세트의 레코드 1,000
Meta Llama 2
설명 최대(미세 조정)
입력 토큰 4,096
출력 토큰 2,048
데이터 세트 내 샘플당 문자 할당량 토큰 할당량 x 6
Meta Llama 3.1
설명 최대(미세 조정)
입력 토큰 16,000
출력 토큰 16,000
데이터 세트 내 샘플당 문자 할당량 토큰 할당량 x 6