풀스택 개발자 R씨는 최근 기업용 거대언어모델(LLM)을 사내 데이터로 파인튜닝하는 과정에서 데이터 거버넌스와 보안 정책 사이의 딜레마에 빠졌다. 데이터를 안전하게 관리하기 위해 도입한 데이터 통합 관리 도구가 외부 학습 서비스와 연동될 때마다 권한 설정이 꼬이거나, 학습 데이터의 출처가 불분명해지는 문제가 발생하기 때문이다. 이런 곤란을 겪는 개발자가 늘고 있다.
데이터 거버넌스와 학습 서비스의 통합
이번에 공개된 통합 워크플로우는 Databricks Unity Catalog(데이터와 메타데이터의 권한을 중앙에서 관리하는 도구)와 Amazon SageMaker AI(머신러닝 모델을 구축, 학습, 배포하는 클라우드 서비스)를 결합하여 보안 문제를 해결한다. 핵심은 데이터가 Amazon S3(AWS의 객체 스토리지 서비스)에 저장되어 있더라도, Unity Catalog의 세밀한 권한 모델을 우회하지 않고 학습을 진행하는 것이다. 이를 위해 EMR Serverless(서버 관리 없이 빅데이터 처리를 수행하는 서비스)를 전처리 단계에 배치하여 데이터 계보를 유지한다. 학습 대상 모델은 Ministral-3-3B-Instruct(Mistral AI에서 개발한 경량 언어 모델)이며, 학습 완료 후 결과물은 다시 Unity Catalog로 등록된다.
기존 방식과의 차이점
예전에는 SageMaker AI 학습 작업이 S3 객체에 직접 접근하면서 Unity Catalog의 권한 체계를 우회하는 경우가 많았다. 이 방식은 어떤 데이터가 어떤 모델을 학습시켰는지에 대한 가시성을 떨어뜨려 규제 산업이나 프로덕션 환경에서 심각한 컴플라이언스 위험을 초래했다. 이제는 Unity Catalog의 Open REST API와 AWS Secrets Manager(비밀번호나 API 키를 안전하게 저장하는 서비스)에 저장된 OAuth(인터넷 서비스에서 사용자 인증을 위한 표준 프로토콜) 자격 증명을 사용하여, 서비스 주체(Service Principal)가 권한을 위임받아 안전하게 데이터에 접근한다. 데이터 전처리부터 모델 등록까지 전체 과정이 중앙 거버넌스 하에 놓이게 된 것이다.
실제 구현을 위한 설정
개발자가 바로 체감하는 변화는 데이터 계보 추적과 보안 설정의 자동화다. 전체 구현 코드는 LLM_Finetunig_SageMaker_AI_Unity_Catalog.ipynb에서 확인할 수 있다. 우선 Databricks에서 서비스 주체를 생성하고 OAuth Secret을 발급받아 AWS Secrets Manager에 저장해야 한다. 이후 EMR Serverless와 SageMaker AI 실행을 위한 IAM(AWS 리소스 접근 권한 관리 서비스) 역할을 다음과 같이 구성한다.
bash
EMR Serverless Runtime Role 예시
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:ListBucket"],
"Resource": ["arn:aws:s3:::your-bucket-name/*"]
}
]
}
bash
SageMaker AI Execution Role 예시
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["secretsmanager:GetSecretValue"],
"Resource": ["arn:aws:secretsmanager:region:account-id:secret:your-secret"]
}
]
}
데이터는 SEC EDGAR(미국 증권거래위원회의 기업 공시 데이터베이스)에서 2023~2024년 S&P 500 기업의 10-K 및 10-Q 보고서를 추출하여 사용한다. Databricks SDK(소프트웨어 개발 키트)를 통해 Unity Catalog 테이블에 접근하여 전처리를 수행하고, 최종적으로 학습된 모델 아티팩트를 다시 Unity Catalog 관리 S3 버킷으로 전달하는 구조다.
데이터 거버넌스를 포기하지 않고도 최신 LLM 파인튜닝을 수행할 수 있는 표준 경로가 확보되었다.




