内部のニューラルネットを深く覗き込むインタラクティブなPyTorchデバッガ「nansense」
nansenseは、PyTorchニューラルネットワークの内部動作を可視化・デバッグするためのインタラクティブなツールです。勾配や活性化値をリアルタイムで監視し、nanやinfの発生箇所を特定できるため、モデル開発時のデバッグ効率を大幅に向上させます。
背景メモ
- **Nansense** は、PyTorch のテンソルやニューラルネットの内部状態(活性化値、勾配、パラメータなど)を対話的に可視化・デバッグできるツール。Anaconda の「NaNsense」というプロダクト名をもじったオープンソースプロジェクト。
- 深層学習モデルの学習中、勾配爆発やパラメータが NaN(非数)になる現象を「はじめはブラックボックス的にしか診断できなかった」問題を、**実行時に対話的に調べられる**ようにした点が価値。
- 既存のデバッグ手法(print 文を挟む、TensorBoard で後から確認する)より手軽で、Jupyter 上でリアルタイムにテンソルの分布や勾配をスライダで探れる。
- 開発者の **Kristjan Kongas** はエストニアの ML エンジニアで、LLM や深層学習のデバッグ周りで複数のツールを公開している。
- 類似ツールとしては PyTorch 標準の `torch.autograd.set_detect_anomaly` や Facebook の `hydra` などがあるが、Nansense は対話性と可視化に特化している。