Manage data retention with Artifact TTL policy
W&BのArtifactの有効期間(TTL)ポリシーを使用して、アーティファクトがW&Bから削除されるスケジュールを設定します。アーティファクトを削除すると、W&Bはそのアーティファクトをソフトデリートとしてマークします。つまり、アーティファクトは削除対象としてマークされますが、ファイルがストレージからすぐに削除されるわけではありません。W&Bがアーティファクトを削除する方法の詳細については、Delete artifactsページを参照してください。
W&BアプリでArtifacts TTLを使用してデータ保持を管理する方法については、このビデオチュートリアルをご覧ください。
W&BはモデルレジストリにリンクされたモデルアーティファクトのTTLポリシー設定オプションを無効にします。これは、プロダクションワークフローで使用されている場合、リンクされたモデルが誤って期限切れにならないようにするためです。
- チーム管理者のみがチームの設定を表示し、TTLの設定をチームレベルでアクセスできます。例えば、(1)TTLポリシーを設定または編集できる人を許可するか、(2) チームのデフォルトTTLを設定するかなど。
- W&BアプリのUIでTTLポリシーを設定または編集するオプションがアーティファクトの詳細に表示されない場合、またはプログラムでTTLを設定してもアーティファクトのTTLプロパティが正常に変更されない場合は、チーム管理者が権限を付与していない可能性があります。
TTLポリシーを編集および設定できる人を定義する
チーム内でTTLポリシーを設定および編集できる人を定義します。TTLの権限をチーム管理者のみに付与するか、チーム管理者とチームメンバーの両方にTTLの権限を付与するかを選択できます。
TTLポリシーを設定または編集できる人を定義できるのはチーム管理者のみです。
- チームのプロフィールページに移動します。
- Settingsタブを選択します。
- Artifacts time-to-live (TTL)セクションに移動します。
- TTL permissionsドロップダウンから、TTLポリシーを設定および編集できる人を選択します。
- Review and save settingsをクリックします。
- 変更を確認し、Save settingsを選択します。
TTLポリシーを作成する
アーティファクトを作成するときに、または作成後に遡及してTTLポリシーを設定します。
以下のコードスニペットでは、<>
で囲まれた内容を置き換えて使用してください。
アーティファクトを作成するときにTTLポリシーを設定する
W&B Python SDKを使用してアーティファクトを作成するときにTTLポリシーを定義します。TTLポリシーは通常、日数で定義されます。
アーティファクトを作成するときにTTLポリシーを定義する方法は、通常のアーティファクトを作成する方法と似ています。ただし、タイムデルタをアーティファクトのttl
属性に渡す点が異なります。
手順は次のとおりです:
- アーティファクトを作成する。
- ファイル、ディレクトリ、または参照などをアーティファクトに追加する。
- Pythonの標準ライブラリの一部である
datetime.timedelta
データ型でTTL時間制限を定義する。 - アーティファクトをログする。
以下のコードスニペットは、アーティファクトを作成し、TTLポリシーを設定する方法を示しています。
import wandb
from datetime import timedelta
run = wandb.init(project="<my-project-name>", entity="<my-entity>")
artifact = wandb.Artifact(name="<artifact-name>", type="<type>")
artifact.add_file("<my_file>")
artifact.ttl = timedelta(days=30) # TTLポリシーを設定
run.log_artifact(artifact)
前述のコードスニペットでは、アーティファクトのTTLポリシーを30日に設定しています。つまり、W&Bは30日後にアーティファクトを削除します。
アーティファクトを作成した後にTTLポリシーを設定または編集する
既存のアーティファクトのTTLポリシーを定義するには、W&BアプリUIまたはW&B Python SDKを使用します。
アーティファクトのTTLを変更する場合、そのアーティファクトが削除されるまでの時間は依然としてアーティファクトのcreatedAt
タイムスタンプを基に計算されます。
- Python SDK
- W&B App
- アーティファクトを取得する。
- タイムデルタをアーティファクトの
ttl
属性に渡す。 save
メソッドでアーティファクトを更新する。
以下のコードスニペットは、アーティファクトにTTLポリシーを設定する方法を示しています:
import wandb
from datetime import timedelta
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = timedelta(days=365 * 2) # 2年後に削除
artifact.save()
前述のコード例では、TTLポリシーを2年に設定しています。
- W&BアプリUIの自分のプロジェクトに移動します。
- 左のパネルでアーティファクトアイコンを選択します。
- アーティファクトのリストから、タイプを展開します。
- TTLポリシーを編集したいアーティファクトバージョンを選択します。
- Versionタブをクリックします。
- ドロップダウンからEdit TTL policyを選択します。
- 表示されるモーダル内で、TTLポリシードロップダウンからCustomを選択します。
- TTL durationフィールド内で、日単位でTTLポリシーを設定します。
- 変更を保存するためにUpdate TTLボタンを選択します。
チームのデフォルトTTLポリシーを設定する
チームのデフォルトTTLポリシーを設定できるのはチーム管理者のみです。
チームのデフォルトTTLポリシーを設定します。デフォルトのTTLポリシーは、既存および将来の全てのアーティファクトに、それぞれの作成日に基づいて適用されます。既存のバージョンレベルのTTLポリシーを持つアーティファクトはチームのデフォルトTTLの影響を受けません。
- チームのプロフィールページに移動します。
- Settingsタブを選択します。
- Artifacts time-to-live (TTL)セクションに移動します。
- Set team's default TTL policyをクリックします。
- Durationフィールド内で、日単位でTTLポリシーを設定します。
- Review and save settingsをクリックします。
- 変更を確認し、Save settingsを選択します。
TTLポリシーを無効にする
特定のアーティファクトバージョンのTTLポリシーを無効にするには、W&B Python SDKまたはW&BアプリUIを使用します。
- Python SDK
- W&B App
- アーティファクトを取得する。
- アーティファクトの
ttl
属性をNone
に設定します。 save
メソッドでアーティファクトを更新します。
以下のコードスニペットは、アーティファクトのTTLポリシーを無効にする方法を示しています:
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = None
artifact.save()
- W&BアプリUIの自分のプロジェクトに移動します。
- 左のパネルでアーティファクトアイコンを選択します。
- アーティファクトのリストから、タイプを展開します。
- TTLポリシーを編集したいアーティファクトバージョンを選択します。
- Versionタブをクリックします。
- Link to registryボタンの横にあるミートボールUIアイコンをクリックします。
- ドロップダウンからEdit TTL policyを選択します。
- 表示されるモーダル内で、TTLポリシードロップダウンからDeactivateを選択します。
- 変更を保存するためにUpdate TTLボタンを選択します。
TTLポリシーを表示する
Python SDKまたはW&BアプリのUIを使用して、アーティファクトのTTLポリシーを表示します。
- Python SDK
- W&B App
print文を使用してアーティファクトのTTLポリシーを表示します。以下の例では、アーティファクトを取得してそのTTLポリシーを表示する方法を示しています:
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
print(artifact.ttl)
W&BアプリUIでアーティファクトのTTLポリシーを表示します。
- https://wandb.aiのW&Bアプリにアクセスします。
- 自分のW&Bプロジェクトに移動します。
- プロジェクト内で、左のサイドバーのArtifactsタブを選択します。
- コレクションをクリックします。
コレクションビュー内では、選択されたコレクション内の全てのアーティファクトを見ることができます。Time to Live
列内で、そのアーティファクトに割り当てられたTTLポリシーを見ることができます。