Как лучше организовать обучение, если датасет занимает 30+ Тб данных?
процесс обучения нейросетей в общем выглядит следующим образом.
Исходные данные преобразуются к виду и форме, подходящей для выбранной нейросети (в конечном счете это просто пара векторов вход и выход, но да бывают нюансы но в общем это где то так), иногда данные удобнее хранить не в сыром виде, как они идут в нейросеть, а в предварительном (условно для gpt нейронок вместо хранения токенов, где на каждый токен - вектор из 512 чисел, проще хранить исходный текст, и преобразовывать их в токены в момент подачи в нейросеть).
Затем организуется цикл:
Прогнать всю обучающую выборку (все имеющиеся данные) через нейросеть, вычислить расхождение текущей сети с ожиданием, подправить нейросеть
повторить цикл до некоторых критериев (например ошибка ниже порога, или скорость падения ошибки замедлилась ниже порога, или прогон на тестовом наборе выдает ошибку выше порога и т.п.)
Затем полученную нейросеть оценивают с практической точки зрения, и если что то не так, меняют гиперпараметры нейронной сети (размерность, алгоритм, способ подготовки данных и т.п.) и прогоняют цикл заново.
В итоге - исходные данные буду считываться постоянно и непрерывно много много раз (тысячи-сотни тысяч раз).
В вашем случае очень глупо (неоправданно дорого) прогонять через нейросеть сами данные. Поработайте с ними, подготовьте обучающий датасет (простой пример, если вам нужно на изображениях искать другие изображения, то вы должны их руками или иными способами, вырезать из исходных изображений, и уже на основе нового датасета проводить обучение, если данных очень много, то можно обучать сначала на подмножестве данных, а потом полученную нейросеть пытаться запряч на обработку оставшегося датасета, параллельно верифицируя результат и создавая новый датасет из ошибок и уже на основе этого датасета пытаться что то переобучить/дотюнить). Попробуйте создавать несколько сетей разного размера на базе подмножества данных, так вы сможете построить график качества сети от ее размера (например зафиксировав время обучения) или наоброт график времени обучения для получения одинакового результата... полученные графики можно использовать для оценки, на каком предельном значении размера какие потребуются затраты на обучения. Точно так же можно посчитать зависимость результата от объема подмножества данных от общего датасета.
Но в первую очередь я бы посмотрел как эту или похожую задачу уже решали, сэкономите много денег и времени.
Процесс обучения нейросети - творческий, нет простых шагов, которые бы давали гарантию результата.