Instructions to use TaylorAI/Flash-Llama-3B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use TaylorAI/Flash-Llama-3B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="TaylorAI/Flash-Llama-3B", trust_remote_code=True)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("TaylorAI/Flash-Llama-3B", trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("TaylorAI/Flash-Llama-3B", trust_remote_code=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use TaylorAI/Flash-Llama-3B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "TaylorAI/Flash-Llama-3B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "TaylorAI/Flash-Llama-3B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/TaylorAI/Flash-Llama-3B
- SGLang
How to use TaylorAI/Flash-Llama-3B 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 "TaylorAI/Flash-Llama-3B" \ --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": "TaylorAI/Flash-Llama-3B", "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 "TaylorAI/Flash-Llama-3B" \ --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": "TaylorAI/Flash-Llama-3B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use TaylorAI/Flash-Llama-3B with Docker Model Runner:
docker model run hf.co/TaylorAI/Flash-Llama-3B
Commit ·
87cede6
1
Parent(s): 22143dc
Upload modeling_flash_llama.py
Browse files- modeling_flash_llama.py +10 -0
modeling_flash_llama.py
CHANGED
|
@@ -369,6 +369,12 @@ class LlamaAttention(nn.Module):
|
|
| 369 |
|
| 370 |
unpadded_kv, indices_k, cu_seqlens_k, max_seqlen_k = unpad_input(kv, attention_mask)
|
| 371 |
unpadded_q, indices_q, cu_seqlens_q, max_seqlen_q = unpad_input(q, attention_mask[:, -q.size(1):])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 372 |
attn_outputs = flash_attn_varlen_kvpacked_func(
|
| 373 |
unpadded_q, unpadded_kv, cu_seqlens_q, cu_seqlens_k,
|
| 374 |
max_seqlen_q, max_seqlen_k,
|
|
@@ -385,6 +391,10 @@ class LlamaAttention(nn.Module):
|
|
| 385 |
else:
|
| 386 |
|
| 387 |
# no padding tokens, more efficient
|
|
|
|
|
|
|
|
|
|
|
|
|
| 388 |
|
| 389 |
attn_outputs = flash_attn_kvpacked_func(
|
| 390 |
q, kv, dropout_p=0.0, softmax_scale=1.0/self.norm_factor, causal=(not has_layer_past), return_attn_probs=output_attentions)
|
|
|
|
| 369 |
|
| 370 |
unpadded_kv, indices_k, cu_seqlens_k, max_seqlen_k = unpad_input(kv, attention_mask)
|
| 371 |
unpadded_q, indices_q, cu_seqlens_q, max_seqlen_q = unpad_input(q, attention_mask[:, -q.size(1):])
|
| 372 |
+
# cast kv and q to bf16 or fp16 if currently in float32
|
| 373 |
+
if unpadded_kv.dtype == torch.float32:
|
| 374 |
+
unpadded_kv = unpadded_kv.to(torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16)
|
| 375 |
+
unpadded_q = unpadded_q.to(torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16)
|
| 376 |
+
|
| 377 |
+
|
| 378 |
attn_outputs = flash_attn_varlen_kvpacked_func(
|
| 379 |
unpadded_q, unpadded_kv, cu_seqlens_q, cu_seqlens_k,
|
| 380 |
max_seqlen_q, max_seqlen_k,
|
|
|
|
| 391 |
else:
|
| 392 |
|
| 393 |
# no padding tokens, more efficient
|
| 394 |
+
# cast to bf16 or fp16 if currently in float32
|
| 395 |
+
if kv.dtype == torch.float32:
|
| 396 |
+
kv = kv.to(torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16)
|
| 397 |
+
q = q.to(torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16)
|
| 398 |
|
| 399 |
attn_outputs = flash_attn_kvpacked_func(
|
| 400 |
q, kv, dropout_p=0.0, softmax_scale=1.0/self.norm_factor, causal=(not has_layer_past), return_attn_probs=output_attentions)
|