Instructions to use tencent/Hunyuan-A13B-Instruct with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use tencent/Hunyuan-A13B-Instruct with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="tencent/Hunyuan-A13B-Instruct", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("tencent/Hunyuan-A13B-Instruct", trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("tencent/Hunyuan-A13B-Instruct", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use tencent/Hunyuan-A13B-Instruct with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "tencent/Hunyuan-A13B-Instruct" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "tencent/Hunyuan-A13B-Instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/tencent/Hunyuan-A13B-Instruct
- SGLang
How to use tencent/Hunyuan-A13B-Instruct 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 "tencent/Hunyuan-A13B-Instruct" \ --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": "tencent/Hunyuan-A13B-Instruct", "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 "tencent/Hunyuan-A13B-Instruct" \ --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": "tencent/Hunyuan-A13B-Instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use tencent/Hunyuan-A13B-Instruct with Docker Model Runner:
docker model run hf.co/tencent/Hunyuan-A13B-Instruct
Upload ./modeling_hunyuan.py with huggingface_hub
Browse files- modeling_hunyuan.py +3 -2
modeling_hunyuan.py
CHANGED
|
@@ -74,7 +74,8 @@ _CONFIG_FOR_DOC = "HunYuanConfig"
|
|
| 74 |
def topkgating(logits: Tensor, topk: int):
|
| 75 |
logits = logits.float()
|
| 76 |
gates = F.softmax(logits, dim=1)
|
| 77 |
-
expert_capacity = topk * gates.shape[0]
|
|
|
|
| 78 |
num_experts = int(gates.shape[1])
|
| 79 |
# Top-k router probability and corresponding expert indices for each token.
|
| 80 |
# Shape: [tokens_per_group, num_selected_experts].
|
|
@@ -1546,7 +1547,7 @@ class HunYuanMoEV1ForCausalLM(HunYuanPreTrainedModel):
|
|
| 1546 |
if isinstance(past_key_values, Cache):
|
| 1547 |
cache_length = past_key_values.get_seq_length()
|
| 1548 |
past_length = past_key_values.seen_tokens
|
| 1549 |
-
max_cache_length = past_key_values.
|
| 1550 |
else:
|
| 1551 |
cache_length = past_length = past_key_values[0][0].shape[2]
|
| 1552 |
max_cache_length = None
|
|
|
|
| 74 |
def topkgating(logits: Tensor, topk: int):
|
| 75 |
logits = logits.float()
|
| 76 |
gates = F.softmax(logits, dim=1)
|
| 77 |
+
# expert_capacity = topk * gates.shape[0]
|
| 78 |
+
expert_capacity = max(topk, topk * gates.shape[0] // gates.shape[1])
|
| 79 |
num_experts = int(gates.shape[1])
|
| 80 |
# Top-k router probability and corresponding expert indices for each token.
|
| 81 |
# Shape: [tokens_per_group, num_selected_experts].
|
|
|
|
| 1547 |
if isinstance(past_key_values, Cache):
|
| 1548 |
cache_length = past_key_values.get_seq_length()
|
| 1549 |
past_length = past_key_values.seen_tokens
|
| 1550 |
+
max_cache_length = past_key_values.get_max_cache_shape()
|
| 1551 |
else:
|
| 1552 |
cache_length = past_length = past_key_values[0][0].shape[2]
|
| 1553 |
max_cache_length = None
|