build-small-hackathon
dota2tuned-qwen3-4b-2507-lora
Run this model inference on single tenant GPU with unmatched speed and reliability at scale.
Run this model inference with full control and performance in your environment.
Get help setting up a custom Dedicated Endpoints.
Talk with our engineer to get a quote for reserved GPU instances with discounts.
README
License: apache-2.0Intended Behavior
DOTA2Tuned does not use the language model as the source of truth for picks, counters, builds, or match probabilities. Deterministic statistics, a draft predictor, and retrieved patch/stat cards provide the evidence. The adapter's job is to turn that evidence into concise Dota 2 explanations.
The model should:
- answer draft, counter, synergy, build, and match-prediction questions from supplied evidence;
- preserve hero names, item names, patch IDs, scores, deltas, sample sizes, and confidence labels;
- caveat weak data and low sample sizes;
- refuse or qualify answers when evidence is missing, generic, stale, or mentions fake heroes/items.
The model should not invent unsupported hero names, item names, scores, timings, patch changes, or match data.
Training Data
Training examples are generated from the DOTA2Tuned pipeline and published in the companion dataset repo:
https://huggingface.co/datasets/build-small-hackathon/dota2tuned-data
The examples combine normalized Dota 2 stat cards, draft recommendation outputs, patch-change retrieval snippets, and refusal/caveat behaviors.
Usage
This repo contains a PEFT LoRA adapter. Load it with the base model through PEFT:
python
from peft import AutoPeftModelForCausalLMfrom transformers import AutoTokenizermodel_id = "build-small-hackathon/dota2tuned-qwen3-4b-2507-lora"tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoPeftModelForCausalLM.from_pretrained(model_id, device_map="auto")messages = [{"role": "system","content": ("You are DOTA2Tuned. Use only supplied evidence for concrete Dota 2 ""claims and caveat weak data."),},{"role": "user","content": ("Question: Suggest one mid hero against Phantom Assassin and Witch Doctor.\n\n""Evidence:\n""Phantom Assassin current pro stat card: 3 pro picks, 1 win.\n""Witch Doctor current pro stat card: 8 pro picks, 5 wins."),},]inputs = tokenizer.apply_chat_template(messages,add_generation_prompt=True,return_tensors="pt",).to(model.device)outputs = model.generate(inputs, max_new_tokens=160, do_sample=False)print(tokenizer.decode(outputs[0][inputs.shape[-1] :], skip_special_tokens=True))
For the shipped app, use the Space:
https://build-small-hackathon-dota2tuned.hf.space
Evaluation Notes
The deployed adapter was smoke-tested through Modal and the public Space with prompts covering:
- draft recommendations against Phantom Assassin and Witch Doctor;
- counter/synergy explanations;
- Shadow Fiend build timing without concrete evidence;
- fake hero rejection;
- patch/meta caveats;
- low sample-size caveats.
One grounding weakness was found during testing: generic build prompts could produce unsupported item advice. The deployed Modal inference prompt now explicitly forbids invented hero names, item names, scores, timings, patches, and match data, and asks for uncertainty when evidence is missing or generic.
Limitations
- The adapter is only as reliable as the supplied Dota 2 evidence.
- The current hackathon dataset is compact, so many hero and matchup samples are sparse.
- Match prediction is draft-only and does not model player skill, execution, lane assignments, itemization, or in-game state.
- Dota 2 patches change quickly; refresh the data pipeline before making current-meta claims.
- The adapter is not affiliated with Valve, OpenDota, STRATZ, Steam, Hugging Face, Modal, or Qwen.
Project Links
Model provider
build-small-hackathon
Model tree
Base
Qwen/Qwen3-4B-Instruct-2507
Adapter
this model
Modalities
Input
Text
Output
Text
Pricing
Dedicated Endpoints
View detailsSupported Functionality
Model APIs
Dedicated Endpoints
Container
More information