環境を選ぶ前にタスクを定義する

ローカル導入は、インストールコマンドではなく、範囲を明確にした化学タスクから始めます。分子処理、モデル学習、既存モデルによる予測、チュートリアル環境のどれが必要かを決めます。依存関係を選ぶ前に、想定する入力、出力、インターフェースを記録してください。

リソース紹介には、それぞれ異なる役割が記載されています。

  • RDKit は分子操作、記述子、フィンガープリントに加え、データベースやワークフローとの統合機能を提供します。単一の予測モデルではなく、ツールキットです。
  • Chemprop は、分子特性予測向けのPyTorchベースのメッセージパッシング・ニューラルネットワークのワークフローを提供します。コマンドラインのチュートリアルやPythonモジュールを通じて、学習、評価、予測を行えます。
  • DeepChem は科学的機械学習のツールチェーンを提供し、TensorFlow、PyTorch、JAXのワークフロー向けにバックエンド固有の依存関係があります。

これらの説明が示すのは候補となる機能であり、任意のリリース間の互換性ではありません。ツールの組み合わせは、選択したバージョンを確認し、目的のワークフローを実行して確かめるまでは、提案段階の統合です。

文書に記載された要件と未解決の疑問を記録する

選択した各リソースについて要件記録を作成します。RDKitの概要、RDKitドキュメント、Chempropドキュメント、DeepChemドキュメントを参照してください。参照したURLと、使用したリリースまたはドキュメントのブランチを記録します。

各コンポーネントについて、以下を記録します。

  • 文書に記載されたOSおよび言語ランタイムの要件。
  • 選択した機能に必要な依存関係と任意の依存関係。
  • 対象ワークフローでGPUの使用が必須、任意、または未指定のいずれか。
  • 必要なデータセット、チェックポイント、その他のダウンロード可能なアセット。
  • 文書とパッケージメタデータとの間にある未解決の不一致。

バージョン選択には特に注意が必要です。Chempropのドラフトには、v2で大幅な書き換えが行われ、デフォルトが変更され、v1のサポートが終了したと記載されています。DeepChemのドラフトによると、READMEとパッケージ設定に記されたPython互換性の宣言は異なっており、一貫したサポート範囲は確立されていません。推測でこうした不明点を解消しないでください。

次の点を確認してください。この要件は、選択したリリースとインターフェースに適用されますか? ハードウェアのベンチマークやスクリーンショットは、インストール要件の信頼できる代替にはなりません。

依存関係を分離し、環境を保存する

ホストシステムの共有依存関係を変更するのではなく、プロジェクト専用の環境を使用します。選択したバージョン、環境定義、インストールコマンドを、内容を確認できるテキストとして保存します。特にリモートスクリプトを取得するコマンドや、昇格した権限を要求するコマンドは、実行前に読んでください。

DeepChemのリソース紹介には、pip、conda、Docker、ソースからのインストール方法が、stableおよびnightlyの選択肢とともに記載されています。すべての方法が、どのバックエンドにも適しているという意味ではありません。任意のフレームワークをすべてデフォルトでインストールするのではなく、目的の機能に合った、文書に記載された方法を選んでください。

計画中のワークフローに複数のリソースが関係する場合は、まず各関連コンポーネントについて小さな例を個別に用意します。その後で、組み合わせた環境を評価してください。依存関係の競合が発生したら、説明のないバージョン置換ではなく、処理環境と学習環境を分けるなど、記録に残る判断を行います。

設定やリリースに関する疑問を追跡できるよう、リポジトリへの参照を手元に置いてください:RDKit、Chemprop、DeepChem。

入力、出力、ネットワークアクセスを確認する

ローカル実行だからといって、自動的にオフラインで動作するわけではありません。機密データを導入する前に、読み書きするファイル、ダウンロードするアセット、外部エンドポイント、任意のトラッキング連携を洗い出します。

DeepChemのドラフトには、学習および評価指標用のWeights & Biases連携が記載されています。利用を検討する場合、選択した設定が何を送信するのか、プロジェクト上それが許容されるかを確認してください。文書に記載があるだけでは、特定のインストール環境でトラッキングが有効になっていることは確認できません。

