Python 2のサポート終了 / Python 3への移行¶
注意
DataRobotでは、Python 2を使用非推奨とし、プラットフォームから完全に削除しました。 SaaSユーザーの場合、Python 2で構築されたプロジェクトはすべて無効化されますが、 プロジェクト管理センターでは引き続き利用できます。ここでは、Python 3でコピーして再構築することができます。セルフマネージドAIプラットフォームの場合、Python 2はリリース9.0では無効になっています。詳細については、 こちらをご覧ください。
それに伴い、お客様が作成されたプロジェクトはすべて、Python 3に移行していただく必要があります。Python 3にアップグレードすることで、プラットフォームの信頼性とセキュリティが向上します。 さらに、DataRobotの開発チームは最新のコードベースを使用できるため、より革新的な機能をより早く、より高い品質で提供することが可能になります。
以下のガイダンスをよくお読みください。お客様およびお客様の組織内の他のメンバーによる措置が必要になる可能性があります。 ご不明な点がございましたら、DataRobotの担当者にお問い合わせください。移行をスムーズに行えるよう、喜んでお手伝いいたします。
このガイドでは、サポート終了のプロセスやPython 3への移行方法について説明します。
影響を受けるユーザー¶
Pythonの変更は、次のユーザーに適用されます。
- マネージドAIプラットフォーム(SaaS)の全ユーザー。
- すべてのセルフマネージドAIプラットフォームユーザー(リリース7.1以降にDataRobotを新規にインストールしたユーザーを除く。 詳しくはFAQをご覧ください)。
影響を受ける製品¶
- AutoML
- 時系列(AutoTS)
- MLOps
必要な措置と重要なスケジュール¶
各マイルストーンが近づくと、具体的な日付がメールとこのドキュメントの両方で通知されます。 インストール環境に応じた情報を該当するタブで確認してください。
スケジュールは以下のとおりです。
2022年3月
- 2022年3月7日より、マネージドAIプラットフォーム(SaaS)で作成される新規プロジェクトにおいては、モデルの構築と予測にPython 3をデフォルトで使用するようになりました。
- Python 2で作成された既存のプロジェクトやモデル(2022年3月7日より前に作成されたもの)は、引き続き期待通りに動作します。
- デプロイでは、Python 3プロジェクトのモデルの使用を開始できます。 デプロイは特定のPythonバージョンに関連付けられておらず、ベースとなるモデルにのみ関連付けられています。
2022年4月
- Python 2を使用している既存のプロジェクトやモデルには、2022年4月15日から22日まで、UIとAPIレスポンスの両方でPython 2のサポート終了のお知らせが表示されます。繰り返しになりますが、これらのプロジェクトやモデルは使用非推奨の状態でも引き続き期待通りに動作しますが、この機会に以下のガイドを参照して移行手順の計画と実行を開始することをお勧めします。
- これらのプロジェクトが無効になる(以下のマイルストーン)前に、監査に必要なインサイトの計算とコンプライアンスドキュメントの作成を済ませておくことを強くお勧めします。 プロジェクト内で計算されたすべてのデータは、長期的に参照できるように読み取り専用の状態で保持されます。
- 使用中の重要なプロジェクトのうち、使用非推奨となるものを特定し、2022年7月までに移行する計画を立てます。
備考
組織で正式なモデル監査プロセスが必要な場合は、影響を受ける本番ワークロードが将来中断することがないように、できるだけ早くこのプロセスを開始することを強くお勧めします。
2022年7月
- 使用非推奨のプロジェクトは2022年7月25日から31日の間に「無効」状態に移行し、読み取り専用モードになります。
- ただし、プロジェクトの複製やアーティファクト(スコアリングコード、モデル、モデルパッケージ、インサイトチャートなど)のダウンロードは引き続き可能です。 詳細については、使用非推奨となった後に無効になる機能のセクションをご覧ください。
- 既存のデプロイと予測は、MLOpsおよび予測サーバー内のPython 2のモデルデプロイで引き続き (中断なしで) 動作しますが、Python 2モデルで新しいデプロイを行うことはできません。 以下のガイドを使用して、2022年10月より前にPython 2のモデルデプロイを移行してください。
- Python 3モデルでの既存または新規のデプロイと予測では、影響や制限はありません。
2022年10月
- Python 2プロジェクトは、無期限に「無効」状態になりました プロジェクトの複製とその他の機能は、使用非推奨および無効になった機能で説明されているように、引き続きサポートされます。
- Python 2のプロジェクトとモデルはサポート対象外になります。 すべてのプロジェクトデータは読み取り専用の状態で保持されます。 2022年10月25日より前に、重要なPython 2プロジェクトとすべてのMLOpsモデルデプロイを、適切なPython 3モデルに置き換える必要があります。
スケジュール:
タイムライン | プロジェクト | デプロイ | 必要な措置 |
---|---|---|---|
2022年3月7日 | これらのプロジェクトで新規作成されたプロジェクトとモデルは、デフォルトでPython 3を使用します。 | 既存のPython 2のモデルデプロイには影響ありません。 既存または新規のデプロイでは、Python 2またはPython 3モデルを使用できます(Python 3を推奨)。 |
なし |
2022年4月15日~22日 | Python 2を使用するプロジェクトは使用非推奨になります。 機能的な影響はありません。 | 既存のPython 2のモデルデプロイには影響ありません。 既存または新規のデプロイでは、Python 2またはPython 3モデルを使用できます(Python 3を推奨)。 |
必要なPython 2のプロジェクトとデプロイをPython 3に移行してください。 |
2022年7月25~31日 | Python 2を使用するプロジェクトは無効になり、読み取り専用モードに変換されます。 | 既存のPython 2のモデルデプロイには影響ありません。 新しいデプロイでは、Python 2モデルは使用できません(Python 3モデルのみ)。 |
必要なPython 2のデプロイをPython 3に移行してください。 |
2022年10月25日 | Python 2を使用するプロジェクトは、無期限に無効および読み取り専用モードになります。 | Python 2のモデルデプロイは無効になります。 | この日付より前に移行を完了してください。 |
スケジュールは以下のとおりです。
リリース8.0へのアップグレード(2022年3月以降)
- 影響を受ける重要なプロジェクトを特定し、その移行計画を立てます。
備考
正式なモデル監査プロセスが必要な場合は、影響を受ける本番ワークロードが将来中断することがないように、できるだけ早くこのプロセスを開始することを強くお勧めします。
- Pythonバージョンフィールドがユーザーアクティビティモニターレポートに追加されました。ここでは、UI、API、およびエクスポートされたCSVデータのアプリの使用状況と予測の使用状況を確認できます。 この機能は、DataRobotリリース8.0.3以降で利用可能です。
- リリース8.xで作成される新規プロジェクトにおいては、モデルの構築と予測にPython 3をデフォルトで使用します。
- Python 2で作成された既存のプロジェクトやモデルは、引き続き期待通りに動作します。
- Python 2を使用している既存のプロジェクトやモデルには、UIとAPIレスポンスの両方でPython 2のサポート終了のお知らせが表示されます。 繰り返しになりますが、これらのプロジェクトやモデルは使用非推奨の状態でも引き続き期待通りに動作しますが、以下のガイドを参照して移行手順の計画と実行を開始することをお勧めします。
2023年3月に予定されているリリース9.0へのアップグレードまでの期間
- Python 2のプロジェクトとモデルは、リリース9.xではサポート対象外になります。すべてのプロジェクトデータは読み取り専用の状態で保持されます。 リリース9.xへのアップグレードの前に、重要なPython 2プロジェクトとモデルをすべてPython 3に移行し、Python 2ベースのMLOpsモデルデプロイを適切なPython 3モデルに置き換えてください。
- リリース9.xより前に作成されたPython 2プロジェクトとモデルは、リリース9.xにアップグレードすると無効になります。それらのプロジェクトは読み取り専用に移行し、新たな計算ができなくなります。
- 9.0にアップグレードされるとこれらのプロジェクトは無効になるため、その前に、プロジェクトの監査に備えてインサイトの計算とコンプライアンスドキュメントの作成を済ませておくことをお勧めします。 プロジェクト内で計算されたすべてのデータは、長期的に参照できるように読み取り専用の状態で保持されます。
非推奨となった後に無効になる機能¶
依存関係が古くなるため、Python 2のプロジェクトはまず使用非推奨に、その後無効になる予定です。 「使用非推奨」と「無効」の違いを次の表で説明します。
段階 | インパクト | 機能 |
---|---|---|
使用非推奨 | 機能的な影響はありません。 Python 2のプロジェクトは今後サポート対象外となるため、必要に応じて移行しなければならないことをユーザーに伝える通知が表示されます。 | モデルとデプロイは、引き続き期待どおりに機能します。 |
無効 | 今後、これらのプロジェクトを使い続けることはできません。 計算済みのデータは、Python 3への移行時に参照および比較目的で閲覧でき、監査目的で長期間保持されます。 | プロジェクトとモデルのデータは読み取り専用です。 計算ジョブに関わる操作はすべて無効です。(例:モデルの再トレーニング、新しいモデルの追加、インサイトチャートの計算など)。 同様に、REST APIと関連するクライアントでも、これらの操作はできません。 プロジェクトの複製や、スコアリングコード、モデル、モデルパッケージ、インサイトの各ダウンロードは引き続き可能です。 パブリックAPIによる予測はできなくなります。代わりに予測APIまたはバッチ予測APIを使用する必要があります。 |
以下の機能への影響はありません。
- カスタムモデル
- AIアプリ
- AIカタログ
- データの準備
Python 3への移行ガイド¶
プロジェクトとデプロイを移行するには、次の手順を実行します。 この手順を実行できないケースについては、DataRobotの担当者にお問い合わせください。
プロジェクトの移行¶
プロジェクトの管理ページの「プロジェクトの複製」を使用して、プロジェクトとモデルを移行します。 これにより、データセットおよび(対象プロジェクトのタイプに応じた)高度なオプションが同じプロジェクトが、Python 3を使用して新たに作成されます。
コピーしたプロジェクト内では、モデルを手動で再作成する必要があります。 次のいずれかの原因が考えられます。
- オートパイロットを再実行し、すべてのモデルを構築する
- 手動モードを使用し、リポジトリから選択したモデルを構築する
移行が完了したPython 2のプロジェクトは削除できます。
デプロイの移行¶
Python 2モデルをベースにしたデプロイの場合は、複数のオプションがあります。
オプション | 備考 |
---|---|
新しいプロジェクトを作成した後、デプロイ済みのモデルをPython 3モデルに置き換えます。 | このオプションが最も簡単です。 新しいモデルの構築とモデルの置換に時間がかかりますが、モデルの置換はシームレスに行えるため、デプロイAPIの予測が影響を受けることはありません。 |
モデルに自動再トレーニングポリシーを設定し、指定したスケジュールとモデリング戦略を使用して、DataRobotが自動的にモデルを再構築して置き換えるようにします。 |
|
Javaのドロップイン環境とPython 2モデル用のスコアリングコードエクスポートを使用して、モデルをカスタム推論モデルに置き換えます。 |
|
モデルパッケージをエクスポートし、DataRobotのポータブル予測サーバー(PPS)を使用して、独自の環境内で予測値を提供します。 |
|
ヒント¶
以下のヒントを参考にして、移行作業を行ってください。
-
プロジェクトタグを使って、移行が必要なプロジェクト(例:
py2-to-migrate
)と移行済みのプロジェクト(例:py2-migrated
)の見分けがつくようにしておきます。 -
2022年6月までの期間に参照する必要があるインサイトチャートを事前に計算し、後でプロジェクトが無効になったときに読み取り専用で利用できるようにしておきます。
FAQ¶
Python 2を使用しているために影響を受けるプロジェクトとモデルを特定するには、どうすればよいでしょうか?
マネージドAIプラットフォームをご利用の場合、2022年3月7日より前に作成されたプロジェクトはPython 2をベースとしており、使用非推奨になります。
影響を受けるプロジェクトについては、2022年4月末までに、[モデル]タブに次のような使用非推奨アラートが表示されます。
[プロジェクトの管理]画面では、使用非推奨のプロジェクトの横にアイコンが表示されます。
APIユーザーは、Python 2を使用していて、影響を受けるプロジェクトを識別できます。APIを介してPython 2プロジェクトに対してアクションを実行すると、レスポンスオブジェクトはDeprecation
ヘッダーを返します。これは、DataRobot Python APIクライアントによって変換されProjectDeprecationWarning
が発生します。 Python 3プロジェクトに対して実行されるアクションでは、このDeprecationレスポンスヘッダーやProjectDeprecationWarning
は発生しません。
リリース8.0.3から、UI、API、およびエクスポートされたCSVデータでのアプリと予測の使用状況に関するユーザーアクティビティモニターレポートに、Pythonバージョンフィールドが追加されています。 Python 2.7でデータをフィルターして、使用状況を確認できます。
レポートの作成については、DataRobotの担当者にお問い合わせください。
なぜPython 2は使用非推奨となり削除されるのですか?
Python 2は2020年1月にサポート終了となったため、Python Software Foundationは、バグやセキュリティの脆弱性に対するパッチを提供していません。 現在では、コミュニティによるサポートも終了しています。 DataRobotでは、セキュリティリスクを回避するために、プラットフォームからPython 2を完全に削除します。
DataRobotのプラットフォームでは、Python 2のサポートを終了しているサードパーティー製ライブラリを多数使用しています。これらのライブラリを新しいバージョンにアップグレードするには、Python 2のサポートを終了する必要があります。
なぜPython 2を使ったプロジェクトやモデルは移行する必要があるのですか?
この変更によるユーザーへの影響を最小限に抑えるため、DataRobotはプラットフォームの可能な限り多くの部分で互換性を持たせています。 実際に、数年前から、おそらく気づかれることなく、少しずつ変更を行ってきました。 しかし、モデルの性能と予測の一貫性において重大な非互換性が生じる可能性を回避するため、Python 2でトレーニングした古いモデルの使用をやめる必要が出てきました。
最も信頼できるAIプラットフォームとして、DataRobotは、お客様がAIモデルの管理を完全にコントロールでき、モデルを置換する際の意思決定者であることを保証したいと考えています。
使用非推奨のプロジェクトが無効になった後、プロジェクトデータはどうなりますか?
監査の際の参考資料として利用できるように、Python 2プロジェクトのすべてのデータは保持され、アプリケーション内で読み取り専用状態でアクセス可能になります。 監査資料を完全なものにするには、「無効化」のマイルストーン前に、これらのプロジェクトでインサイトを計算し、コンプライアンスドキュメントを作成しておくことを強くお勧めします。
DataRobotは、Python 2を使用している以前のセルフマネージドAIプラットフォームリリースを引き続きサポートしますか?
はい。 サポートします。Python 2が使用非推奨となっても、サポート対象のエンタープライズリリースを使用しているセルフマネージドAIプラットフォームユーザーのサポートポリシーに影響はありません。 DataRobotは、これらのお客様に対する長期サポート(LTS)契約を引き続き遵守します。
リリース9.0以降、Python 2はサポート対象外となります。
セルフマネージドAIプラットフォーム環境にリリース7.1以降をインストールした比較的新しいユーザーですが。影響はありますか?
影響を受ける可能性があります。 7.1以降の新規のセルフマネージドAIプラットフォームインストールでDockerまたはRPM設定を使用している場合、すべてのプロジェクトでPython 3を使用するように設定されています。 この場合、何もする必要はありません。
しかし、Hadoopベースのインストール(Cloudera、Hortonworks)では、新規プロジェクトでPython 3が有効になっていませんでした。 この場合、プロジェクトを移行する必要があります。
インストールのタイプに関して質問がある場合は、インストールを行ったIT管理者にお問い合わせください。 管理者に依頼して、PYTHON 3_SERVICES
の構成(config.yaml
)設定が有効であるかどうかを確認します。 または、DataRobotの担当者に連絡して、設定を確認してください。