Instructions to use togethercomputer/StripedHyena-Nous-7B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use togethercomputer/StripedHyena-Nous-7B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="togethercomputer/StripedHyena-Nous-7B", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("togethercomputer/StripedHyena-Nous-7B", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use togethercomputer/StripedHyena-Nous-7B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "togethercomputer/StripedHyena-Nous-7B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "togethercomputer/StripedHyena-Nous-7B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/togethercomputer/StripedHyena-Nous-7B
- SGLang
How to use togethercomputer/StripedHyena-Nous-7B 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 "togethercomputer/StripedHyena-Nous-7B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "togethercomputer/StripedHyena-Nous-7B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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 "togethercomputer/StripedHyena-Nous-7B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "togethercomputer/StripedHyena-Nous-7B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use togethercomputer/StripedHyena-Nous-7B with Docker Model Runner:
docker model run hf.co/togethercomputer/StripedHyena-Nous-7B
| from transformers import PretrainedConfig | |
| import json | |
| class StripedHyenaConfig(PretrainedConfig): | |
| model_type = "stripedhyena" | |
| def __init__( | |
| self, | |
| vocab_size=32000, | |
| hidden_size=4096, | |
| num_filters=4096, | |
| inner_mlp_size=14336, | |
| attn_layer_idxs=[], | |
| hyena_layer_idxs=[], | |
| num_layers=32, | |
| tie_embeddings=False, | |
| short_filter_length=3, | |
| num_attention_heads=32, | |
| proj_groups=4, | |
| hyena_filter_groups=1, | |
| split_k0=True, | |
| column_split_hyena=True, | |
| column_split=False, | |
| model_parallel_size=1, | |
| pipe_parallel_size=1, | |
| short_filter_bias=True, | |
| mha_out_proj_bias=False, | |
| qkv_proj_bias=False, | |
| final_norm=True, | |
| use_cache=True, | |
| use_flash_attention_2=True, | |
| use_flash_rmsnorm=True, | |
| use_flash_depthwise=False, | |
| use_flashfft=False, | |
| inference_mode=False, | |
| prefill_style="fft", | |
| max_seqlen=32768, | |
| eps=1e-5, | |
| state_size=2, | |
| rotary_emb_base=500000, | |
| smeared_gqa=False, | |
| make_vocab_size_divisible_by=8, | |
| log_intermediate_values=False, | |
| **kwargs, | |
| ): | |
| self.vocab_size = vocab_size | |
| self.hidden_size = hidden_size | |
| self.num_filters = num_filters | |
| self.inner_mlp_size = inner_mlp_size | |
| self.attn_layer_idxs = attn_layer_idxs | |
| self.hyena_layer_idxs = hyena_layer_idxs | |
| self.num_layers = num_layers | |
| self.tie_embeddings = tie_embeddings | |
| self.short_filter_length = short_filter_length | |
| self.num_attention_heads = num_attention_heads | |
| self.proj_groups = proj_groups | |
| self.hyena_filter_groups = hyena_filter_groups | |
| self.split_k0 = split_k0 | |
| self.column_split_hyena = column_split_hyena | |
| self.column_split = column_split | |
| self.model_parallel_size = model_parallel_size | |
| self.pipe_parallel_size = pipe_parallel_size | |
| self.short_filter_bias = short_filter_bias | |
| self.mha_out_proj_bias = mha_out_proj_bias | |
| self.qkv_proj_bias = qkv_proj_bias | |
| self.final_norm = final_norm | |
| self.use_cache = use_cache | |
| self.use_flash_attention_2 = use_flash_attention_2 | |
| self.use_flash_rmsnorm = use_flash_rmsnorm | |
| self.use_flash_depthwise = use_flash_depthwise | |
| self.use_flashfft = use_flashfft | |
| self.inference_mode = inference_mode | |
| self.prefill_style = prefill_style | |
| self.max_seqlen = max_seqlen | |
| self.eps = eps | |
| self.state_size = state_size | |
| self.rotary_emb_base = rotary_emb_base | |
| self.smeared_gqa = smeared_gqa | |
| self.make_vocab_size_divisible_by = make_vocab_size_divisible_by | |
| self.log_intermediate_values = log_intermediate_values | |
| super().__init__(**kwargs) | |
| def to_dict(self): | |
| return {attr: getattr(self, attr) for attr in self.__dict__} | |
| def from_original_config(cls, config_path, **kwargs): | |
| with open(config_path, "r") as f: | |
| config = json.load(f) | |
| return cls(**config, **kwargs) | |