Обучение мульти-модели Snowflake SPCS — ошибки 403 через некоторое времяPython

Программы на Python
Ответить
Anonymous
 Обучение мульти-модели Snowflake SPCS — ошибки 403 через некоторое время

Сообщение Anonymous »

Я пытаюсь выполнить длительное задание по обучению, используя функцию распределенного обучения нескольких моделей «снежинки». Используя образец моих обучающих данных (~ 100 тыс. строк), этот процесс завершается без проблем. Однако при расширении всего обучающего набора (~ 150 миллионов строк) я начинаю сталкиваться с ошибками 403 в позже обработанных разделах моего набора данных. Эти ошибки возникают примерно через 6 часов обучения; разделы, которые были обучены ранее, не имеют проблем.
Выдаются следующие исключения, одинаковые для каждого отказавшего раздела.

Код: Выделить всё

An exception was raised from a task of operator "ReadResultSetDataSource->SplitBlocks(2)". Dataset execution will now abort.  To ignore this exception and continue, set DataContext.max_errored_blocks.
Traceback (most recent call last):
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/data/_internal/execution/streaming_executor_state.py", line 472, in process_completed_tasks
bytes_read = task.on_data_ready(
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/data/_internal/execution/interfaces/physical_operator.py", line 138, in on_data_ready
raise ex from None
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/data/_internal/execution/interfaces/physical_operator.py", line 134, in on_data_ready
ray.get(block_ref)
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/_private/auto_init_hook.py", line 22, in auto_init_wrapper
return fn(*args, **kwargs)
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/_private/client_mode_hook.py", line 104, in wrapper
return func(*args, **kwargs)
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/_private/worker.py", line 2849, in get
values, debugger_breakpoint = worker.get_objects(object_refs, timeout=timeout)
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/_private/worker.py", line 937, in get_objects
raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(RuntimeError): [36mray::ReadResultSetDataSource->SplitBlocks(2)()[39m (pid=58742, ip=**.***.**.**)
snowflake.connector.network.RetryRequest: 290403: HTTP 403: Forbidden

Код: Выделить всё

[36mray::ReadResultSetDataSource->SplitBlocks(2)()[39m (pid=58742, ip=**.***.**.**)
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/data/_internal/execution/operators/map_operator.py", line 552, in _map_task
for b_out in map_transformer.apply_transform(iter(blocks), ctx):
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/data/_internal/execution/operators/map_transformer.py", line 601, in __call__
for block in blocks:
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/data/_internal/execution/operators/map_transformer.py", line 532, in __call__
for data in iter:
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/data/_internal/execution/operators/map_transformer.py", line 377, in __call__
yield from self._block_fn(input, ctx)
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/data/_internal/planner/plan_read_op.py", line 106, in do_read
yield from read_task()
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/ray/data/datasource/datasource.py", line 168, in __call__
yield from result
File "/opt/python/cpython-3.10-linux-x86_64-gnu/lib/python3.10/site-packages/implementations/ray_data_ingester.py", line 255, in _read_fn
raise RuntimeError(
RuntimeError: Unable to refresh batches: invalid query_id
Я попробовал установить для параметра Keep Live значение true

Код: Выделить всё

SESSION.sql("ALTER SESSION SET CLIENT_SESSION_KEEP_ALIVE = TRUE").collect()
а также передача ссылки на таблицу и фрейм данных в памяти при неудачном обучении.

Код: Выделить всё

trainer = ManyModelTraining(
train_func=train_model,
stage_name=MMT_STAGE,
serde=ModelOnlySerde(),
)

run = trainer.run(
partition_by="PARTITION_ID",
#snowpark_dataframe=SESSION.table(

Подробнее здесь: [url]https://stackoverflow.com/questions/79824764/snowflake-spcs-multi-model-training-403-errors-after-some-time[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»