Skip to content

add interruption handling#169

Merged
voorhs merged 24 commits intodevfrom
add_interruption_handling
May 3, 2025
Merged

add interruption handling#169
voorhs merged 24 commits intodevfrom
add_interruption_handling

Conversation

@Samoed
Copy link
Copy Markdown
Member

@Samoed Samoed commented Mar 23, 2025

No description provided.

@Samoed Samoed requested a review from voorhs March 23, 2025 22:50
Copy link
Copy Markdown
Collaborator

@voorhs voorhs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

круто!

Comment thread autointent/nodes/_node_optimizer.py Outdated
Comment thread tests/assets/configs/optuna.yaml
Comment thread autointent/nodes/_node_optimizer.py Outdated
@Samoed
Copy link
Copy Markdown
Member Author

Samoed commented Mar 24, 2025

Я не понимаю из-за чего тесты ломаются совсем. Локально по отдельности они работают

@Samoed Samoed mentioned this pull request Mar 26, 2025
Comment thread autointent/nodes/_node_optimizer.py
@voorhs
Copy link
Copy Markdown
Collaborator

voorhs commented Mar 28, 2025

у нас еще есть такая тема что во время оптимизации есть два способа сохранять обученные модули: либо в ОЗУ либо на диск. по идее сохранение на ОЗУ не совместимо с resuming, поэтому надо выдавать соответствующие ворнинги

и в целом мне кажется надо еще протестировать как работает Pipeline.dump и Pipeline.load после resuming

@voorhs
Copy link
Copy Markdown
Collaborator

voorhs commented Mar 28, 2025

наверное еще стоит сделать проверку полного конфига на то что мы резюмим ран с тем же конфигом

@Samoed Samoed force-pushed the add_interruption_handling branch from bc1f31e to 0bdd785 Compare March 31, 2025 12:22
@voorhs
Copy link
Copy Markdown
Collaborator

voorhs commented Apr 2, 2025

У нас трудновосстановимая промежуточная инфа (numpy массивы с предсказанными вероятностями и имя лучшего подобранного эмбедера) сохраняется в виде артефактов (context.optimization_info.artifacts).

Поэтому, чтобы реализовать полноценный interruption handling, я предлагаю реализовать метод Context.optimization_info.load(), который будет загружать эти артефакты из папки проекта. Если этих артефактов нет, то просто бросать ошибку и говорить "продолжить с прежнего момента невозможно, начните заново с настройками dump_modules=True если хотите вновь резьюмить ран`.

Гипотетическая сложность в том, что надо еще реализовать дампинг артефактов в память во время оптимизации :) у нас сохраняются только Trials и то в конце рана и в модифицированном виде, а вот для артефактов нет пайплайна для дампинга/лоадинга

Copy link
Copy Markdown
Collaborator

@voorhs voorhs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

если тесты проходят то получается все ок? или ты еще не все тесты написал

мне надо будет подробнее потом посмотреть

@Samoed
Copy link
Copy Markdown
Member Author

Samoed commented Apr 9, 2025

Вроде все, но не уверен

Comment thread autointent/_pipeline/_pipeline.py Outdated
Comment thread pyproject.toml Outdated
@Samoed Samoed force-pushed the add_interruption_handling branch from b607d12 to b57c002 Compare April 21, 2025 11:18
voorhs and others added 4 commits May 3, 2025 17:40
* try to fix

* fix typing errors

* bug fix

* Update autointent/nodes/_node_optimizer.py

Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>

---------

Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>
* try to fix

* dump context constantly and fix serialization issues

* add exclude option to dumper

* fix codestyle and typing errors

* try to fix file exists error

