Comments (6)
i think they abandoned open source for the paid model lol
from petals.
@cybershrapnel, I'm not sure where you got this impression, but Petals has no paid model and we have no intention of developing it :)
It's true that our current team of maintainers is very short on people, but we are trying to develop additional features for the library and are happy to support contributions (e.g., PRs) from the community
from petals.
@miaoqijun Thanks for the observation! Tagging @justheuristic just to be sure, but it looks like a very good catch: it might be that we overlooked the way metadata is built when making multiple inference steps. We'll try to look into it
from petals.
Hi, @mryab , @miaoqijun
lemme look into this, will write back soon
from petals.
Okay, so the problem OP described is certainly still there. And it's a shame that it took us so long to get to that π
@miaoqijun , thank you a lot for the work you've done when writing this issue.
For reproducibility, here's how i tested it:
- After this line: https://github.com/bigscience-workshop/petals/blob/c08d09c/src/petals/server/handler.py#L324 , i added
print("checking if should push to next_servers:", next_servers)
note: the commit id points to the main branch as of now
- test setup
# terminal 1 - initial peer
python -m petals.cli.run_dht --identity_path tests/bootstrap.id --host_maddrs /ip4/127.0.0.1/tcp/31337
# terminals 2 and 3 - repeat the same script
python -m petals.cli.run_server $MODEL_NAME --num_blocks 4 --device cpu --torch_dtype float32 --initial_peers $INITIAL_PEERS
# terminal 4: run inference test
pytest test_full_model.py::test_full_model_exact_match -s
Outputs from the first server match with what @miaoqijun reported earlier:
Note that the client knows the next servers during the first request - but it withholds them because processing prefix with pushes can be invalid in some cases (e.g. if client wishes to modify intermediate activations via prefix tuning).
Out of the two alternative solutions (either send next_servers
in the first request or what @miaoqijun proposed ) the latter is more general because it covers cases where next_servers
changed during inference (e.g. next server experienced hardware failure).
I will now reopen this as a PR and find a way to properly credit @miaoqijun in that pull request
from petals.
Thx for fixing this and happy with my contribution although itβs a bit late : )
from petals.
Related Issues (20)
- Feature Request: Distributed inference API where the "miners" are paid. HOT 2
- content of 'labels' when doing prompt tuning of llama-2 on QA
- Reachability issue while connecting to private swarm HOT 1
- Grok | Mixture-of-Experts | Model Support HOT 3
- Latest bump "Bump transformers and accelerate versions (#554)" looks to destroy Falcon support. HOT 5
- compile to webassembly HOT 3
- Is there a way to shard a model without downloading it first? HOT 2
- Error trying to raise Mixtral private swarm server HOT 13
- DynamicCache and Beam Search
- Manual management of shards HOT 1
- RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument tensors in method wrapper_CUDA_cat) HOT 2
- Error with PyTorch 2.3.0: Missing '_refresh_per_optimizer_state' in 'torch.cuda.amp.grad_scaler'
- LLama-3-70B support HOT 3
- System_prompt HOT 1
- batch processing/parallel processing HOT 1
- Donating System Memory? HOT 1
- Petals doesn't deal with server failure properly HOT 4
- Unable to connect to Private Swarm HOT 1
- Meta Llama 3.1 HOT 2
- NotImplementedError: HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from petals.