목적
JMP® Pro용 Torch Deep Learning 추가 기능은 심층 신경망을 사용한 예측 모델링을 위해 널리 사용되는 Torch 라이브러리 에 코드 없는 인터페이스를 제공합니다. 추가 기능을 사용하면 이미지, 텍스트 또는 표 형식 기능을 입력으로 사용하여 이진, 연속 또는 명목 대상을 예측하는 예측 모델을 교육하고 배포할 수 있습니다.
주요 특징들
- 미세 조정하거나 처음부터 학습할 수 있는 이미지 및 텍스트 데이터에 대해 사전 학습된 다양한 모델에 액세스
- 이미지 또는 텍스트 분류 또는 회귀 수행
- 표 형식 데이터에 대한 심층 네트워크를 사용자 정의하는 기능과 시계열 및 이미지 데이터 모두에 대해 사용자 정의된 컨벌루션 신경망을 설계할 수 있는 옵션
- 모델 구축, 평가 및 비교를 용이하게 하는 다양한 고급 옵션
- Out-of-fold 예측을 통한 반복적인 k-fold 교차 검증과 최적화된 k-fold 검증 열을 생성하는 별도의 루틴
- 하나의 모델에서 다양한 모델링 유형의 여러 Y 반응을 맞추는 기능
- 상세하고 대화형 그래픽 및 표 형식 출력
- 모델 비교 인터페이스
- 해석 가능성을 지원하는 표 형식 신경망 프로파일링
- Windows에서 가능한 경우 NVIDIA GPU에서 빠른 계산
설치
JMP Pro 18 이상의 인증된 버전이 있어야 합니다. 이 창의 오른쪽 상단에 있는 링크에서 TorchDeepLearning.jmpaddin을 다운로드하세요. JMP Pro를 시작하고 TorchDeepLearning.jmpaddin을 연 다음 Yes를 클릭하여 설치합니다. 설치된 추가 기능은 추가 기능 상단 메뉴( 추가 기능 > Torch Deep Learning ) 아래에 있습니다.
추가 기능은 초기 설치 후 추가 기능에 포함되지 않은 사전 컴파일된 동적 라이브러리 및 사전 훈련된 Torch 모델의 대규모 컬렉션을 사용합니다. 기본 추가 기능 플랫폼을 처음 실행하면( 추가 기능 > Torch Deep Learning > Torch Deep Learning 선택) 일련의 추가 대용량 파일(총 약 4GB)을 다운로드하고 압축을 풉니다. Windows를 사용하는 경우 다운로드에는 CUDA 컴파일 라이브러리가 포함되며 이러한 파일의 전체 다운로드 및 추출은 웹 연결 속도에 따라 몇 분 이상 걸릴 수 있습니다. 인내심을 갖고 100% 다운로드하고 압축을 완전히 풀도록 하십시오. 다운로드하고 추출한 모든 파일은 추가 기능의 홈 디렉터리 아래에 배치됩니다( 보기 > 추가 기능을 클릭하고 TorchDeepLearning을 선택한 다음 홈 폴더 링크 클릭).
시스템 요구 사항
이 추가 기능은 JMP® Pro 버전 18에서만 작동합니다. 더 작은 데이터 세트의 경우 JMP® Pro의 최소 요구 사항 이면 충분합니다. 그러나 이미지 수가 많거나 구조화되지 않은 텍스트가 포함된 데이터 세트를 포함하여 중대형 규모의 데이터 세트를 모델링하려면 최소 32GB의 CPU RAM과 넉넉한 저장 공간을 갖춘 빠른 SSD(Solid State Hard Drive)를 사용하는 것이 좋습니다. 예: 1TB) 심층 신경망 모델링을 위해 일반적으로 생성되는 데이터 및 매개변수의 양을 처리하기 위한 것입니다.
NVIDA GPU가 있는 Windows 시스템이 있는 경우 GPU 처리 구성에 대한 자세한 내용은 Torch 추가 기능 설명서( Addins > Torch Deep Learning > Help )에서 제공됩니다. MacOS에서는 Intel x86_x64 및 Apple Silicon arm64(M1 M2 및 M3) 아키텍처가 모두 지원되며 자동으로 감지되어야 합니다.
사용 방법
JMP Pro에 추가 기능을 설치한 후:
- 입력으로 사용할 이미지, 텍스트 또는 표 형식 기능과 함께 예측할 대상 변수 Y가 포함된 JMP 테이블을 엽니다.
- Add-Ins > Torch Deep Learning > Make K-Fold Columns 를 클릭하여 하나 이상의 검증 열을 생성합니다 . Y를 반응 및 계층화 변수로 지정(권장)
- 추가 기능 > Torch Deep Learning > Torch Deep Learning을 클릭하여 플랫폼을 시작합니다. 다음 예와 같이 역할에 변수를 할당합니다.
추가 기능 > Torch Deep Learning > 예제 데이터 하위 메뉴에는 여러 가지 예제 데이터 세트와 Torch_Storybook 이라는 JMP 테이블이 포함되어 있습니다. 여기에는 추가 기능이 도움이 될 수 있는 다양한 종류의 시나리오에 대한 40가지 예제가 포함되어 있습니다. 여기에는 각 예제에 대한 풍부한 메타데이터와 내장된 스크립트가 포함된 JMP 데이터 테이블, 예제 출력 JMP 저널 및 참조를 다운로드할 수 있는 링크가 포함되어 있습니다.
추가 기능 > Torch Deep Learning > 추가 다운로드 하위 메뉴는 추가 기능의 기능을 더욱 확장하는 여러 가지 추가 이미지 및 텍스트 모델을 다운로드하는 방법을 제공합니다.
가장 효과적인 사용을 위한 단계별 예제와 지침을 포함하여 추가 기능에 대한 자세한 설명서를 열려면 메뉴에서 도움말을 클릭하세요.
예

