차례[숨다][보여 주다]
- 1. MLOps는 무엇을 의미합니까?
- 2. 데이터 과학자, 데이터 엔지니어 및 ML 엔지니어는 서로 어떻게 다릅니까?
- 3. MLOps와 ModelOps 및 AIOps의 차이점은 무엇입니까?
- 4. MLOps의 이점에 대해 말씀해 주시겠습니까?
- 5. MLOps의 구성 요소를 알려주실 수 있습니까?
- 6. 데이터 과학을 사용하면 어떤 위험이 따르나요?
- 7. 모델 드리프트가 무엇인지 설명해 주시겠습니까?
- 8. MLOps를 얼마나 다양한 방식으로 적용할 수 있다고 생각하십니까?
- 9. 정적 배포와 동적 배포의 차이점은 무엇입니까?
- 10. 어떤 생산 테스트 기술을 알고 있습니까?
- 11. 스트림 처리와 일괄 처리의 차이점은 무엇입니까?
- 12. 학습 서빙 편향이란 무엇을 의미합니까?
- 13. 모델 레지스트리란 무엇을 의미합니까?
- 14. 모델 레지스트리의 이점에 대해 자세히 설명해 주시겠습니까?
- 15. Champion-Challenger 기법에 대해 설명해 주시겠습니까?
- 16. MLOps 수명 주기의 엔터프라이즈 수준 애플리케이션에 대해 설명하십시오.
- 결론
기업은 정보 및 서비스에 대한 대중의 접근성을 높이기 위해 인공 지능(AI) 및 기계 학습(ML)과 같은 신기술을 더 자주 사용하고 있습니다.
이러한 기술은 은행, 금융, 소매, 제조 및 의료를 포함한 다양한 부문에서 점점 더 많이 사용되고 있습니다.
데이터 과학자, 기계 학습 엔지니어 및 인공 지능 엔지니어는 점점 더 많은 회사에서 요구하고 있습니다.
가능성을 아는 것 기계 학습 ML 또는 MLOps 분야에서 일하고 싶다면 채용 관리자와 채용 담당자가 제기할 수 있는 운영 인터뷰 질문이 필수적입니다.
꿈의 직업을 얻기 위해 노력하면서 이 게시물에서 일부 MLOps 인터뷰 질문에 응답하는 방법을 배울 수 있습니다.
1. MLOps는 무엇을 의미합니까?
ML 모델을 운영하는 주제는 보다 주요한 AI/DS/ML 분야 내에서 개발 중인 분야인 기계 학습 운영으로도 알려진 MLOps의 초점입니다.
MLOps로 알려진 소프트웨어 엔지니어링 접근 방식 및 문화의 주요 목표는 기계 학습/데이터 과학 모델의 생성과 후속 운영화(Ops)를 통합하는 것입니다.
기존 DevOps와 MLOps는 특정 유사점을 공유하지만 MLOps는 기존 DevOps와도 크게 다릅니다.
MLOps는 데이터에 중점을 두어 새로운 복잡성 계층을 추가하는 반면 DevOps는 주로 상태 저장이 불가능한 코드 및 소프트웨어 릴리스 운영에 중점을 둡니다.
ML, 데이터 및 운영의 조합은 MLOps에 일반적인 이름(기계 학습, 데이터 엔지니어링 및 DevOps)을 제공합니다.
2. 데이터 과학자, 데이터 엔지니어 및 ML 엔지니어는 서로 어떻게 다릅니까?
제 생각에는 회사에 따라 다릅니다. 데이터의 전송 및 변환과 저장을 위한 환경은 데이터 엔지니어에 의해 구축됩니다.
데이터 과학자는 과학 및 통계 기술을 활용하여 데이터를 분석하고 결론을 도출하는 데 전문가입니다. 여기에는 현재 진행 중인 추세를 기반으로 미래 행동에 대한 예측을 포함합니다.
소프트웨어 엔지니어는 몇 년 전에 운영 및 배포 인프라 관리를 연구했습니다. 반면 운영팀은 인프라를 코드로 사용하면서 개발을 연구하고 있었습니다. DevOps 위치는 이 두 가지 흐름에 의해 생성되었습니다.
MLOps는 다음과 같은 범주에 속합니다. 데이터 과학자 그리고 데이터 엔지니어. 데이터 엔지니어는 모델 수명 주기를 지원하고 지속적인 교육을 위한 파이프라인을 만드는 데 필요한 인프라에 대한 지식을 얻고 있습니다.
데이터 과학자는 모델 배포 및 점수 매기기 기능을 개발하려고 합니다.
프로덕션 등급 데이터 파이프라인은 원시 데이터를 데이터 과학 모델에 필요한 입력으로 변환하고, 모델을 호스팅 및 실행하고, 점수가 매겨진 데이터 세트를 다운스트림 시스템으로 출력하는 인프라를 활용하는 ML 엔지니어에 의해 구축됩니다.
데이터 엔지니어와 데이터 과학자 모두 ML 엔지니어가 될 수 있습니다.
3. MLOps와 ModelOps 및 AIOps의 차이점은 무엇입니까?
종단간 시공시 기계 학습 알고리즘, MLOps는 데이터 수집, 데이터 전처리, 모델 생성, 생산 시 모델 배포, 생산 시 모델 모니터링, 모델 주기적 업그레이드를 포함하는 DevOps 애플리케이션입니다.
규칙 기반 모델과 같은 알고리즘의 전체 구현을 처리하는 데 DevOps를 사용하는 것을 ModelOps라고 합니다.
AI 작전 DevOps 원칙을 활용하여 처음부터 AI 앱을 만들고 있습니다.
4. MLOps의 이점에 대해 말씀해 주시겠습니까?
- MLOps는 MDLC(모델 개발 수명 주기)에서 모든 또는 대부분의 작업/단계를 자동화하는 데 도움이 되므로 데이터 과학자와 MLOps 개발자는 평가판을 신속하게 다시 실행하여 모델이 적절하게 훈련되고 평가되도록 할 수 있습니다. 추가 허가 데이터 및 모델 버전 관리.
- MLOps 아이디어를 실행하면 데이터 엔지니어와 데이터 과학자는 모델 개발을 기하급수적으로 가속화하는 구축 및 선별된 데이터 세트에 무제한 액세스할 수 있습니다.
- 데이터 과학자는 모델 감사 추적을 크게 향상시키는 모델 및 데이터 세트의 버전 관리 기능 덕분에 현재 반복이 기대에 미치지 못하는 경우 성능이 더 좋은 모델로 대체할 수 있습니다.
- MLOps 방법은 DevOps에 크게 의존하기 때문에 여러 CI/CD 개념도 통합하여 코드의 품질과 신뢰성.
5. MLOps의 구성 요소를 알려주실 수 있습니까?
디자인: MLOps에는 디자인 사고가 많이 포함됩니다. 문제의 특성부터 시작하여 가설 테스트, 아키텍처 및 배포
모델 구축: 모델 테스트 및 검증은 최고의 기계 학습 시스템을 설정하기 위한 데이터 엔지니어링 파이프라인 및 실험과 함께 이 단계의 일부입니다.
행정부: 모델은 작업의 일부로 구현되어야 하며 지속적으로 확인 및 평가되어야 합니다. 그런 다음 오케스트레이션 도구를 사용하여 CI/CD 프로세스를 모니터링하고 시작합니다.
6. 데이터 과학을 사용하면 어떤 위험이 따르나요?
- 회사 전체에서 모델을 확장하는 것은 어렵습니다.
- 경고 없이 모델이 종료되고 작동이 중지됩니다.
- 대부분 모델의 정확도는 시간이 지남에 따라 악화됩니다.
- 이 모델은 더 이상 조사할 수 없는 특정 관찰을 기반으로 부정확한 예측을 합니다.
- 데이터 과학자도 모델을 유지해야 하지만 비용이 많이 듭니다.
- MLOps를 사용하여 이러한 위험을 줄일 수 있습니다.
7. 모델 드리프트가 무엇인지 설명해 주시겠습니까?
모델의 추론 단계 성능(실제 데이터 사용)이 훈련 단계 성능에서 저하되면 이를 모델 드리프트라고 하며 아이디어 드리프트(이력 레이블 데이터 사용)라고도 합니다.
모델의 성능은 훈련 및 제공 단계와 비교하여 왜곡되어 있으므로 "훈련/제공 왜곡"이라는 이름이 붙었습니다.
다음을 포함한 다양한 요인:
- 데이터가 배포되는 근본적인 방식이 변경되었습니다.
- 교육은 소수의 범주에 초점을 맞추었지만 방금 발생한 환경 변화로 인해 다른 영역이 추가되었습니다.
- NLP 난이도에서 실제 데이터는 교육 데이터보다 훨씬 많은 양의 토큰을 가지고 있습니다.
- COVID-19 전염병 동안 수집된 데이터에서 훨씬 더 나쁜 성능을 발휘할 것으로 예상되는 COVID-XNUMX 이전 데이터를 기반으로 구축된 모델과 같은 예기치 않은 발생.
모델 드리프트를 식별하려면 모델의 성능을 지속적으로 모니터링해야 합니다.
모델 성능이 지속적으로 저하되는 경우 거의 항상 모델 재교육이 해결책으로 필요합니다. 쇠퇴의 원인을 파악하고 적절한 치료 절차를 사용해야 합니다.
8. MLOps를 얼마나 다양한 방식으로 적용할 수 있다고 생각하십니까?
MLOps를 실행하는 세 가지 방법이 있습니다.
MLOps 수준 0(수동 프로세스): 이 수준에서는 데이터 준비, 분석 및 교육을 포함한 모든 단계가 수동으로 수행됩니다. 각 단계는 수동으로 수행해야 하며 한 단계에서 다음 단계로 전환해야 합니다.
기본 전제는 데이터 과학 팀이 자주 업데이트되지 않는 소수의 모델만 관리한다는 것입니다.
결과적으로 CI(지속적 통합) 또는 CD(지속적 배포)가 없으며 코드 테스트는 일반적으로 스크립트 실행 또는 노트북 실행에 통합되며 배포는 REST API.
MLOps 레벨 1(ML 파이프라인 자동화): ML 프로세스를 자동화하여 모델(CT)을 지속적으로 학습시키는 것이 목표입니다. 이러한 방식으로 지속적인 모델 예측 서비스 제공을 수행할 수 있습니다.
전체 교육 파이프라인을 배포하면 모델이 활성 파이프라인 트리거를 기반으로 하는 새 데이터를 활용하여 프로덕션 환경에서 자동으로 교육됩니다.
MLOps 레벨 2(CI/CD 파이프라인 자동화): MLOps 수준보다 한 단계 위입니다. 생산 중인 파이프라인을 빠르고 안정적으로 업데이트하려면 강력하고 자동화된 CI/CD 시스템이 필요합니다.
- 소스 코드를 생성하고 CI 단계 전체에서 수많은 테스트를 실행합니다. 패키지, 실행 파일 및 아티팩트는 나중에 배포되는 단계의 출력입니다.
- CI 단계에서 생성된 아티팩트는 CD 단계에서 대상 환경에 배포됩니다. 수정된 모델 구현이 포함된 배포된 파이프라인이 단계의 출력입니다.
- 파이프라인이 실험의 새로운 반복을 시작하기 전에 데이터 과학자는 여전히 데이터 및 모델 분석 단계를 수동으로 수행해야 합니다.
9. 정적 배포와 동적 배포의 차이점은 무엇입니까?
모델은 오프라인에서 학습됩니다. 정적 배포. 즉, 모델을 정확히 한 번 훈련한 다음 한동안 활용합니다. 모델이 로컬에서 학습된 후 저장되어 서버로 전송되어 실시간 예측을 생성하는 데 사용됩니다.
그런 다음 모델은 설치 가능한 응용 프로그램 소프트웨어로 배포됩니다. 예를 들어 요청의 일괄 채점을 허용하는 프로그램입니다.
모델은 다음을 위해 온라인으로 학습됩니다. 동적 배포. 즉, 새로운 데이터가 시스템에 지속적으로 추가되고 있으며 이를 설명하기 위해 모델이 지속적으로 업데이트됩니다.
결과적으로 주문형 서버를 사용하여 예측을 할 수 있습니다. 그 후 모델은 다음과 같은 웹 프레임워크를 사용하여 사용자 쿼리에 반응하는 API 엔드포인트로 제공되어 사용됩니다. 플라스크 또는 FastAPI.
10. 어떤 생산 테스트 기술을 알고 있습니까?
배치 테스트: 훈련 환경과 다른 환경에서 테스트를 진행하여 모델을 검증합니다. 정확도, RMSE 등과 같은 선택 메트릭을 사용하여 데이터 샘플 그룹에 대해 일괄 테스트를 수행하여 모델 추론을 확인합니다.
일괄 테스트는 테스트 서버, 원격 서버 또는 클라우드와 같은 다양한 컴퓨팅 플랫폼에서 수행할 수 있습니다. 일반적으로 모델은 객체로 로드되고 테스트 데이터에서 추론되는 직렬화된 파일로 제공됩니다.
A / B 테스트: 마케팅 캠페인 분석 및 서비스(웹사이트, 모바일 어플리케이션 등) 디자인에 자주 사용됩니다.
회사 또는 운영을 기반으로 통계적 접근 방식을 사용하여 A/B 테스트 결과를 분석하여 어떤 모델이 생산에서 더 잘 수행될지 결정합니다. 일반적으로 A/B 테스트는 다음과 같은 방식으로 수행됩니다.
- 라이브 또는 실시간 데이터는 세트 A와 세트 B의 두 세트로 분할되거나 분할됩니다.
- 세트 A 데이터는 오래된 모델로 전송되고 세트 B 데이터는 업데이트된 모델로 전송됩니다.
- 비즈니스 사용 사례 또는 프로세스에 따라 여러 통계적 접근 방식을 사용하여 모델 성능(예: 정확도, 정밀도 등)을 평가하여 새 모델(모델 B)이 이전 모델(모델 A)보다 우수한지 여부를 확인할 수 있습니다.
- 그런 다음 통계적 가설 테스트를 수행합니다. 귀무 가설은 새 모델이 모니터링 중인 비즈니스 지표의 평균 값에 영향을 미치지 않는다고 말합니다. 대립 가설에 따르면 새 모델은 모니터링 비즈니스 지표의 평균 값을 증가시킵니다.
- 마지막으로 새로운 모델이 특정 비즈니스 KPI를 크게 개선하는지 평가합니다.
그림자 또는 단계 테스트: 모델은 프로덕션(스테이징 환경)에서 사용되기 전에 프로덕션 환경의 복제본에서 평가됩니다.
이는 실시간 데이터로 모델의 성능을 결정하고 모델의 복원력을 검증하는 데 중요합니다. 프로덕션 파이프라인과 동일한 데이터를 유추하고 개발된 브랜치 또는 테스트할 모델을 스테이징 서버에 전달하여 수행됩니다.
유일한 단점은 스테이징 서버에서 비즈니스 선택이 이루어지지 않거나 개발 분기의 결과로 최종 사용자에게 표시되지 않는다는 것입니다.
모델의 탄력성과 성능은 적절한 메트릭을 사용하는 준비 환경의 결과를 사용하여 통계적으로 평가됩니다.
11. 스트림 처리와 일괄 처리의 차이점은 무엇입니까?
배치 및 스트림의 두 가지 처리 방법을 사용하여 실시간 예측을 생성하는 데 활용하는 특성을 조작할 수 있습니다.
일괄 처리 특정 객체에 대한 이전 시점의 특징을 실시간 예측 생성에 활용합니다.
- 여기에서 오프라인에서 집중적인 기능 계산을 수행하고 빠른 추론을 위해 데이터를 준비할 수 있습니다.
- 그러나 기능은 과거에 미리 결정된 이후의 나이입니다. 예후가 최근 발생을 기반으로 하는 경우 이는 큰 단점이 될 수 있습니다. (예를 들어 가능한 한 빨리 사기 거래를 식별합니다.)
특정 엔터티에 대한 거의 실시간 스트리밍 기능을 통해 추론은 주어진 입력 집합에 대한 스트림 처리에서 수행됩니다.
- 여기에서 모델에 실시간 스트리밍 기능을 제공함으로써 보다 정확한 예측을 얻을 수 있습니다.
- 그러나 스트림 처리 및 데이터 스트림(Kafka, Kinesis 등)을 유지하려면 추가 인프라가 필요합니다. (아파치 플링크, 빔 등)
12. 학습 서빙 편향이란 무엇을 의미합니까?
서빙할 때의 성능과 훈련 중 성능 간의 차이를 훈련-서빙 편향이라고 합니다. 이 왜곡은 다음 요인에 의해 유발될 수 있습니다.
- 제공 및 학습을 위한 파이프라인 간에 데이터를 처리하는 방법의 차이.
- 교육에서 서비스로 데이터가 이동합니다.
- 알고리즘과 모델 간의 피드백 채널입니다.
13. 모델 레지스트리란 무엇을 의미합니까?
모델 레지스트리는 모델 작성자가 프로덕션에 사용하기에 적합한 모델을 게시할 수 있는 중앙 리포지토리입니다.
개발자는 다른 팀 및 이해 관계자와 협력하여 레지스트리를 사용하여 비즈니스 내부의 모든 모델 수명을 관리할 수 있습니다. 학습된 모델은 데이터 과학자가 모델 레지스트리에 업로드할 수 있습니다.
모델은 일단 등록되면 테스트, 검증 및 생산에 대한 배포를 위해 준비됩니다. 또한 학습된 모델은 통합 애플리케이션 또는 서비스에서 빠르게 액세스할 수 있도록 모델 레지스트리에 저장됩니다.
모델을 테스트, 평가 및 프로덕션에 배포하려면 소프트웨어 개발자 검토자는 (평가 기준에 따라) 훈련된 모델의 최상의 버전을 빠르게 인식하고 선택할 수 있습니다.
14. 모델 레지스트리의 이점에 대해 자세히 설명해 주시겠습니까?
다음은 모델 레지스트리가 모델 수명 주기 관리를 간소화하는 몇 가지 방법입니다.
- 더 쉽게 배포하려면 학습된 모델에 대한 런타임 요구 사항 및 메타데이터를 저장하십시오.
- 교육, 배포 및 폐기된 모델은 검색 가능한 중앙 집중식 리포지토리에 등록, 추적 및 버전 지정되어야 합니다.
- 프로덕션 모델의 지속적인 제공, 교육 및 통합을 가능하게 하는 자동화된 파이프라인을 만듭니다.
- 스테이징 환경에서 새로 훈련된 모델(또는 도전자 모델)을 현재 프로덕션에서 작동 중인 모델(챔피언 모델)과 비교합니다.
15. Champion-Challenger 기법에 대해 설명해 주시겠습니까?
Champion Challenger 기술을 사용하여 프로덕션에서 다양한 운영 결정을 테스트할 수 있습니다. 마케팅 맥락에서 A/B 테스트에 대해 들어보셨을 것입니다.
예를 들어 이메일 캠페인의 오픈율을 최대화하기 위해 두 개의 별개의 제목을 작성하고 대상 인구 통계에 무작위로 배포할 수 있습니다.
시스템은 제목과 관련하여 이메일의 성능(예: 이메일 열기 작업)을 기록하므로 각 제목의 열기 비율을 비교하여 가장 효과적인 것을 결정할 수 있습니다.
Champion-Challenger는 이와 관련하여 A/B 테스트와 유사합니다. 결정 논리를 사용하여 각 결과를 평가하고 다양한 방법을 실험하면서 가장 효과적인 결과를 선택할 수 있습니다.
가장 성공적인 모델은 챔피언과 관련이 있습니다. 첫 번째 도전자와 일치하는 도전자 목록은 이제 챔피언 대신 첫 번째 실행 단계에 있는 모든 것입니다.
추가 작업 단계 실행을 위해 시스템에서 챔피언을 선택합니다.
도전자들은 서로 대조됩니다. 새로운 챔피언은 최고의 결과를 내는 도전자에 의해 결정됩니다.
챔피언-챌린저 비교 프로세스와 관련된 작업은 아래에 자세히 나열되어 있습니다.
- 각각의 라이벌 모델을 평가합니다.
- 최종 점수를 평가합니다.
- 평가 결과를 비교하여 승리한 도전자를 설정합니다.
- 아카이브에 새로운 챔피언 추가
16. MLOps 수명 주기의 엔터프라이즈 수준 애플리케이션에 대해 설명하십시오.
기계 학습 모델이 프로덕션에 들어가기 위해서는 기계 학습을 반복 실험으로만 간주하는 것을 중단해야 합니다. MLOps는 소프트웨어 엔지니어링과 기계 학습의 결합입니다.
완성된 결과는 그렇게 상상되어야 합니다. 따라서 기술 제품의 코드는 테스트되고 기능적이며 모듈화되어야 합니다.
MLOps는 모델이 프로덕션까지 프로세스에 유지된다는 점을 제외하면 기존 기계 학습 흐름과 비슷한 수명을 가집니다.
그런 다음 MLOps 엔지니어는 프로덕션의 모델 품질이 의도한 바인지 확인하기 위해 이를 주시합니다.
다음은 여러 MLOps 기술에 대한 몇 가지 사용 사례입니다.
- 모델 레지스트리: 보이는 그대로입니다. 대규모 팀은 모델 레지스트리에서 버전 모델을 추적하고 유지합니다. 이전 버전으로 돌아가는 것도 옵션입니다.
- Feature Store: 더 큰 데이터 세트를 처리할 때 특정 작업을 위한 별도의 분석 데이터 세트 및 하위 집합 버전이 있을 수 있습니다. 기능 저장소는 이전 실행 또는 다른 팀의 데이터 준비 작업을 사용하는 최첨단의 세련된 방법입니다.
- 메타데이터 저장: 그림 및 텍스트 데이터와 같은 구조화되지 않은 데이터를 성공적으로 사용하려면 생산 전반에 걸쳐 메타데이터를 올바르게 모니터링하는 것이 중요합니다.
결론
대부분의 경우 면접관은 시스템을 찾고 있는 반면 응시자는 솔루션을 찾고 있다는 점을 명심하는 것이 중요합니다.
첫 번째는 귀하의 기술 능력에 기반을 두고 있으며 두 번째는 귀하의 역량을 입증하기 위해 사용하는 방법에 관한 것입니다.
면접관이 당면한 문제를 평가하고 해결하려는 방법을 더 잘 이해할 수 있도록 MLOps 면접 질문에 응답할 때 취해야 할 몇 가지 절차가 있습니다.
그들은 올바른 반응보다 잘못된 반응에 더 집중합니다. 솔루션은 스토리를 전달하며 시스템은 지식과 커뮤니케이션 능력을 가장 잘 보여줍니다.
댓글을 남겨주세요.