8000 Use deferred imports instead of lazy loading by tiran · Pull Request #121 · instructlab/training · GitHub
[go: up one dir, main page]

Skip to content

Use deferred imports instead of lazy loading - #121

Merged
RobotSail merged 1 commit into
instructlab:mainfrom
tiran:defer-import
Jul 2, 2024
Merged

RobotSail merged 1 commit into
instructlab:mainfrom
tiran:defer-import

Conversation

@tiran
@tiran tiran commented Jul 2, 2024
Copy link
Copy Markdown
Contributor

PR #116 added lazy loading of run_training function with a PEP 562 __getattr__ module hook. Pylint does not understand the trick, which caused some problems. Replace the lazy hook with a wrapper function and deferred imports.

Also mark all public APIs with a comment, so developers are aware which classes are used by other packages.

PR instructlab#116 added lazy loading of `run_training` function with a PEP 562
`__getattr__` module hook. Pylint does not understand the trick, which
caused some problems. Replace the lazy hook with a wrapper function and
deferred imports.

Also mark all public APIs with a comment, so developers are aware which
classes are used by other packages.

Signed-off-by: Christian Heimes <cheimes@redhat.com>
@RobotSail RobotSail left a comment
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@RobotSail
RobotSail merged commit 8fa3cb8 into instructlab:main Jul 2, 2024
Atharva1763 pushed a commit to Atharva1763/training that referenced this pull request Jul 11, 2024
The `main_ds` module imports DeepSpeed and PyTorch. These imports take a
very long time and slow down startup of the Instruct CLI `ilab` tool by
over a second.

Use PEP 562 hooks to implement lazy import and loading for
`run_training` function. The function is imported when the attribute is
accessed.

See: instructlab/instructlab#1467

Signed-off-by: Christian Heimes <cheimes@redhat.com>

Catch Error if Packing Max Batch Len Cannot be Found (instructlab#114)

this will remove the control for sampler

instead sampler will be decided if the max batch len cannot be found.

---------

Signed-off-by: Yu Chin Fabian Lim <flim@sg.ibm.com>
Signed-off-by: Mustafa Eyceoz <maxusmusti@gmail.com>
Co-authored-by: Mustafa Eyceoz <maxusmusti@gmail.com>

Use deferred imports instead of lazy loading (instructlab#121)

PR instructlab#116 added lazy loading of `run_training` function with a PEP 562
`__getattr__` module hook. Pylint does not understand the trick, which
caused some problems. Replace the lazy hook with a wrapper function and
deferred imports.

Also mark all public APIs with a comment, so developers are aware which
classes are used by other packages.

Signed-off-by: Christian Heimes <cheimes@redhat.com>

Reduce unecessary multiprocessing (instructlab#79)

Signed-off-by: Mustafa Eyceoz <meyceoz@redhat.com>

Flash Attention Disable Toggle (Take 2) (instructlab#118)

For hardware scenarios where flash attention is potentially not supported.

For issue instructlab#92

---------

Signed-off-by: Mustafa Eyceoz <meyceoz@redhat.com>

🐛: fix optimizer selection logic so that FusedAdam is never loaded when CPU offloading is enabled (instructlab#122)

Signed-off-by: Oleg S <97077423+RobotSail@users.noreply.github.com>

Add wheel to requirements (instructlab#123)

Signed-off-by: Mustafa Eyceoz <meyceoz@redhat.com>

Revert "Add wheel to requirements (instructlab#123)"

This reverts commit b91273e.

Changing the script for validation
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.

3 participants

0