배경: 화학자는 세 가지 구성 요소의 비율이 변경되는 혼합물 실험의 NMR 분광법과 비교하여 알려지지 않은 샘플의 구성을 예측해야 합니다.
과제: 혼합물 실험을 위한 출력 NMR 스펙트럼은 소수의 실험 실행으로 광범위하지만 고유한 특징을 가진 1000개의 열이 있습니다. 표준 예측 모델링은 정확하지 않고 과적합이며 프로세스를 코딩하는 데 시간이 많이 걸립니다.
프로세스: 개별 스펙트럼을 가져와 Graph Builder를 사용하여 이미지로 변환하고 이를 사용하여 이미지 분류 모델(컨볼루션 신경망)을 훈련하여 3개 구성 요소의 다양한 비율에서 스펙트럼이 어떻게 보이는지 이해합니다.
결과: 알려지지 않은 샘플을 적용하고 3가지 구성 요소의 구성/비율을 정확하게 식별할 수 있습니다.


배경: 반도체 제조 시 웨이퍼 결함은 웨이퍼 전체의 다양한 영역에서 발생할 수 있습니다. 웨이퍼 사진이나 웨이퍼 맵을 통해 여러 배치에 걸쳐 결함 영역을 포착할 수 있습니다. 적절한 솔루션을 제안하려면 결함 유형과 근본 원인을 식별하는 것이 필수적입니다.
과제: 30,000개가 넘는 웨이퍼 맵 이미지가 있고 일부는 정확하게 식별해야 하는 다양한 결함 유형이 있습니다.
프로세스: 알려진 웨이퍼 결함이 있는 웨이퍼 맵 이미지를 사용하여 심층 컨벌루션 신경망을 훈련합니다.
결과: 새로운 웨이퍼 이미지에서 가장 가능성이 높은 결함 클래스와 결함 가능성을 정확하게 예측하기 위해 딥 러닝 모델을 구축하고 배포합니다.