* fix no fixture found error
* full tuning (#165)

* Added code for full tuning

* work on review

* renaming

* fix ruff

* mypy test

* ignote mypy

* Feat/bert scorer config refactoring (#168)

* refactor configs

* add proper configs to BERTScorer

* fix typing

* fix tokenizer's parameters

* fix transformers and accelerate issue

* Update optimizer_config.schema.json

* bug fix

* update callback test

* fix tests

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* delete validate_task

* report_to

* batches

* Fix/docs building for bert scorer (#171)

* fix

* fix codestyle

---------

Co-authored-by: Алексеев Илья <44509110+voorhs@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* bert-scorer ending (#172)

* batches

* tests check

* fix

* return to torch

* fix for tests

* Fix/bert scorer (#174)

* fix str and float issue and shrinken search space

* update `inference node config` overriding logic

* fix typing

* fix codestyle

* fix multilabel issue

* attempt to fix `inference node config` bugs

* another attempt

---------

Co-authored-by: Алексеев Илья <44509110+voorhs@users.noreply.github.com>

* Feat/code carbon each node (#175)

* feat: update codecarbon

* feat: update codecarbon

* feat: added codecarbon

* Update optimizer_config.schema.json

* fix: fixed import mypy

* fix: codecarbon package

* fix: only float\integer log

* fix: codecarbon package

* fix: mypy

* fix: test

* fix: delete emissions

* fix: test

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* standartize pyproject & speedup tests (#176)

* speedup tests

* fix pyproject

* Update optimizer_config.schema.json

* move optional dependencies

* fixes

* add xdist

* fix ci

* download data from hub in doc

* add caching

* add doc cache

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>

* add proper `omit` definition for tests coverage report (#179)

* add proper `omit` definition

* Update optimizer_config.schema.json

* exclude tmp from coverage report

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* add node validators (#177)

* add node validators

* add comments

* Update optimizer_config.schema.json

* rename bert model

* lint

* fixes

* fix test

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>

* dumper saving (#180)

* added main code for saving models

* Update optimizer_config.schema.json

* checker fixes

* Revert "checker fixes"

This reverts commit 6e32eb9.

* Revert "added main code for saving models"

This reverts commit 5637fb8.

* drat main code for new dumper

* ruf fix

* comments

* added code for test dumper

* Check dumper (#182)

* Feat/code carbon each node (#175)

* feat: update codecarbon

* feat: update codecarbon

* feat: added codecarbon

* Update optimizer_config.schema.json

* fix: fixed import mypy

* fix: codecarbon package

* fix: only float\integer log

* fix: codecarbon package

* fix: mypy

* fix: test

* fix: delete emissions

* fix: test

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* standartize pyproject & speedup tests (#176)

* speedup tests

* fix pyproject

* Update optimizer_config.schema.json

* move optional dependencies

* fixes

* add xdist

* fix ci

* download data from hub in doc

* add caching

* add doc cache

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>

* add proper `omit` definition for tests coverage report (#179)

* add proper `omit` definition

* Update optimizer_config.schema.json

* exclude tmp from coverage report

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* add node validators (#177)

* add node validators

* add comments

* Update optimizer_config.schema.json

* rename bert model

* lint

* fixes

* fix test

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>

* update makefile

* update bert test

* mypy workaround

* attempt to fix windows permission error

* workaround

---------

Co-authored-by: Darinochka <39233990+Darinochka@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Алексеев Илья <44509110+voorhs@users.noreply.github.com>
Co-authored-by: Darinochka <39233990+Darinochka@users.noreply.github.com>
Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>

* Update embedder prompt (#183)

* Add trust remote code (#185)

* lint

* fix trust remote code

* Update optimizer_config.schema.json

* update fix trust remote code

* fix test cllback

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Remove autointent org from docs (#186)

* lint

* update paths

* feat: added crossencoder (#181)

* feat: added crossencoder

* refactor

* feat: added arg similarity

* Update optimizer_config.schema.json

* feat: added tests

* feat: added errors

* fix: scoring test

* fix: description vectors error

* fix: description vectors error

* fix: lint

* fix: test

* add node validators (#177)

* add node validators

* add comments

* Update optimizer_config.schema.json

* rename bert model

* lint

* fixes

* fix test

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>

* fix: unit tests

* feat: added test for description

* feat: delete encoder_type from the class args

* feat: update assets

* feat: update assets

* fix: fixed test

* Update optimizer_config.schema.json

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>
Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>

* Add few shot (#187)

* init few shot

* Update optimizer_config.schema.json

* apply few shot to all

* Update optimizer_config.schema.json

* fix test

* lint

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* update numpy typing (#188)

* Lora scorer (#170)

* added lora scorer

* fix ruff

* Update __init__.py

* updated after mr #165

* Update pyproject.toml

* fixed requested changes

* fixed ruff failing

* fixed remarks

* Update optimizer_config.schema.json

* added test

* ruff fix

* convert labels to float

* Update autointent/modules/scoring/_lora/lora.py

Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>

* Update autointent/modules/scoring/_lora/lora.py

Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>

* change model_config name, added trust_remote_code

* Update lora.py

* inherited lora from bert

* fix ruff

* fix search space

* Update lora.py

* Update lora.py

* added dump check

* Update test_lora.py

* Update test_lora.py

* added docstring

* fix ruff

* Update test_lora.py

* Update test_lora.py

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>

* PTuningScorer (#178)

* Initial commit of  PTuningScorer module

* Added peft (>=0.10.0, <0.15.0) in dependencies

* Implement fit/predict PTuningScorer

* Added PTuningScorer in __init__ file

* Update optimizer_config.schema.json

* Minor fixs

* PGH00

* Refactor clear_cache in fit method

* Refactor typing ignore + remove unnecessary

* Fix fit method status check

* Added test for PTuningScorer

* Fix mypy typing

* Update and fix peft version dependencies

* Fix mypy typing

* Added test in multiclass.yaml, multilabel.yaml

* Update docs strings

* Fix mypy typing

* Added trust_remote_code

* make proper rst reference

* Added test for dump lod

* feat: added crossencoder (#181)

* feat: added crossencoder

* refactor

* feat: added arg similarity

* Update optimizer_config.schema.json

* feat: added tests

* feat: added errors

* fix: scoring test

* fix: description vectors error

* fix: description vectors error

* fix: lint

* fix: test

* add node validators (#177)

* add node validators

* add comments

* Update optimizer_config.schema.json

* rename bert model

* lint

* fixes

* fix test

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>

* fix: unit tests

* feat: added test for description

* feat: delete encoder_type from the class args

* feat: update assets

* feat: update assets

* fix: fixed test

* Update optimizer_config.schema.json

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>
Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>

* Added fixed seed to test reproduction

* Pull LoraScorer and Bert Refactor

* Refactor PTuningScorer

* Refactor test for ptuning

* Fix typing

* Fix multilabel multiclass tests

* Fix typing

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>
Co-authored-by: Darinochka <39233990+Darinochka@users.noreply.github.com>
Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>

* Rerank scorer: опция для выбора источника для расчета вектора вероятностей (#115)

* Enable rerank scorer to use crossencoder scores for the probability vector

* add cross encoder scores range options

* upd test

---------

Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>

* feat: add DISABLE_EMISSIONS_TRACKING (#191)

* feat: add DISABLE_EMISSIONS_TRACKING

* try to fix docs error

* Update optimizer_config.schema.json

* another attempt

* Update optimizer_config.schema.json

* i give up for now

* Update optimizer_config.schema.json

---------

Co-authored-by: voorhs <ilya_alekseev_2016@list.ru>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix issue (#194)

* Refactor/embedding caching (#195)

* implement new hashing strategy

* fix codestyle

* Update optimizer_config.schema.json

* minor bug fix

* fix typing error

* refactor similarity calculation

* Update optimizer_config.schema.json

* upd callback test

* solve 429 error

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* forgot something

---------

Co-authored-by: Сергей Малышев <68858104+SeBorgey@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Darinochka <39233990+Darinochka@users.noreply.github.com>
Co-authored-by: Roman Solomatin <samoed.roman@gmail.com>
Co-authored-by: VALERIA RUBANOVA <76725077+riapush@users.noreply.github.com>
Co-authored-by: nikiduki <72929274+nikiduki@users.noreply.github.com>
Co-authored-by: Dmitryv-2024 <dmitry.v.zhelobanov@yandex.ru>
@voorhs voorhs merged commit 8580f19 into dev May 3, 2025
24 of 26 checks passed
@voorhs voorhs deleted the add_interruption_handling branch May 3, 2025 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants