RSS DEV 커뮤니티
팔로우
git push에서 Fine-Tuned Model in Production에서
저자는 Nebius AI Cloud에서 모델 미세 조정 및 배포를 자동화하는 GitHub Actions 세트인 nebius-actions를 개발했습니다. 목표는 GitHub에서 단일 버튼 클릭으로 트리거되는 완전 자동화된 파이프라인을 달성하는 것이었습니다. 이 파이프라인은 GPU 인프라를 스핀업하고, 모델을 미세 조정하고, 패키징하고, 엔드포인트에 배포하고, 테스트하고, 모든 리소스를 정리하는 과정을 포함합니다. 데모 워크플로우는 submit, wait, deploy, try, cleanup의 다섯 가지 별도 GitHub 작업을 통해 이를 오케스트레이션합니다. 상태 정보는 작업의 출력을 사용하여 작업 간에 전달됩니다.대부분의 로직을 포함하는 submit 작업은 Axolotl 구성과 bash 스크립트를 인라인으로 생성합니다. 이 스크립트는 Axolotl을 사용하여 미세 조정 프로세스를 처리하고, 어댑터를 패키징하고, serving 이미지를 Nebius Container Registry에 푸시합니다. 또한 각 실행에 대해 새 S3 버킷을 프로비저닝하고 Nebius Job을 생성합니다. 인증은 단기 IAM 토큰을 사용하여 안전하게 관리됩니다.wait 작업은 Nebius GPU 작업의 로그를 스트리밍하고 상태를 폴링하며, 예상치 못한 비용 발생을 방지하기 위해 GitHub 워크플로우가 취소될 경우 GPU 작업을 취소하는 로직을 포함합니다. deploy 작업은 새로 빌드된 이미지를 사용하여 Nebius Endpoint를 생성한 다음, 별도의 wait 작업이 엔드포인트가 준비될 때까지 폴링합니다. try 작업은 엔드포인트의 상태를 확인하고 샘플 API 호출을 수행하여 기능성을 검증하는 간단한 스모크 테스트를 수행합니다. 마지막으로, always 조건으로 실행되는 cleanup 작업은 배포된 엔드포인트와 프로비저닝된 S3 버킷이 삭제되도록 하여 남은 리소스와 클라우드 요금을 방지합니다. 이미지는 잠재적인 재배포를 위해 레지스트리에 남아 있습니다. nebius-actions는 각 액션이 단일 리소스를 관리하는 작고 조합 가능한 빌딩 블록으로 설계되었습니다.