QGate-Sln-MLRun
MLRun(및 Iguazio) 솔루션의 품질 게이트입니다. 프로젝트의 주요 목표는 다음과 같습니다.
- 독립적인 품질 테스트(기능, 통합, 성능, 취약성, 수용성, ... 테스트)
- 회사 환경에서 전체 출시/사용 전 심층적인 품질 검사
- 가능한 호환성 문제 식별(있는 경우)
- 외부 및 독립적 테스트 범위
- 지역사회 지원
- 등.
테스트에서는 이러한 주요 구성 요소를 사용합니다. MLRun 솔루션은 GIT mlrun을 참조하고, 샘플 메타데이터 모델은 GIT qgate-model 및 이 프로젝트를 참조하세요.
테스트 시나리오
품질 게이트는 다음 테스트 시나리오를 다룹니다(✅ 완료, ✔ 진행 중, 계획됨).
- 01 - 프로젝트
- ✅ TS101: 프로젝트 생성
- ✅ TS102: 프로젝트 삭제
- 02 - 기능 세트
- ✅ TS201: 기능 세트 생성
- ✅ TS202: 기능 세트 생성 및 DataFrame 소스에서 수집(1단계)
- ✅ TS203: 기능 세트 생성 및 CSV 소스에서 수집(1단계)
- ✅ TS204: 기능 세트 생성 및 Parquet 소스에서 수집(1단계)
- ✅ TS205: 기능 세트 생성 및 SQL 소스에서 수집(1단계)
- ✔ TS206: 기능 세트 생성 및 Kafka 소스에서 수집(1단계)
- ✔ TS207: 기능 세트 생성 및 HTTP 소스에서 수집(1단계)
- 03 - 데이터 수집
- ✅ TS301: 데이터 수집(미리보기 모드)
- ✅ TS302: DataFrame 소스에서 기능 세트로 데이터를 수집합니다.
- ✅ TS303: CSV 소스에서 기능 세트로 데이터를 수집합니다.
- ✅ TS304: Parquet 소스에서 기능 세트로 데이터 수집
- ✅ TS305: SQL 소스에서 기능 세트로 데이터 수집
- ✔ TS306: Kafka 소스에서 기능 세트로 데이터 수집
- ✔ TS307: HTTP 소스에서 기능 세트로 데이터를 수집합니다.
- 04 - 데이터 및 파이프라인 수집
- ✅ TS401: 데이터 및 파이프라인 수집(미리보기 모드)
- ✅ TS402: DataFrame 소스에서 기능 세트로 데이터 및 파이프라인을 수집합니다.
- ✅ TS403: CSV 소스에서 기능 세트로 데이터 및 파이프라인 수집
- ✅ TS404: Parquet 소스에서 기능 세트로 데이터 및 파이프라인 수집
- ✅ TS405: SQL 소스에서 기능 세트로 데이터 및 파이프라인 수집
- ✔ TS406: Kafka 소스의 기능 세트에 대한 데이터 및 파이프라인 수집
- TS407: HTTP 소스에서 기능 세트로 데이터 및 파이프라인을 수집합니다.
- 05 - 특징 벡터
- 06 - 벡터에서 데이터 가져오기
- ✅ TS601: 오프라인 특징 벡터에서 데이터 가져오기
- ✅ TS602: 온라인 특징 벡터에서 데이터 가져오기
- 07 - 파이프라인
- ✅ TS701: 간단한 파이프라인
- ✅ TS702: 복잡한 파이프라인
- ✅ TS703: 복잡한 파이프라인, 대량 운영
- 08 - 모델 구축
- ✅ TS801: CART 모델 구축
- TS802: XGBoost 모델 구축
- TS803: DNN 모델 구축
- 09 - 서브 모델
- ✅ TS901: CART에서 점수 제공
- TS902: XGBoost에서 점수 제공
- TS903: DNN에서 점수 제공
- 10 - 모델 모니터링/표류
- TS1001: 실시간 모니터링
- TS1002: 일괄 모니터링
- 11 - 성능 테스트
- TS1101: 간단한 파이프라인
- TS1102: 복잡한 파이프라인
- TS11xx: 미정.
참고: 각 테스트 시나리오에는 추가 특정 테스트 사례가 포함되어 있습니다(예: 기능 세트에 대한 다양한 대상 등).
테스트 입력/출력
품질 게이트는 다음 입력/출력을 테스트합니다(✅ 완료, ✔ 진행 중, 계획됨).
- 출력(목표)
- ✅ RedisTarget, ✅ SQLTarget/MySQL, ✔ SQLTarget/Postgres, ✅ KafkaTarget
- ✅ ParquetTarget, ✅ CSVTarget
- ✅ 파일 시스템, S3, BlobStorage
- 입력(소스)
- ✅ 팬더/DataFrame, ✅ SQLSource/MySQL, SQLSource/Postgres, KafkaSource
- ✅ ParquetSource, ✅ CSVSource
- ✅ 파일 시스템, S3, BlobStorage
MLRun에서 현재 지원되는 소스/대상입니다.
출력 샘플
원본 형식의 PART 보고서는 다음을 참조하세요.
- 모두 완료 - HTML, TXT
- 오류가 있는 경우 - HTML, TXT
용법
이 솔루션은 다음 네 단계로 쉽게 사용할 수 있습니다.
- 이 두 GIT 저장소의 콘텐츠를 로컬 환경에 다운로드하세요.
- qgate-model에서
qgate-sln-mlrun.env
파일 업데이트- MLRun/Iguazio용 변수 업데이트
MLRUN_DBPATH
, V3IO_USERNAME
, V3IO_ACCESS_KEY
, V3IO_API
참조)-
V3IO_*
설정은 Iguazio 설치의 경우에만 필요합니다(순수 무료 MLRun의 경우는 아님)
- QGate용 변수 업데이트,
QGATE_*
참조(*.env에서 직접 기본 설명)
-
qgate-sln-mlrun
에서 실행 - 출력 보기(위치는 구성의
QGATE_OUTPUT
기반으로 함)- './output/qgt-mlrun-.html'
- './output/qgt-mlrun-.txt'
전제 조건: 사용 가능한 MLRun 또는 Iguazio 솔루션이 있거나(MLRun이 그 일부임) 공식 설치 단계를 참조하거나 Desktop Docker를 직접 설치해야 합니다.
테스트됨
프로젝트는 다음 MLRun 버전으로 테스트되었습니다(변경 로그 참조).
- MLRun (Kubernates 또는 데스크톱 Docker)
- MLRun 1.8.0(2025년 1분기 계획)
- ✔ MLRun 1.7.0 (? 1.7.1 ?)
- ✅ MLRun 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0
- ✅ MLRun 1.5.2, 1.5.1, 1.5.0
- ✅ MLRun 1.4.1
- ✅ MLRun 1.3.0
- Iguazio (k8s, 온프레미스, VMware 기반 VM)
- ✅ 이과지오 3.5.3(MLRun 1.4.1 포함)
- ✅ 이과지오 3.5.1(MLRun 1.3.0 포함)
참고: 현재 상태에서는 마지막 MLRun/Iguazio 버전만 테스트됩니다(이전 버전과의 호환성은 MLRun/Iguazio를 기반으로 합니다. 참조).
기타
- To-Do , 예상/향후 개선 사항 목록은 다음을 참조하세요.
- 적용된 제한 , 적용된 제한/문제 목록은 다음을 참조하세요.
- 솔루션을 어떻게 테스트할 수 있나요? , Linux 환경에 집중해야 합니다. 또는 WSL2가 설치된 Windows(단계별 튜토리얼 참조)
- MLRun/Iguazio , 간단히 말해서 주요 변경 사항(고객 보기)을 참조하세요.
- MLRun 로컬 설치 , 해킹 보기