入出力の取り決めを定めます。

  • **入力:**分子レコード、ラベル、設定、および選択した例に必要なモデルアセット。
  • **出力:**該当する場合、処理済み特徴量、予測、モデルファイル、ログ、指標。
  • **管理策:**承認済みの保存場所、アクセス権限、保持期間、外部転送の規則。

出典の抜粋からは、3つすべてのリソースについて、正確なファイルスキーマが確立されているわけではありません。あるツールの出力が別のツールで受け入れられる入力だと仮定せず、該当するチュートリアルで形式を確認してください。認証情報は適切なローカル設定に保管し、リポジトリやモデルプロンプトには含めず、共有ログやレポートからも除外してください。

まず小規模な公式サンプルを実行する

文書化されたサンプルと、公開されている機密性のない入力から始めます。選択したバージョン、設定、パラメーター、観察された出力を記録してください。アセットが欠落している、または取得できない場合は、モデルやリリースを黙って置き換えず、失敗として記録します。

RDKitでは、目的のタスクに関連する小規模な分子操作または特徴量生成のサンプルを選びます。Chempropでは、学習、評価、予測のいずれかに合ったチュートリアルを選びます。DeepChemでは、提案するワークフローに適したチュートリアルとバックエンドを選びます。ドラフトには、ローカル実行またはGoogle Colabでの実行を想定したチュートリアルが記載されています。

次の2つの問いを分けて考えてください。ソフトウェアは想定どおりに実行されたか?そしてその結果は科学的に適切か? インストールの成功やチュートリアルの完了だけでは、新しいデータセットに対する汎化性能や予測精度については答えられません。

仮想の導入計画を検討する

**仮想例:**ある研究チームは、内部データセットをワークステーションに保持したまま、ラベル付き分子レコードから1つの分子特性を予測したいと考えています。

まずチームは、対象のエンドポイントに合ったChempropチュートリアルを選び、正確な入力スキーマを確認します。公開サンプル入力を使ってセットアップし、想定する予測出力とモデル保存の手順を記録します。また、GPUが必須だと決めつけず、文書に記載されたハードウェア要件を確認します。

チームは、RDKitから得られる記述子の利用も検討します。RDKitのドラフトには記述子生成が記載され、Chempropのドラフトには追加記述子のワークフローが記載されていますが、この組み合わせはまだ提案段階の統合です。試す前に、表現、記述子の順序、欠損値の処理、レコードの対応関係を確認する必要があります。

適切なチュートリアルが選択の理由になる場合、DeepChemは別の環境として独立に評価します。自動的に追加する依存関係ではありません。

判断基準は明確です。サンプルが実行でき、出力を確認でき、依存関係が記録され、ネットワークの動作が把握できた後に限り、承認済みの内部データへ進みます。科学的評価には、データ分割、エンドポイントの妥当性、適切な評価方法について別途計画が必要です。

リソース使用、復旧、保守を確認する

規模を拡大する前に、範囲を限定した入力で実行時間、メモリ消費量、ストレージの増加を観察します。長時間ジョブには上限を設け、有用な中間出力を保存し、再起動時の動作を文書化します。選択したワークフローについて文書に説明があり、使用環境で実演されていない限り、チェックポイントによる復旧を前提にしないでください。

環境定義とともに、ロールバック手段も用意します。上流の依存関係やライセンスの変更を追跡しますが、ライセンスの表示だけで利用許諾の全体像が評価できたとみなさないでください。リソース紹介には、性能保証、導入ベンチマーク、検証済みの複合互換性は記載されていません。

最終導入チェックリスト

  • タスクと想定する入出力の取り決めを定義する。
  • 要件、選択したバージョン、未解決の疑問を記録する。
  • 依存関係を分離し、インストールコマンドを確認する。
  • データの保存、ダウンロード、外部通信を承認する。
  • 小規模な公式サンプルを実行し、観察記録を残す。
  • リソース上限、再起動手順、ロールバックを確認する。
  • 科学的な適切さを、運用上の成功とは別に評価する。

関連する記録や出典へのリンクを探すには、リソースを閲覧し、科学タスクを閲覧してください。このガイドは導入計画を支援するものであり、互換性や科学的性能を認証するものではありません。