Skip to content

Conversation

@tiran
Copy link
Contributor

@tiran tiran commented Jul 2, 2024

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 <[email protected]>
Copy link
Member

@RobotSail RobotSail left a comment

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 <[email protected]>

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 <[email protected]>
Signed-off-by: Mustafa Eyceoz <[email protected]>
Co-authored-by: Mustafa Eyceoz <[email protected]>

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 <[email protected]>

Reduce unecessary multiprocessing (instructlab#79)

Signed-off-by: Mustafa Eyceoz <[email protected]>

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 <[email protected]>

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

Signed-off-by: Oleg S <[email protected]>

Add wheel to requirements (instructlab#123)

Signed-off-by: Mustafa Eyceoz <[email protected]>

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