W&B アーティファクト の Time-to-Live (TTL) ポリシーを使用すると、W&B でアーティファクト が削除されるタイミングをスケジュールできます。アーティファクト を削除すると、W&B はその アーティファクト を ソフト削除 としてマークします。つまり、アーティファクト は削除対象としてマークされますが、ファイルは storage からすぐには削除されません。W&B がアーティファクト をどのように削除するかについて詳しくは、Delete artifacts ページを参照してください。
W&B App で Artifacts TTL を使ってデータ保持を管理する方法については、動画チュートリアルの Managing data retention with Artifacts TTL をご覧ください。
チームの設定 を表示し、(1) TTL ポリシーを設定または編集できるユーザーの許可や、(2) チームのデフォルト TTL の設定など、チームレベルの TTL 設定にアクセスできるのはチーム管理者のみです。
W&B App UI でアーティファクト の詳細に TTL ポリシーを設定または編集するオプションが表示されない場合、またはプログラムで TTL を設定してもアーティファクト の TTL プロパティが正常に変更されない場合は、チーム管理者から必要な権限が付与されていません。
TTL ポリシーを使用できるのは、ユーザーが生成した Artifact のみです。W&B によって自動生成された Artifacts には、TTL ポリシーを設定できません。
次の Artifact タイプは、自動生成された Artifact であることを示します。
run_table
code
job
wandb-* で始まる任意の Artifact タイプ
Artifact のタイプは、W&B プラットフォーム 上で確認するか、プログラムから確認できます。
<> で囲まれた値は、ご自身の値に置き換えてください。
TTL ポリシーを設定・編集できるユーザーを指定する
チーム内で TTL ポリシーを設定・編集できるユーザーを指定します。TTL 権限はチーム管理者のみに付与することも、チーム管理者とチームメンバーの両方に付与することもできます。
TTL ポリシーを設定または編集できるユーザーを指定できるのは、チーム管理者のみです。
チームのプロフィールページにアクセスします。
Settings タブを選択します。
Artifacts time-to-live (TTL) section にアクセスします。
TTL permissions ドロップダウンから、TTL ポリシーを設定・編集できるユーザーを選択します。
Review and save settings をクリックします。
変更内容を確認し、Save settings を選択します。
artifact の作成時、または作成後に、artifact に TTL ポリシーを設定できます。
以下のすべてのコード スニペットでは、コード スニペットを使用する前に、<> で囲まれた内容を実際の情報に置き換えてください。
artifact の作成時に TTL ポリシーを設定する
W&B Python SDK を使用して、artifact の作成時に TTL ポリシーを定義します。TTL ポリシーは通常、日単位で定義します。
artifact の作成時に TTL ポリシーを定義する方法は、通常の artifact の作成 とほぼ同じです。異なるのは、artifact の ttl 属性に time delta を渡す点だけです。
手順は次のとおりです。
artifact を作成します 。
ファイル、ディレクトリ、参照などの内容を artifact に追加します 。
Python の標準ライブラリに含まれる datetime.timedelta データ型を使用して、TTL の有効期間を定義します。
artifact をログします 。
次の code snippet は、artifact を作成して TTL ポリシーを設定する方法を示しています。
前述のコードスニペットでは、artifact の TTL ポリシーを 30 日に設定しています。つまり、W&B は 30 日後に artifact を削除します。
artifact の作成後に TTL ポリシーを設定または編集する
W&B App UI または W&B Python SDK を使用して、既存の artifact に TTL ポリシーを設定します。
artifact の TTL を変更しても、artifact が期限切れになるまでの時間は、artifact の createdAt timestamp に基づいて計算されます。
artifact を取得します 。
artifact の ttl 属性に time delta を渡します。
save method で artifact を更新します。
次の code snippet は、artifact に TTL ポリシーを設定する方法を示しています。 このコード例では、TTL ポリシーを 2 年に設定しています。
W&B App UI で W&B のプロジェクトにアクセスします。
プロジェクトのサイドバーで artifact アイコンを選択します。
artifact の一覧から、対象の artifact type を展開します。
TTL ポリシーを編集する artifact バージョンを選択します。
Version タブをクリックします。
ドロップダウンから Edit TTL policy を選択します。
表示されたモーダルで、TTL ポリシーのドロップダウンから Custom を選択します。
TTL duration フィールドで、TTL ポリシーを日数単位で設定します。
Update TTL ボタンを選択して変更を保存します。
チームのデフォルト TTL ポリシーを設定できるのは、チーム管理者のみです。
チームのデフォルト TTL ポリシーを設定します。デフォルト TTL ポリシーは、それぞれの作成日を基準に、既存および今後作成されるすべての artifact に適用されます。すでにバージョンレベルの TTL ポリシーが設定されている artifact には、チームのデフォルト TTL は適用されません。
チームのプロフィールページにアクセスします。
Settings タブを選択します。
Artifacts time-to-live (TTL) section にアクセスします。
Set team’s default TTL policy をクリックします。
Duration フィールドで、TTL ポリシーを日数単位で設定します。
Review and save settings をクリックします。
7/ 変更内容を確認し、Save settings を選択します。
Public API を使用して、run を取得せずに artifact を取得し、TTL ポリシーを設定できます。TTL ポリシーは通常、日数単位で定義されます。
次のコード例は、Public API を使用して artifact を取得し、TTL ポリシーを設定する方法を示しています。
W&B Python SDK または W&B App UI を使用して、特定の artifact バージョンに設定された TTL ポリシーを無効にします。
artifact を取得します .
artifact の ttl 属性を None に設定します。
save method を使用して artifact を更新します。
次の コードスニペット は、artifact の TTL ポリシーを無効化する方法を示しています。
W&B App の UI で W&B のプロジェクトにアクセスします。
プロジェクトのサイドバーで artifact アイコンを選択します。
artifact のリストから、対象の artifact type を展開します。
TTL ポリシーを編集する artifact バージョンを選択します。
Version タブをクリックします。
Link to registry ボタンの横にある アクション ( ) メニューをクリックします。
ドロップダウンから Edit TTL policy を選択します。
表示されるモーダルで、TTL ポリシーのドロップダウンから Deactivate を選択します。
Update TTL ボタンを選択して変更を保存します。
Python SDK または W&B App UI を使用して、artifact の TTL ポリシーを確認できます。
print 文を使って artifact の TTL ポリシーを確認します。次の例は、artifact を取得して TTL ポリシーを確認する方法を示しています。 W&B App UI を使用して artifact の TTL ポリシーを確認します。
W&B App にアクセスします。
W&B のプロジェクトにアクセスします。
プロジェクト内で、プロジェクトのサイドバーにある Artifacts タブを選択します。
collection をクリックします。
collection ビューでは、選択した collection 内のすべての artifact を確認できます。Time to Live 列には、その artifact に割り当てられている TTL ポリシーが表示されます。
リンクされたアーティファクトバージョンの TTL ポリシー
W&B は、本番ワークフローで使用されるアーティファクトの有効期限切れを防ぐため、リンクされたアーティファクトバージョンの TTL ポリシーを無効にします。
アーティファクトバージョンを Registry のコレクションにリンクすると、W&B はその TTL ポリシーを無効にし、TTL を None に設定します。後でアーティファクトバージョンのリンクを解除しても、W&B は以前の TTL ポリシーやその期間を復元しません。アーティファクトバージョンに引き続き TTL ポリシーが必要な場合は、リンク解除後に新しい TTL ポリシーを設定してください。