Instructions to use nvidia/Hymba-1.5B-Base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use nvidia/Hymba-1.5B-Base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="nvidia/Hymba-1.5B-Base", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("nvidia/Hymba-1.5B-Base", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use nvidia/Hymba-1.5B-Base with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "nvidia/Hymba-1.5B-Base" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "nvidia/Hymba-1.5B-Base", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/nvidia/Hymba-1.5B-Base
- SGLang
How to use nvidia/Hymba-1.5B-Base with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "nvidia/Hymba-1.5B-Base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "nvidia/Hymba-1.5B-Base", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "nvidia/Hymba-1.5B-Base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "nvidia/Hymba-1.5B-Base", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use nvidia/Hymba-1.5B-Base with Docker Model Runner:
docker model run hf.co/nvidia/Hymba-1.5B-Base
fix int/str for conv_dim indexing
#5
by winglian - opened
- modeling_hymba.py +3 -3
modeling_hymba.py
CHANGED
|
@@ -396,7 +396,7 @@ class HybridMambaAttentionDynamicCache(DynamicCache):
|
|
| 396 |
|
| 397 |
if has_mamba_state:
|
| 398 |
if hasattr(config, 'conv_dim'):
|
| 399 |
-
conv_dim = config.conv_dim[i]
|
| 400 |
else:
|
| 401 |
conv_dim = intermediate_size
|
| 402 |
self.conv_states += [
|
|
@@ -1523,7 +1523,7 @@ class HymbaBlock(nn.Module):
|
|
| 1523 |
num_ssm_param = 1
|
| 1524 |
|
| 1525 |
if not hasattr(config, 'conv_dim'):
|
| 1526 |
-
config.conv_dim = {i:0 for i in range(config.num_hidden_layers)}
|
| 1527 |
|
| 1528 |
self.conv1d = nn.Conv1d(
|
| 1529 |
in_channels=self.intermediate_size,
|
|
@@ -1534,7 +1534,7 @@ class HymbaBlock(nn.Module):
|
|
| 1534 |
padding=self.conv_kernel_size - 1
|
| 1535 |
)
|
| 1536 |
|
| 1537 |
-
config.conv_dim[self.layer_idx] = self.intermediate_size
|
| 1538 |
|
| 1539 |
self.x_proj = nn.ModuleList([nn.Linear(self.intermediate_size, self.time_step_rank + self.ssm_state_size * 2, bias=False) for _ in range(num_ssm_param)])
|
| 1540 |
self.dt_proj = nn.ModuleList([nn.Linear(self.time_step_rank, self.intermediate_size, bias=True) for _ in range(num_ssm_param)])
|
|
|
|
| 396 |
|
| 397 |
if has_mamba_state:
|
| 398 |
if hasattr(config, 'conv_dim'):
|
| 399 |
+
conv_dim = config.conv_dim[str(i)]
|
| 400 |
else:
|
| 401 |
conv_dim = intermediate_size
|
| 402 |
self.conv_states += [
|
|
|
|
| 1523 |
num_ssm_param = 1
|
| 1524 |
|
| 1525 |
if not hasattr(config, 'conv_dim'):
|
| 1526 |
+
config.conv_dim = {str(i):0 for i in range(config.num_hidden_layers)}
|
| 1527 |
|
| 1528 |
self.conv1d = nn.Conv1d(
|
| 1529 |
in_channels=self.intermediate_size,
|
|
|
|
| 1534 |
padding=self.conv_kernel_size - 1
|
| 1535 |
)
|
| 1536 |
|
| 1537 |
+
config.conv_dim[str(self.layer_idx)] = self.intermediate_size
|
| 1538 |
|
| 1539 |
self.x_proj = nn.ModuleList([nn.Linear(self.intermediate_size, self.time_step_rank + self.ssm_state_size * 2, bias=False) for _ in range(num_ssm_param)])
|
| 1540 |
self.dt_proj = nn.ModuleList([nn.Linear(self.time_step_rank, self.intermediate_size, bias=True) for _ in range(num_ssm_param)])
|