Skip to content

Commit

Permalink
Readme update (mosaicml#2581)
Browse files Browse the repository at this point in the history
* images

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

graphics

* Update README.md

* Update README.md

* add key features image

* Update README.md

key features images

* Update README.md

* Update README.md

ecosystem image

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

remove methods link

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

delete old README

* Update README.md

update careers page

* Update README.md

block quote citation

* Update README.md

* Update README.md

* delete test_release_tests_reflect_readme

* remove release test

* update docs

* lint

* filter warning

* import

---------

Co-authored-by: Mihir Patel <[email protected]>
  • Loading branch information
ejyuen and mvpatel2000 authored Oct 3, 2023
1 parent 00939a0 commit 9bffbcb
Show file tree
Hide file tree
Showing 12 changed files with 160 additions and 424 deletions.
35 changes: 0 additions & 35 deletions .ci/build_conda.sh

This file was deleted.

10 changes: 0 additions & 10 deletions .ci/release_tests/example_1.py

This file was deleted.

30 changes: 0 additions & 30 deletions .ci/release_tests/example_2.py

This file was deleted.

3 changes: 0 additions & 3 deletions .ci/release_tests/print_world_size.py

This file was deleted.

22 changes: 0 additions & 22 deletions .ci/run_release_tests.sh

This file was deleted.

393 changes: 138 additions & 255 deletions README.md

Large diffs are not rendered by default.

Binary file added docs/source/_static/images/ecosystem.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/images/key_features.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/images/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/images/traning_loop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 22 additions & 34 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,28 @@
Composer
========

`Composer <https://github.com/mosaicml/composer>`_ is a library for training neural networks better, faster, and cheaper.
It contains many state-of-the-art methods for accelerating neural network training and improving generalization, along with
an optional :doc:`Trainer<trainer/using_the_trainer>` API that makes `composing` many different enhancements easy.

We implemented dozens of papers and `trained thousands of models <https://www.mosaicml.com/blog/mosaic-resnet>`_ so you don't have to.

With Composer, you can build recipes to:

.. include:: ../../README.md
:parser: myst_parser.sphinx_
:start-after: <!-- start numbers -->
:end-before: <!-- end numbers -->

.. include:: ../../README.md
:parser: myst_parser.sphinx_
:start-after: <!-- start main results -->
:end-before: <!-- end main results -->


Composer features:

- 20+ curated efficiency methods for training better language and vision models.
- An easy-to-use Trainer interface written to be as performant as possible, with integrated multi-GPU training, mixed-precision training, and numerous `best practices <https://www.mosaicml.com/blog/5-best-practices-for-efficient-model-training>`_ implemented out of the box.
- Standalone functional forms of training methods for easy integration into your own training loop
- Strong, reproducible baselines to get you started as fast as possible.

See :doc:`getting_started/installation` for
how to install and start using Composer, :doc:`trainer/using_the_trainer` for an introduction
to our trainer, and :doc:`trainer/algorithms` for details about our efficiency methods and how to use them in your code.

At `MosaicML <https://mosaicml.com>`_, we are focused on making fast, high-quality ML training accessible to everyone. To do this,
we continually productionize state-of-the-art academic research on efficient model
training, and also study the `combinations` of these methods in order to ensure
that model training is ✨ as efficient as possible ✨.
`Composer <https://github.com/mosaicml/composer>`_ is an open-source deep learning training
library by [MosaicML](https://www.mosaicml.com/). Built on top of PyTorch, the Composer library
makes it easier to implement distributed training workflows on large-scale clusters.

We built Composer to be **optimized for scalability and usability**, integrating best practices
for efficient, multi-node training. By abstracting away low-level complexities like parallelism
techniques, distributed data loading, and memory optimization, you can focus on training modern
ML models and running experiments without slowing down.

We recommend using Composer to speedup your experimentation workflow if you're training neural
networks of any size, including:

- Large Language Models (LLMs)
- Diffusion models
- Embedding models (e.g. BERT)
- Transformer-based models
- Convolutional Neural Networks (CNNs)

Composer is heavily used by the MosaicML research team to train state-of-the-art models like MPT,
and we open-sourced this library to enable the ML community to do the same. This framework is used
by organizations in both the tech industry and the academic sphere and is continually updated with
new features, bug fixes, and stability improvements for production workloads.

If you have any questions, please feel free to reach out to us on `Twitter`_, `Email`_, or `Slack`_!

Expand Down
35 changes: 0 additions & 35 deletions tests/test_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,38 +65,3 @@ def test_docker_build_matrix():

with open(os.path.join(docker_folder, 'build_matrix.yaml'), 'r') as f:
assert existing_build_matrix == f.read()


@pytest.mark.doctest
@pytest.mark.parametrize('example', [1, 2])
def test_release_tests_reflect_readme(example: int):
"""Test that example_1.py and example_2.py in release_tests reflect the README.md."""
with open(os.path.join(os.path.dirname(__file__), '..', 'README.md'), 'r') as f:
readme_lines = f.readlines()
example_code_lines = []
found_begin = False
started = False
for i, line in enumerate(readme_lines):
if f'begin_example_{example}' in line:
found_begin = True
continue
# Wait until we get the ```python for start of code snippet
if found_begin and not started:
if line == '```python\n':
started = True
# Reached end of code snippet
elif started and line == '```\n':
# Code snippet continues
if i + 2 < len(readme_lines) and '-->\n' == readme_lines[
i + 1] and '<!--pytest-codeblocks:cont-->\n' == readme_lines[i + 2]:
started = False
# Code snippet ends
else:
break
# Add line
elif started:
example_code_lines.append(line)

example_file = os.path.join(os.path.dirname(__file__), '..', '.ci', 'release_tests', f'example_{example}.py')
with open(example_file, 'r') as f:
assert f.readlines() == example_code_lines

0 comments on commit 9bffbcb

Please sign in to comment.