[Misc] Refactor additional_config (#1029)
More and more config options are added to additional_config. This PR provide a new AscendConfig to manage these config options by an easier way to make code cleaner and readable. This PR also added the `additional_config` doc for users. Added the test_ascend_config.py to make sure the new AscendConfig works as expect. TODO: Add e2e test with torchair and deepseek once the CI resource is available. Signed-off-by: wangxiyuan <wangxiyuan1007@gmail.com>
This commit is contained in:
@@ -46,6 +46,7 @@ faqs
|
||||
user_guide/suppoted_features
|
||||
user_guide/supported_models
|
||||
user_guide/env_vars
|
||||
user_guide/additional_config
|
||||
user_guide/release_notes
|
||||
:::
|
||||
|
||||
|
||||
70
docs/source/user_guide/additional_config.md
Normal file
70
docs/source/user_guide/additional_config.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Additional Configuration
|
||||
|
||||
addintional configuration is a mechanism provided by vLLM to allow plugins to control inner behavior by their own. vLLM Ascend uses this mechanism to make the project more flexible.
|
||||
|
||||
## How to use
|
||||
|
||||
With either online mode or offline mode, users can use additional configuration. Take Qwen3 as an example:
|
||||
|
||||
**Online mode**:
|
||||
|
||||
```bash
|
||||
vllm serve Qwen/Qwen3-8B --additional-config='{"config_key":"config_value"}'
|
||||
```
|
||||
|
||||
**Offline mode**:
|
||||
|
||||
```python
|
||||
from vllm import LLM
|
||||
|
||||
LLM(model="Qwen/Qwen3-8B", additional_config={"config_key":"config_value"})
|
||||
```
|
||||
|
||||
### Configuration options
|
||||
|
||||
The following table lists the additional configuration options available in vLLM Ascend:
|
||||
|
||||
| Name | Type | Default | Description |
|
||||
| ---- | ---- | ------- | ----------- |
|
||||
| `torchair_graph_config` | dict | `{}` | The config options for torchair graph mode |
|
||||
| `ascend_scheduler_config` | dict | `{}` | The config options for ascend scheduler |
|
||||
| `expert_tensor_parallel_size` | str | `1` | Expert tensor parallel size the model to use. |
|
||||
|
||||
The details of each config option are as follows:
|
||||
|
||||
**torchair_graph_config**
|
||||
|
||||
| Name | Type | Default | Description |
|
||||
| ---- | ---- | ------- | ----------- |
|
||||
| `enabled` | bool | `False` | Whether to enable torchair graph mode |
|
||||
| `use_cached_graph` | bool | `False` | Whether to use cached graph |
|
||||
| `graph_batch_sizes` | list[int] | `[]` | The batch size for torchair graph cache |
|
||||
| `graph_batch_sizes_init` | bool | `False` | Init graph batch size dynamically if `graph_batch_sizes` is empty |
|
||||
|
||||
**ascend_scheduler_config**
|
||||
|
||||
| Name | Type | Default | Description |
|
||||
| ---- | ---- | ------- | ----------- |
|
||||
| `enabled` | bool | `False` | Whether to enable ascend scheduler for V1 engine|
|
||||
|
||||
ascend_scheduler_config also support the options from [vllm scheduler config](https://docs.vllm.ai/en/stable/api/vllm/config.html#vllm.config.SchedulerConfig). For example, you can add `chunked_prefill_enabled: true` to ascend_scheduler_config as well.
|
||||
|
||||
### Example
|
||||
|
||||
A full example of additional configuration is as follows:
|
||||
|
||||
```
|
||||
{
|
||||
"torchair_graph_config": {
|
||||
"enabled": true,
|
||||
"use_cached_graph": true,
|
||||
"graph_batch_sizes": [1, 2, 4, 8],
|
||||
"graph_batch_sizes_init": true
|
||||
},
|
||||
"ascend_scheduler_config": {
|
||||
"enabled": true,
|
||||
"chunked_prefill_enabled": true,
|
||||
},
|
||||
"expert_tensor_parallel_size": 1
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user