파이프라인 UI를 사용하여 Azure Machine Learning 파이프라인 오류를 디버깅하는 방법

파이프라인을 제출하면 Azure Machine Learning 작업 영역에 파이프라인 작업에 대한 링크가 표시됩니다. 링크를 클릭하면 결과를 확인하고 파이프라인 작업을 디버깅할 수 있는 Azure Machine Learning 스튜디오의 파이프라인 작업 페이지로 이동됩니다.

이 문서에서는 파이프라인 작업 페이지를 사용하여 기계 학습 파이프라인 오류를 디버깅하는 방법을 소개합니다.

Important

이 문서에 표시된 항목(미리 보기)은 현재 퍼블릭 미리 보기에서 확인할 수 있습니다. 미리 보기 버전은 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

아웃라인을 사용하여 빠르게 노드 찾기

파이프라인 작업 세부 정보 페이지에는 파이프라인 작업의 전체 구조를 보여 주는 캔버스에 대한 개요가 있습니다. 아무 행이나 마우스를 가져가면 "찾기" 단추를 선택하여 캔버스에서 해당 노드를 찾을 수 있습니다.

Screenshot showing outline and locate in the canvas.

실패하거나 완료된 노드를 필터링하고 추가 검색을 위해 구성 요소 또는 데이터 세트으로만 필터링할 수 있습니다. 왼쪽 창에는 상태, 기간, 만들기 시간 등 자세한 정보와 함께 일치하는 노드가 표시됩니다.

Screenshot showing the quick filter by in outline > search.

필터링된 노드를 정렬할 수도 있습니다.

Screenshot of sorting search result in outline > search.

구성 요소의 로그 및 출력 확인

파이프라인이 실패하거나 노드에서 멈춘 경우 먼저 로그를 확인합니다.

  1. 특정 노드를 선택하고 오른쪽 창을 열 수 있습니다.

  2. 출력+로그 탭을 선택하면 이 노드의 모든 출력과 로그를 탐색할 수 있습니다.

    user_logs 폴더에는 사용자 코드 생성 로그에 대한 정보가 들어 있습니다. 이 폴더는 기본적으로 열려 있으며 std_log.txt 로그가 선택됩니다. std_log.txt는 코드의 로그(예: print 문)가 표시되는 위치입니다.

    system_logs 폴더에는 Azure Machine Learning에서 생성한 로그가 포함되어 있습니다. 진단 로그 보기 및 다운로드에 대해 자세히 알아보세요.

    Screenshot of how to check node logs.

    해당 폴더가 표시되지 않으면 이는 컴퓨팅 런타임 업데이트가 아직 컴퓨팅 클러스터에 릴리스되지 않았기 때문이며 먼저 azureml-logs 폴더에서 70_driver_log.txt를 확인할 수 있습니다.

여러 파이프라인을 비교하여 실패 또는 기타 예기치 못한 문제를 디버깅합니다(미리 보기).

파이프라인 비교는 여러 작업 간의 차이점(토폴로지, 구성 요소 속성 및 작업 속성 포함)을 식별합니다. 예를 들어 성공적인 파이프라인과 실패한 파이프라인을 비교할 수 있습니다. 이렇게 하면 파이프라인을 실패하게 만드는 수정 사항을 찾을 수 있습니다.

파이프라인 비교를 사용하여 디버깅에 도움이 될 수 있는 두 가지 주요 시나리오:

  • 실패한 파이프라인 작업을 완료된 작업과 비교하여 디버그합니다.
  • 파이프라인에서 실패한 노드를 비슷한 완료된 노드와 비교하여 디버그합니다.

이 기능을 사용하도록 설정하려면:

  1. Azure Machine Learning 스튜디오 UI로 이동합니다.
  2. 화면 오른쪽 위에 있는 아이콘 중에서 미리 보기 기능 관리(메가폰 아이콘)를 선택합니다.
  3. 관리되는 미리 보기 기능 패널에서 파이프라인 작업을 비교하여 실패 또는 예기치 않은 문제 기능을 디버그를 전환합니다.

Screenshot of manage preview features toggled on.

실패한 파이프라인 작업을 완료된 작업과 비교하여 디버그하는 방법

반복적인 모델 개발 동안 기준 파이프라인이 있을 수 있으며 매개 변수, 데이터 세트 또는 컴퓨팅 리소스 변경 등과 같은 일부 수정 작업을 수행할 수 있습니다. 새 파이프라인이 실패한 경우 파이프라인 비교를 사용하여 파이프라인을 기준 파이프라인과 비교하여 변경된 내용을 식별할 수 있습니다. 이렇게 하면 실패한 이유를 쉽게 파악할 수 있습니다.

파이프라인과 상위 파이프라인 비교

디버깅할 때 가장 먼저 확인할 것은 실패한 노드를 찾아 로그를 확인하는 것입니다.

