Commit Graph

113 Commits (main)

Author SHA1 Message Date
Alexander Borzunov 1d9401ddce
Update README.md (#520) 8 months ago
Alexander Borzunov 158621677b
Bump version to 2.2.0 (#502) 9 months ago
Alexander Borzunov 26ebbfe8f0
Support macOS (#477)
This PR makes both clients and servers work on macOS. Specifically, it:

- Follows https://github.com/learning-at-home/hivemind/pull/586 to run a macOS-compatible `p2pd` binary (both x86-64 and ARM64 are supported)
- Fixes forking issues and tests on macOS, Python 3.10+
- Introduces basic support for serving model blocks on Apple M1/M2 GPUs (torch.mps)
- Increases max number of open files by default (it's not enough on Linux and is really small on macOS)
9 months ago
Alexander Borzunov 75e516a8c1
Refactor readme (#482) 9 months ago
Alexander Borzunov 6967904590
Bump version to 2.1.0 (#474)
* Bump version to 2.1.0
* Suggest using resharded repo
* LLaMA -> Llama in readme
9 months ago
Alexander Borzunov 00d48dcbe1
Override float32 in config to bfloat16 (#431) 10 months ago
Alexander Borzunov b58141ef66
Remove distracting links from readme (#441) 10 months ago
Alexander Borzunov 679397df0c
Update Discord links from channels to forums (#440)
As our Discord community growths, we found it difficult to look for open and resolved issues in **#running-a-client** and **#running-a-server** channels, as well as navigate through interleaving conversations happening there. That's why we recreated these channels as Discord forums, where different discussions are separated into different posts.
10 months ago
Alexander Borzunov 6a1b8a6a90
Add Stable Beluga 2 to readme (#424) 10 months ago
Alexander Borzunov cdc0f70653
Add Discord badge and more Discord links to readme (#422) 10 months ago
Guocheng 8072cd9d1b
Fix stale link (#418) 10 months ago
Alexander Borzunov ffb20b585c
Update commands for hosting Llama 2 in readme (#409) 10 months ago
Alexander Borzunov 48c6b6d963
Update README.md (#407) 10 months ago
Alexander Borzunov c153cba1fa
Add Llama 2, WSL instructions to readme (#406) 10 months ago
Alexander Borzunov 8666653cf5
Fix routing through relay, default network RPS, --token, logging, readme (#399)
* Hide GeneratorExit in _iterate_inference_steps()
* Update README.md about `--public_name`
* Use .from_pretrained(..., use_auth_token=token) instead of token=token
until it's fully supported across HF libs
* Use default network speed 25 Mbit/s
* Apply relay penalty in max-throughput routing
* Replace RPS with "tokens/sec per block" in logs
* Increase default expiration
10 months ago
justheuristic e51e84631d
Update to petals.dev (#390)
Since `petals.ml` DNS record is still unavailable, we're switching everything to https://petals.dev

Co-authored-by: Aleksandr Borzunov <hxrussia@gmail.com>
10 months ago
Alexander Borzunov b1ff8bdd6c
Bump version to 2.0.0.post1 (#384) 10 months ago
Alexander Borzunov 895327a0ae
Fix readme code example, require Python < 3.11 until supported (#374)
* Fix readme code example

* Require Python < 3.11 until it's supported
10 months ago
Alexander Borzunov c735dd7ba3
Update transformers to 4.31.0 and peft to 0.4.0 (#371) 10 months ago
Alexander Borzunov 3b300c32e4
Update readme to show new models (#365) 10 months ago
Alexander Borzunov 9517dd1e3d
Update readme and "Getting started" link (#360)
This updates readme with the latest updates and fixes an old Colab link, as pointed out in #359.
10 months ago
Alexander Borzunov 294970fe18
Update Colab link 10 months ago
Alexander Borzunov 515a5120cb
Mention LLaMA in readme (#344) 10 months ago
Alexander Borzunov 8f6342a861
Refactor RemoteSequenceManager (#309)
This PR:

1. **Extracts `SequenceManagerConfig` and `SequenceManagerState` subclasses.**

    The config is provided by caller and never changed from inside `RemoteSequenceManager`. The state is a part of the `RemoteSequenceManager`'s state shared between the main manager and its slices. We fix some slicing bugs along the way.

2. **Removes `dht_prefix` and `p2p` arguments, makes `dht` argument optional.**

    `dht_prefix` can always be overridden using `config.dht_prefix`. `p2p` actually needed only under the hood of `RemoteSequenceManager`, so it can extract it by itself without exposing this low-level class to callers. If strictly necessary, a caller can provide `p2p` as a part of `SequenceManagerState`. `dht` is also needed only by `RemoteSequenceManager`, so we can make it optional in the parent classes and create it automatically when it's not provided.

3. **Simplifies retry logic.**

    Previously, we could have "nested" retry loops: one in `._update()`, another in inference/forward/backward steps. The loop in `._update()` could introduce issues to concurrent inference/forward/backward calls, since it blocks the entire class if its delay period becomes too high. Now this logic is simplified: `._update()` performs only one attempt to fetch the DHT info, any retries are triggered by the inference/forward/backward steps.

4. **Removes deprecated `RemoteTransformerBlock`.**

    `RemoteTransformerBlock` was deprecated a long time ago, before Petals 1.0.0. Its removal is long due.

5. **Removes `dht_utils.get_remote_module()`, `dht_utils.get_remote_sequence()`.**

    This functions duplicate the functionality of the `RemoteSequential` constructor.

6. (minor) **Removes `RemoteSequential.is_subsequence` flag.**

    This flag worked incorrectly and was never used. I am removing it for the sake of simplicity.
1 year ago
Alexander Borzunov 5c0b4286b2
Suggest commands for Docker first (#304) 1 year ago
Alexander Borzunov a7d3d02194
Fix invalid author email in setup.cfg (#287) 1 year ago
Alexander Borzunov 8dab37c1a9
Add benchmarks to readme (#284) 1 year ago
Alexander Borzunov 42594e5173
Link FAQ in readme (#260) 1 year ago
Alexander Borzunov 5d7395e1b5
Prompt-tuning notebooks: suggest to use a smaller model for faster prototyping (#234) 1 year ago
Muhtasham Oblokulov 0ebf6de117
Add citation to readme (#219)
Co-authored-by: Alexander Borzunov <borzunov.alexander@gmail.com>
1 year ago
Alexander Borzunov fa5ac6e3b4
Mention BLOOMZ in readme (#221) 1 year ago
Alexander Borzunov e651d73f11
Add one more link to the "Getting started" tutorial (#218)
Some people miss the "Try now in Colab" link or don't understand that it leads to the comprehensive tutorial, so I added one more explicit link.
1 year ago
Alexander Borzunov 37373a66c3 Update Anaconda installation commands (#205) 1 year ago
Alexander Borzunov 391c855208
Add readme subsections (#185) 1 year ago
Alexander Borzunov f344c7801b
Add link to health.petals.ml to readme (#184) 1 year ago
Alexander Borzunov 27406a9377
Add more links to BLOOM to readme (#183) 1 year ago
Alexander Borzunov e27706358c
Use slightly less memory in .generate() (#177) 1 year ago
Alexander Borzunov 356e099c3d
Make Docker command more visible (#175) 1 year ago
Alexander Borzunov 779959bc70
Add link to PyPI (#173) 1 year ago
Alexander Borzunov cdc3b6a25a
Add PyPI badge, update instructions and links in readme (#172) 1 year ago
justheuristic 4014442a0f
Fix instruction for developers (#170) 1 year ago
Alexander Borzunov 26e6120288
Fix code example in readme (#169)
Makes it closer to runnable code, except for imports and defining tokenizer & data loader.
1 year ago
Alexander Borzunov 0b0277ed6f
Add link to chat.petals.ml (#168) 1 year ago
Vadim Peretokin 50fb8205de
Correct grammar in readme (#166) 1 year ago
Alexander Borzunov 714da529e6
Update wording in readme (#165) 1 year ago
Alexander Borzunov 523a7cad33
Fix issues related to `petals` as a module (#159)
1. Added `from petals.client import *` to `petals/__init__.py`, so you can write just that:

    ```python
    from petals import DistributedBloomForCausalLM
    ```

    I didn't do the same with server, since its classes are supposed to by used by `petals.cli.run_server`, not end-users. Though it's still possible to do `from petals.server.smth import smth` if necessary.

2. Fixed one more logging issue: log lines from hivemind were shown twice due to a bug in #156.

3. Removed unused `runtime.py`, since the server actually uses `hivemind.moe.Runtime`, and `runtime.py` has no significant changes comparing to it.
1 year ago
Aleksandr Borzunov f42e559c77 Update README.md 1 year ago
Alexander Borzunov 6beb686909
Add link to privacy & security Wiki (#144) 1 year ago
Alexander Borzunov e99bf36647
Use common folder for all caches, make it a volume in Dockerfile (#141) 1 year ago
Alexander Borzunov 5f50ea9c79
Update Anaconda instructions (#140) 1 year ago