Views
No views yet
Qwen/Qwen1.5-MoE-A2.7B for zeromodels. One implementation runs unmodified on TensorFlow / Torch / JAX. The mixture-of-experts banks are stored fused (the hub layout) and routed on every backend.1import os
2os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
3
4from zeromodels.models.qwen2_moe import Qwen2MoeTextGenerate, Qwen2MoeTokenizer
5
6model = Qwen2MoeTextGenerate.from_weights("zeromodels/qwen1.5-moe-a2.7b")
7tokenizer = Qwen2MoeTokenizer.from_weights("zeromodels/qwen1.5-moe-a2.7b")
8
9inputs = tokenizer([
10 {"role": "user", "content": "Explain rotary embeddings in one sentence."}
11])
12outputs = model.generate(**inputs, max_new_tokens=64)
13print(tokenizer.decode(outputs[0]))from_weights("zeromodels/<variant>"):| Variant | Hub | Type |
|---|---|---|
qwen2-0.5b | zeromodels/qwen2-0.5b | base |
qwen2-0.5b-instruct | zeromodels/qwen2-0.5b-instruct | instruct |
qwen2-1.5b | zeromodels/qwen2-1.5b | base |
qwen2-1.5b-instruct | zeromodels/qwen2-1.5b-instruct | instruct |
qwen2-7b | zeromodels/qwen2-7b | base |
qwen2-7b-instruct | zeromodels/qwen2-7b-instruct | instruct |
qwen2-72b | zeromodels/qwen2-72b | base |
qwen2-72b-instruct | zeromodels/qwen2-72b-instruct | instruct |
qwen2-57b-a14b | zeromodels/qwen2-57b-a14b | MoE base |
qwen2-57b-a14b-instruct | zeromodels/qwen2-57b-a14b-instruct | MoE instruct |
qwen1.5-moe-a2.7b | zeromodels/qwen1.5-moe-a2.7b | MoE base |
qwen1.5-moe-a2.7b-chat | zeromodels/qwen1.5-moe-a2.7b-chat | MoE chat |
KERAS_BACKEND before importing Keras / zeromodels.Qwen2MoeTokenizer.from_weights(...) so the chat template matches.load_dtype="bfloat16" or quantization="int8".hf: prefix, e.g. Qwen2MoeTextGenerate.from_weights("hf:Qwen/Qwen1.5-MoE-A2.7B").