Support image columns and media collection in multi-shard Slurm runs

オープン
#1,114 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@nabinchha がすでに取り組んでいます。

2026年10月29日 から。

評価

この issue はまだ評価されていません。

説明

enhancement

Problem

Slurm planning explicitly rejects image columns when array_tasks.count > 1 in packages/data-designer-slurm/src/data_designer/slurm/planning/resolution.py.

Image generation can persist media separately from dataset rows. The current collection implementation merges verified Parquet outputs; it does not consolidate shard-local media files and preserve or rewrite their references. Removing the planning guard alone would therefore leave disk-backed image outputs unsupported.

Proposed solution

Define and implement image-output handling across shard generation, retries, winner publication, and collection. Include media artifacts in the output contract as needed, give them collision-safe identities, and ensure collected rows resolve to the correct images. Specify which persistence modes are supported.

Acceptance criteria

  • A dataset with an image column can run across multiple array tasks and be collected successfully.
  • Collected media references remain valid after collection, without depending on temporary allocation storage.
  • Media names cannot collide across shards or attempts.
  • Collection uses artifacts from winning attempts only and validates required files and their integrity.
  • Missing or corrupt media produces an actionable failure; retries and repeated collection do not publish partial output.
  • Tests cover supported persistence modes, shard retries, artifact references, and collection; documentation states any remaining restrictions.

Alternatives

Use a single array task for image generation, or assemble media and dataset references manually after separate runs.

Context

Related to #850. Plugin/custom-column sharding is tracked separately.

主要言語
Python
スター
2.4k
フォーク
241
平均マージ
22時間 24分
マージ済み PR(30日)
91

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

NVIDIA-NeMo/DataDesigner のほかの issue

NVIDIA-NeMo/DataDesigner の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。