Hi!!
First of all, great work on LLMServing Sim. I had some questions on the sim, would be appreciated if you can help me out in understanding.
- Looking at your given trace for certain GPUs/accelerator in /llm_profile/perf_models/A6000/meta-llama/Llama-3.1-8B/tp1/layers.csv
it seems for per input length, latencies of 15 layers are collected on real hardware.
I tried to re-run and collect traces it seems some layers are missing when input length is high? Also the layer_name "attn" is also missing in the 15 layers being collected. Maybe that can be fixed by adding self._attn_timer = Timer(name="attn") in /llm_profile/models/llama.py around L:241 and wrapping L:275-284 ?
-
I see that you just corrected the return parser.parse_args() in /layers/main.py (I was wondering why I wasn't able to capture latencies!!)
-
with prefix cache sharing enabled it seems the prefix cache is eagerly being promoted to cache, even if there is no future re-use of the prefix? shouldn't it be cached only if there is a future req that comes in with same prefix (input tokens or input+decoded output tokens)? just wondering if that takes up a lot of cache space!!
-
what exactly is the purpose of --enable-local-offloading? it seems when you define the NPU config, model weights are stored in NPU anyways? why offload weights on NPU if they are already on NPU?
I'd appreciate your thoughts and inputs on this.
Hi!!
First of all, great work on LLMServing Sim. I had some questions on the sim, would be appreciated if you can help me out in understanding.
it seems for per input length, latencies of 15 layers are collected on real hardware.
I tried to re-run and collect traces it seems some layers are missing when input length is high? Also the layer_name "attn" is also missing in the 15 layers being collected. Maybe that can be fixed by adding self._attn_timer = Timer(name="attn") in /llm_profile/models/llama.py around L:241 and wrapping L:275-284 ?
I see that you just corrected the return parser.parse_args() in /layers/main.py (I was wondering why I wasn't able to capture latencies!!)
with prefix cache sharing enabled it seems the prefix cache is eagerly being promoted to cache, even if there is no future re-use of the prefix? shouldn't it be cached only if there is a future req that comes in with same prefix (input tokens or input+decoded output tokens)? just wondering if that takes up a lot of cache space!!
what exactly is the purpose of --enable-local-offloading? it seems when you define the NPU config, model weights are stored in NPU anyways? why offload weights on NPU if they are already on NPU?
I'd appreciate your thoughts and inputs on this.