[2023 · CANN 트레이닝 캠프 시즌 1] MindSpore 모델에 대한 빠른 튜닝 가이드 2장 - MindSpore 디버깅 및 튜닝

1. 생태적 이주

이미지.png

생태 이주 도구 사용의 예

이미지.png

생태 이주 도구 기술 솔루션

모델 정의의 프론트엔드 표현은 프레임워크마다 크게 다릅니다( 동일한 오퍼레이터의 API 기술적인 어려움,
연산자 기능, 모델 구축 방법이 상당히 다름)
. 최종 해당 계산
그래프는 유사합니다. 따라서 제안된 모델 기반 마이그레이션 방식
[외부 링크 이미지 전송 실패, 소스 사이트에 거머리 방지 메커니즘이 있을 수 있으므로 이미지를 저장하고 직접 업로드하는 것이 좋습니다(img-jZ1Xkxst-1685069610205 ) (https://bbs-img.huaweicloud.com /blogs/img/20230526/1685068836900161981.png)]
이미지.png

온넥스 소개:

이미지.png

생태 이주 도구 이주 사례 공유

이미지.png
자습서 단계:

  1. ONNX 모델 내보내기;
  2. ONNX 모델 검증;
  3. MindConverter는 모델 스크립트 및 가중치 마이그레이션을 수행합니다.
  4. MindSpore 모델 검증;

2. 모델 정확도 튜닝

MindSpore 디버거는 그래프 모드 훈련을 위해 제공되는 디버깅 도구로, 컴퓨팅 그래프 노드의 중간 결과를 보고 분석하는 데 사용할 수 있습니다.
작동 프로세스:
• 디버거 모드에서 MindInsight 시작 및 교육 연결 대기 •
mindinsight start --port {PORT} --enable-debugger True --debugger-port {DEBUGGER_PORT}
관련 환경 변수 구성 및 교육 스크립트 실행 •
export ENABLE_MS_DEBUGGER=1 export MS_DEBUGGER_PORT={DEBUGGER_PORT}
교육 연결 성공 후 MindInsight 디버거 인터페이스에 모니터링 지점 설정 •
교육 실행 상태 분석 MindInsight 디버거 인터페이스에서.
MindSpore 그래프 모드의 훈련 과정에서 사용자는 Python 계층에서 계산 그래프의 중간 노드 결과를 얻을 수 없으므로 훈련 및 디버깅이 어렵습니다. MindSpore 디버거를 사용하여 사용자는 다음을 수행할 수 있습니다
.
;
• 가중치와 같은 매개변수의 변경 사항을 봅니다.

• 디버거 기능을 사용하여 교육 사이트 확인
- "체중 변화가 너무 작은지 확인" 모니터링 포인트를 구성하여
체중 변화가 너무 작은지 확인합니다. 업데이트됨
; 기울기 소멸" 모니터링 포인트를 설정하여 비정상 기울기를 찾습니다.
– "텐서 오버플로 검사" 모니터링 포인트를 구성하여 NAN/INF가 발생하는 위치를 찾습니다.
– "과도한 텐서 검사" 모니터링 포인트를 구성하여 값이 큰 연산자를 찾습니다.
- 비정상적인 무게 또는 기울기를 찾기 위해 "과도한 무게 변화 확인", "기울기 사라짐 확인" 및 "과도한 기울기 확인"에 대한 모니터링 지점을 구성합니다.

3. 모델 성능 튜닝

성능 조정 도구 프로파일러 소개

Profiler는 MindSpore에 성능 조정 기능을 제공하며, 운영자 성능, 반복 성능 및 데이터 처리 성능 측면에서 사용하기 쉽고 풍부한 디버깅 기능을 제공하여 사용자가 성능 병목 현상을 빠르게 찾고 네트워크 성능을 개선할 수 있도록 도와줍니다. Profiler 도구 가 사용자
에게 제공하는 기능은 두 부분으로 나눌 수
있습니다
. 성능 데이터 및 통계 분석 결과를 다차원으로 표시하는 시각적 인터페이스 .



이미지.png

지침:

  1. 교육 시작 시 프로파일러를 초기화하고 성능 수집을 시작합니다.
  2. 훈련 후 성능 데이터를 분석하려면 분석 방법을 사용하십시오.

참고:
 현재 Profiler는 이미 GPU 시나리오를 지원하며 GPU에서 사용 방법은
Ascend와 동일합니다
 GPU가 Profiler를 초기화할 때 output_path 매개변수만 유효합니다.

  1. MindInsight 시각적 인터페이스를 시작합니다.
    mindinsight start --port 9001 --summary-base-dir ./
  2. 브라우저를 통해 MindInsight 대화형 인터페이스에 액세스하십시오.
    <your server ip address>:9001/
  3. MindInsight 시각화 서비스를 중지합니다.
    mindinsight stop --port 9001

이 장의 요약

• 생태적 마이그레이션 도구의 능력 및 기본 사용:
mindconverter --help
• 정밀 디버거의 능력 및 기본 사용
mindinsight start --port {PORT} --enable-debugger True --debugger-port {DEBUGGER_PORT}
• 성능 디버거의 능력 및 기본 사용
训练脚本中添加:profiler = Profiler(), …, profiler.analyse()
• ONNX 모델의 기본 개념:
– 그래프, 노드, 값 정보, 이니셜라이저;

추천

출처blog.csdn.net/qq_45257495/article/details/130882367