예를 들어 메모리 부족으로 인해 파이프라인이 실패했음을 보여 주는 오류 메시지가 표시될 수 있습니다. 완료된 부모 파이프라인에서 파이프라인이 복제된 경우 파이프라인 비교를 사용하여 변경된 내용을 확인할 수 있습니다.

  1. 계보 표시를 선택합니다.

  2. "복제된 원본" 아래에서 링크를 선택합니다. 그러면 부모 파이프라인이 있는 새 브라우저 탭이 열립니다.

    Screenshot showing the cloned from link, with the previous step, the lineage button highlighted.

  3. 비교에 추가 선택하여 실패한 파이프라인과 부모 파이프라인을 비교합니다. 비교 후보 목록에 추가됩니다.

    Screenshot showing the comparison list with a parent and child pipeline added.

토폴로지 비교

두 파이프라인이 비교 목록에 추가되면 세부 정보 비교그래프 비교의 두 가지 옵션이 있습니다. 그래프 비교 를 사용하면 파이프라인 토폴로지를 비교할 수 있습니다.

그래프 비교에서는 파이프라인 A와 B 간의 그래프 토폴로지 변경 내용을 보여 줍니다. 파이프라인 A의 특수 노드는 빨간색으로 강조 표시되고 "A 전용"으로 표시됩니다. 파이프라인 B의 특수 노드는 녹색이며 "B 전용"으로 표시됩니다. 공유 노드는 회색입니다. 공유 노드에 차이가 있는 경우 변경된 내용이 노드 맨 위에 표시됩니다.

세부 정보 페이지, 매개 변수 변경, 입력 원본, 파이프라인 구성 요소에서 볼 수 있는 요약과 함께 세 가지 범주의 변경 내용이 있습니다. 파이프라인 구성 요소가 변경되면 내부 토폴로지 변경 또는 내부 노드 매개 변수 변경이 있음을 의미합니다. 파이프라인 구성 요소 노드에서 폴더 아이콘을 선택하여 세부 정보를 자세히 살펴볼 수 있습니다. 비교 그래프에서 색이 지정된 노드를 확인하여 다른 변경 내용을 검색할 수 있습니다.

Screenshot showing the parameter changed and the component information tab.

파이프라인 메타 정보 및 속성 비교

데이터 세트 차이를 조사하고 데이터 또는 토폴로지를 실패의 근본 원인으로 보이지 않는 경우 파이프라인 매개 변수, 출력 또는 실행 설정과 같은 파이프라인 세부 정보를 검사할 수도 있습니다.

비교 그래프는 파이프라인 토폴로지를 비교하는 데 사용됩니다. 세부 정보 비교는 파이프라인 속성 링크 메타 정보 또는 설정을 비교하는 데 사용됩니다.

세부 정보 비교에 액세스하려면 비교 목록으로 이동하여 세부 정보 비교를 선택하거나 파이프라인 비교 페이지에서 비교 세부 정보 표시를 선택합니다.

파이프라인 속성실행 속성이 표시됩니다.

  • 파이프라인 속성에는 파이프라인 매개 변수, 실행 및 출력 설정 등이 포함됩니다.
  • 실행 속성에는 작업 상태, 제출 시간 및 기간 등이 포함됩니다.

다음 스크린샷은 기본 컴퓨팅 설정이 실패의 원인일 수 있는 세부 정보 비교를 사용하는 예제를 보여줍니다.

Screenshot showing the comparison overview of the default compute.

토폴로지 비교를 신속하게 검사 파이프라인 이름을 선택하고 그래프 비교를 선택합니다.

Screenshot of detail comparison with compare graph highlighted.

파이프라인에서 실패한 노드를 비슷한 완료된 노드와 비교하여 디버그하는 방법

노드 속성만 업데이트하고 파이프라인에서 아무것도 변경하지 않은 경우 동일한 구성 요소에서 제출된 작업과 비교하여 노드를 디버그할 수 있습니다.

비교할 작업 찾기

  1. 동일한 구성 요소에서 제출된 모든 실행을 확인하여 비교할 성공적인 작업을 찾습니다.
    1. 실패한 노드를 마우스 오른쪽에 선택하고 작업 보기를 선택합니다. 그러면 모든 작업 목록이 표시됩니다.

      Screenshot that shows a failed node with view jobs highlighted.

    2. 완료된 작업을 비교 대상으로 선택합니다.

  2. 비교할 실패한 작업과 완료된 작업을 찾은 후 비교 후보 목록에 두 작업을 추가합니다.
    1. 실패한 노드의 경우 마우스 오른쪽 단추를 선택하고 비교에 추가를 선택합니다.
    2. 완료된 작업의 경우 부모 파이프라인으로 이동하여 완료된 작업을 찾습니다. 그런 다음, 비교에 추가를 선택합니다.
  3. 두 작업이 비교 목록에 있으면 세부 정보 비교를 선택하여 차이점을 표시합니다.

비교 결과 공유

비교 결과를 공유하려면 공유를 선택하여 링크를 복사합니다. 예를 들어 데이터 세트 차이로 인해 오류가 발생할 수 있음을 알았지만 데이터 세트 전문가가 아닌 경우 팀의 데이터 엔지니어와 비교 결과를 공유할 수 있습니다.

Screenshot showing the share button and the link you should copy.

다음 단계

이 문서에서는 파이프라인 오류를 디버깅하는 방법을 알아보았습니다. 파이프라인을 사용하는 방법에 대해 자세히 알아보려면 다음 문서를 참조하세요.