[SageMaker] SageMaker Jumpstart의 Custom dataset을 통해 LLM 평가하기

Sagemaker 환경에서 Custom dataset을 통해 모델의 성능을 평가합니다.

LLM Evaluation

AWS에서 제공하는 공개 데이터 셋을 통해 LLM 모델의 성능 평가를 테스트해보았습니다.해당 자료에서는 사용자가 가지고 있는 데이터를 통해 Jumpstart에서 모델을 평가할 수 있도록 구현 해볼 예정입니다.Amazon SageMaker JumpStart는 SageMaker Studio의 Amazon SageMaker Clarify 기초 모델 평가(FMEval)와 통합되어 있습니다. JumpStart 모델에 사용 가능한 평가 기능이 내장되어 있는 경우 이 모델을 평가할 수 있습니다.

Prerequisite

추가적으로 Public Dataset과는 다르게, 사전 정의된 데이터를 활용해야하므로 Jupyter notebook 환경을 만들어 테스트 데이터를 다운로드합니다.

이후 환경을 실행시킵니다.

생성된 환경으로 접속합니다.

상단의 Git Clone Repo를 통해 테스트하기 위한 코드를 가져와 실행시켜야합니다.https://github.com/aws-samples/genai-for-builders.git

이후 현재 디렉토리에서 prerequisites > runme.ipynb 을 실행합니다.

Process

Jumpstart 모델 선택

Jumpstart로 이동합니다.

클릭하면 다음과 같은 화면을 확인할 수 있습니다.그 중에서 OpenSource로 유명한 Meta의 Llama 모델을 사용하여 테스트를 진행할 예정입니다.[Meta의 Llama3 8b 모델을 사용하여 테스트 하였습니다.]

모델 평가 과정

1단계: 작업 세부정보 지정

작업에 대한 이름과 설명을 추가합니다.모델과 수행 중인 평가 유형을 설명하는 이름을 선택하세요. 이 이름은 평가 결과 및 아티팩트가 생성된 후 저장하기 위한 폴더를 생성하는 데 사용됩니다.

2단계: 평가 파라미터 설정

다음과 같은 5개의 파라미터를 설정해야합니다.

평가 유형

AWS에서 자동화된 Automatic 혹은 사람이 직접 작업하는 방식이 있습니다.현재 테스트에서는 AWS에서 제공하는 Automatic evaluation 활용하여 수행하도록 하겠습니다.

작업 유형 선택

모든 작업 유형에는 권장 지표 및 지표 유형이 제공됩니다. 평가 기준에 맞게 사용자 정의 지표 생성을 포함하여 지표를 추가, 편집 및 제거할 수 있습니다.Automatic을 선택했으므로 몇 가지 사전 정의된 평가 기준이 존재합니다.Q&A 방식을 선택하여 모델이 실제 자연어 질문에 맞게 답변을 제공하는지 평가합니다.
이전에 사전 정의된 데이터셋을 사용한 것과는 달리 이번에는 사용자가 가지고 있는 데이터셋을 활용합니다.

데이터 세트는 다음 위치에 있습니다. s3://sagemaker--<account_id>/datasets/sciq/evaluation/automatic_small/dataset_evaluation_small.jsonl

나머지 2개의 지표에 대해서도 동일한 Location을 지정합니다

3단계: Review and Submit

도메인 구성과 파라미터가 올바른지 확인합니다.

이후 Submit을 누르면 SageMaker Endpoint가 생성되며 작업이 진행됩니다.

이때 AWS GPU가 부족한 경우 에러가 발생할 경우가 있습니다.Jobs 콘솔 상으로는 따로 에러메시지를 참고할 수 없어 작업이 실패한 경우 Sagemaker Endpoint를 참고해보실 것을 권장드립니다.

모델 평가 결과

작업이 완료되면 다음과 같은 결과를 확인해볼 수 있습니다.

모델의 성능에 대한 리포트로 다음과 같이 출력되며, 생성된 Job에서도 확인할 수 있습니다.