배경: 온라인 제품 리뷰는 제품 개선, 고객 지원 및 마케팅 전략에 대한 주요 결정을 내리기 위해 제품에 대한 고객의 감정을 이해하기 위해 분석할 수 있는 대량의 텍스트 데이터를 제공합니다.
과제: 텍스트 리뷰는 구조화되지 않고 양이 많으며 정서를 파악하고 주제를 식별하기 어렵기 때문에 정교한 분석이 필요합니다.
프로세스: 제품 리뷰 점수를 기반으로 심층 언어 신경망을 사용하여 구매 감정을 예측하여 재구매 가능성과 같은 주요 결과를 식별합니다.
결과: 제품 결정을 위한 중요한 피드백으로 제품에 대한 주요 정서(예: 재구매 가능성, 제품 문제)를 식별합니다.
비디오 튜토리얼
예제를 포함한 포괄적인 배경 및 개요
표 형식 데이터 및 인과 추론
이미지 분류
비디오 튜토리얼을 보고 싶은 추가 기능이나 주제의 특정 측면이 있는 경우 댓글에 게시해 주세요.
피드백
우리는 귀하의 피드백을 환영하며 이 페이지에 의견을 게시하실 것을 권장합니다. 추가 기능은 일반적으로 JMP 기술 지원팀에서 공식적으로 지원하지 않지만, 이 추가 기능은 JMP Life Sciences R&D에서 작성했으며 활발히 개발되고 있습니다.
피드백, 문제, 질문, 제안 사항을 russ.wolfinger@jmp.com 으로 직접 보낼 수도 있습니다 . 잠재적인 버그나 충돌을 보고하는 경우 데이터 및 모델 설정, 스크린샷, 오류 창, 로그 메시지, 사용 중인 운영 체제 및 JMP Pro 버전을 포함하여 이를 재현하고 진단할 수 있는 최대한 많은 정보를 보내주세요.
승인 및 저작권 고지
잘 설계된 C++ 인터페이스로 이러한 훌륭한 기능을 개발해 준 PyTorch 팀에 진심으로 감사드립니다. PyTorch Foundation 의 온라인 공지 뿐만 아니라 개인 및 저작권 공지의 전체 목록을 보려면 도움말 문서를 참조하세요.
또한 LibTorch에 탁월한 기여를 해주신 Mark Lalonde 와 Francis Charette-Migneault에게 깊은 감사를 드립니다.
https://medium.com/crim/contributing-to-libtorch-recent-architectures-and-vanilla-training-pipeline-3789c7bf6959
https://github.com/crim-ca/crim-libtorch-extensions
내가 이 글을 읽고 있는 게 맞나요? Loading models into pytorch에 대한 문서에는 다음과 같이 나와 있습니다.
Python에서는 PyTorch를 사용하여 정확히 동일한 아키텍처 구성 요소를 다시 만든 다음 이러한 파일을 차례로 로드해야 합니다 .
따라서 무슨 일이 있어도 pytorch를 알고 JMP에서 수행한 작업을 Python으로 번역할 수 있는 사람이 여전히 필요합니다. 옳은? 데이터 세트, nn 및 JMP 사용자가 수행한 검증을 생성하는 방법을 알아야 하는 것처럼요?
@vince_faller 귀하의 의견에 감사드립니다. 문서의 이 부분은 Python에서의 배포를 언급하고 있으며, 이 경우 이러한 작업은 실제로 어떤 방식으로든 수행되어야 합니다. JSL에서의 배포가 더 쉽습니다. 문서에 다음 내용이 추가됩니다.
예제 Python 배포 코드는 추가 기능 홈 폴더의 Jupyter iPython 노트북 파일에서 사용할 수 있습니다. 보기 > 추가 기능을 클릭하고 TorchDeepLearning을 선택한 후 홈 폴더 링크를 클릭한 다음 노트북 하위 폴더로 이동하여 이 코드를 확인하세요.
이 예제 Python 배포 코드는 여러 부분에서 여전히 거칠기 때문에 이를 개선하고 간소화하기 위해 노력하고 있습니다. XGBoost 모델 적합성에서 사용할 수 있는 것처럼 더 자동화된 Python 코드 생성을 위한 투표로 귀하의 게시물을 받아들일 것입니다. Torch 추가 기능과 JMP의 기본 Python 통합은 모두 버전 18의 새로운 기능이며 아직 둘 사이의 연결을 구현하지 않았습니다(Torch 추가 기능은 Python 없이 C++로 작성되었습니다).
감사합니다 @russ_wolfinger
응, 사랑 없이 봤어. 토니C 님의 요청으로 커뮤니티 질문을 올렸습니다. 우리 작업 흐름에 확실히 도움이 될 것이기 때문에 이것을 얻을 수 있기를 바랍니다.