目的
JMP® Pro のTorch Deep Learning アドインは、ディープ ニューラル ネットワークを使用した予測モデリング用の人気のTorch ライブラリへのコード不要のインターフェイスを提供します。このアドインを使用すると、画像、テキスト、または表形式の機能を入力として使用して、バイナリ、連続、または名目ターゲットを予測する予測モデルをトレーニングおよび展開できます。
主な特徴
- 画像やテキストデータ用のさまざまな事前トレーニング済みモデルにアクセスでき、微調整したり、最初からトレーニングしたりすることができます。
- 画像またはテキストの分類または回帰を実行する
- 表形式データ用のディープ ネットワークをカスタマイズする機能、および時系列データと画像データの両方に対して独自のカスタマイズされた畳み込みニューラル ネットワークを設計するオプション
- モデルの構築、評価、比較を容易にする多数の高度なオプション
- フォールド外予測を伴うk-フォールドクロス検証の繰り返しと、最適化されたk-フォールド検証列を作成するための別のルーチン
- 1つのモデルで、異なるモデリングタイプの複数のY応答を適合させる機能
- 詳細かつインタラクティブなグラフおよび表形式の出力
- モデル比較インターフェース
- 表形式のニューラルネットのプロファイリングによる解釈の支援
- Windows 上の NVIDIA GPU で高速計算 (利用可能な場合)
インストール
JMP Pro 18 以降の認証済みバージョンが必要です。このウィンドウの右上にあるリンクからTorchDeepLearning.jmpaddinをダウンロードします。JMP Pro を起動し、 TorchDeepLearning.jmpaddinを開いて、 「はい」をクリックしてインストールします。インストールされたアドインは、アドインのトップ メニュー (アドイン > Torch Deep Learning ) に表示されます。
アドインは、事前コンパイルされた動的ライブラリと事前トレーニング済みの Torch モデルの大規模なコレクションに依存していますが、これらは最初のインストール後のアドインには含まれていません。メインのアドイン プラットフォームを初めて起動すると ( [アドイン] > [Torch Deep Learning] > [Torch Deep Learning ] を選択)、追加の大きなファイル シリーズ (合計約 4 GB) がダウンロードされ、解凍されます。Windows を使用している場合、ダウンロードには CUDA コンパイル ライブラリが含まれており、これらのファイルのダウンロードと解凍には、Web 接続の速度に応じて数分以上かかる場合があります。ダウンロードが 100% 完了して完全に解凍されるまでお待ちください。ダウンロードおよび解凍されたすべてのファイルは、アドインのホーム ディレクトリの下に配置されます ( [表示] > [アドイン] をクリックし、 [TorchDeepLearning] を選択して、 [ホーム フォルダー]リンクをクリックします)。
システム要求
このアドインは、JMP® Pro バージョン 18 でのみ動作します。小規模なデータ セットの場合、 JMP® Pro の最小要件で十分ですが、多数の画像や非構造化テキストを含む中規模から大規模のデータセットのモデリングでは、ディープ ニューラル ネット モデリングで通常生成される大量のデータとパラメータを処理するために、少なくとも 32 GB の CPU RAM と十分なストレージ容量 (1 TB など) を備えた高速ソリッド ステート ハード ドライブを用意することをお勧めします。
NVIDA GPU を搭載した Windows マシンをお持ちの場合は、Torch アドインのドキュメント (アドイン > Torch Deep Learning > ヘルプ) で GPU 処理の構成に関する詳細が説明されています。MacOS では、Intel x86_x64 と Apple Silicon arm64 (M1 M2、および M3) の両方のアーキテクチャがサポートされており、自動的に検出されます。
それの使い方
JMP Pro にアドインをインストールした後:
- 予測するターゲット変数 Y と、入力として使用する画像、テキスト、または表形式の機能を含む JMP テーブルを開きます。
- [アドイン] > [Torch Deep Learning] > [K 分割列の作成]をクリックして、1 つ以上の検証列を作成します。応答および階層化変数として Y を指定します (推奨)。
- [アドイン] > [Torch Deep Learning] > [Torch Deep Learning]をクリックしてプラットフォームを起動します。次の例のように、ロールに変数を割り当てます。
[アドイン] > [Torch Deep Learning] > [サンプル データ]サブメニューには、いくつかのサンプル データ セットとTorch_Storybookという JMP テーブルが含まれています。このテーブルには、アドインが役立つさまざまなシナリオの 40 個のサンプルが含まれています。各サンプルに関する豊富なメタデータと、スクリプトが埋め込まれた JMP データ テーブル、サンプル出力 JMP ジャーナル、および参照をダウンロードするためのリンクが含まれています。
[アドイン] > [Torch Deep Learning] > [追加のダウンロード]サブメニューでは、アドインの機能をさらに拡張するいくつかの画像およびテキスト モデルをダウンロードできます。
メニューから[ヘルプ]をクリックすると、アドインに関する詳細なドキュメントが開きます。このドキュメントには、ステップバイステップの例や最も効果的な使用方法のガイダンスなどが含まれています。
例

背景:化学者として、3 つの成分の比率を変えた混合実験の NMR 分光法と比較することによって、未知のサンプルの組成を予測する必要があります。
課題:混合実験の出力 NMR スペクトルは幅広く、実験実行数は少ないものの、固有の特徴の列が数千あります。標準的な予測モデリングは正確ではなく、過剰適合し、プロセスのコーディングに時間がかかります。
プロセス:個々のスペクトルを取得し、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
これを正しく読んでいますか? モデルを 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
はい、私はまったく興味がありませんでした。Tony C のリクエストに応じてコミュニティの質問を投稿しました。これが実現できれば、私たちのワークフローにとって間違いなく恩恵となるでしょう。