Я пытаюсь выполнить длительное задание по обучению, используя функцию распределенного обучения нескольких моделей «снежинки». Используя образец моих обучающих данных (~ 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
Я пытаюсь выполнить длительное задание по обучению, используя функцию распределенного обучения нескольких моделей «снежинки». Используя образец моих обучающих данных (~ 100 тыс. строк), этот процесс завершается без проблем. Однако при расширении всего обучающего набора (~ 150 миллионов строк) я начинаю сталкиваться с ошибками 403 в позже обработанных разделах моего набора данных. Эти ошибки возникают примерно через 6 часов обучения; разделы, которые были обучены ранее, не имеют проблем. Выдаются следующие исключения, одинаковые для каждого отказавшего раздела. [code]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 [/code] [code][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 [/code] Я попробовал установить для параметра Keep Live значение true [code]SESSION.sql("ALTER SESSION SET CLIENT_SESSION_KEEP_ALIVE = TRUE").collect() [/code] а также передача ссылки на таблицу и фрейм данных в памяти при неудачном обучении. [code]trainer = ManyModelTraining( train_func=train_model, stage_name=MMT_STAGE, serde=ModelOnlySerde(), )
run = trainer.run( partition_by="PARTITION_ID", #snowpark_dataframe=SESSION.table(