Comments (4)
Now that I've been working with this a little more, I see why this is an issue. Ragged batches are going to be pretty common and we need to do something on our side to do batching. I'm running an experiment that requires generating ~200 tokens and the 6B model takes like 22 seconds on an A10 without batching (~110ms/token sounds too high, not sure what's going on). If batching is enabled and ragged batches exist, then triton processes each request in the batch serially but doesn't return till it's done processing the entire batch. So I see a latency of ~120s because of the fake "batching". I don't see why it does that but that's been my observation.
Here's a log to show that:
https://pastebin.com/36WqBC3F
Btw the current copilot_proxy code calls generate() in the main thread, so there's no concurrency there either. I've fixed that on my local version for now and will send a PR soon.
from fauxpilot.
I have a possibly dumb question -- is there a benefit of doing this? I thought Triton already supports dynamic batching, so why would proxy code need to handle this?
from fauxpilot.
#
Max number of tokens the model can handle
MAX_MODEL_LEN = 2048
FYI, When I actually tested the maximum length of the token using Codegen model, it was possible to 2025 instead of 2048.
from fauxpilot.
I have a possibly dumb question -- is there a benefit of doing this? I thought Triton already supports dynamic batching, so why would proxy code need to handle this?
Oh, you may be right! I should do some perf testing to see if there's any benefit to sending the batch ourselves vs letting Triton batch the inputs. I may have been confused when I read this issue (triton-inference-server/fastertransformer_backend#23) because looking more closely it only applies to ragged batches.
from fauxpilot.
Related Issues (20)
- `nvidia-docker` really required? HOT 2
- fauxpilot in cuda 11.7 HOT 1
- Minimum required gpu config HOT 3
- fastertransformer not available HOT 7
- "[StatusCode.UNIMPLEMENTED] Received http2 header with status: 404" from fauxpilot-copilot_proxy-1 HOT 1
- Do you have a client plugin for idea? HOT 2
- Can i add some other models to fauxpilot except codegen series, like gpt-neo. HOT 3
- Does fauxpilot support adding our own data set for finetuning? Thank you! HOT 3
- I try to use VSCode Copilot plugin by edit settings.json, but it seems that no requests have been sent to my local server HOT 6
- Python backend - fauxpilot-copilot_proxy failed to connect to all addresses HOT 8
- Support for the new replit-code-v1-3b model
- Support for StarCoder HOT 1
- CodeGen2 compatibility HOT 9
- CodeT5+ as the next model for FauxPilot? HOT 2
- can I launch fauxpilot without docker installation in notebook? HOT 1
- could Fauxpilot help to generate unit test for java code?
- Is it normal so much time to build? HOT 4
- Infinite time to (load?) and then it doen't even work?? HOT 4
- [bug] docker(version 20.10.21) version parse error in launch.sh HOT 1
- Support arm64 to minimize cost
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 fauxpilot.