File size: 6,666 Bytes
5d3ca27 6dfeafb 5d3ca27 e627e32 b9b0841 5d3ca27 6dfeafb 5d3ca27 6dfeafb 5d3ca27 fd9c6bc 5d3ca27 6dfeafb 5d3ca27 6dfeafb fd9c6bc 5d3ca27 6dfeafb 5d3ca27 6dfeafb 5d3ca27 6dfeafb 5d3ca27 6dfeafb 5d3ca27 6dfeafb 2b8a3f6 47358b2 5d3ca27 fd9c6bc 5d3ca27 6dfeafb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# π§ LoL_Build-Llama3B
A fine-tuned version of the LLaMA 3.2B model using QLoRA on a custom League of Legends build suggestion dataset. This model generates champion-specific item build recommendations based on gameplay roles and current meta.
---
## π Dataset
- **Format**: JSONL with `prompt` and `completion` fields
- **Example**:
```json
{
"prompt": "**Champion Patch Notes:**\n- Yone passive description changed across ranks.\n- Yone spell 2 tooltip changed across ranks.\n- Gwen hp decreased from 650 to 620.\n- Gwen armor decreased from 39 to 36.\n- Darius spell 2 updated.\n- Darius armor decreased from 39 to 37.\n- Varus spell 2 tooltip changed across ranks.\n\nYou are playing Darius (fighter/tank) on the TOP lane against Teemo (marksman/mage).\nYour team consists of Gwen, Varus, Yone, Rakan, while the enemy team includes Teemo, Nunu, Pyke, Aphelios, Poppy.\nYou have the summoner spells Flash, Ghost and the runes Conqueror, Triumph, Legend: Alacrity, Last Stand, Second Wind, Overgrowth.\nYour opponent uses Flash, Ignite and the keystone rune Press the Attack. What items should you build during the early, mid, and late game?"
,
"completion": "**Early Game:**\nBuy Doran's Shield\nInventory (1): Doran's Shield\n\nBuy Rejuvenation Bead\nInventory (2): Doran's Shield, Rejuvenation Bead\n\nBuy Boots\nInventory (3): Doran's Shield, Rejuvenation Bead, Boots\n\nBuy Null-Magic Mantle\nInventory (4): Doran's Shield, Rejuvenation Bead, Boots, Null-Magic Mantle\n\nBuild Mercury's Treads (fusing Boots + Null-Magic Mantle)\nInventory (3): Doran's Shield, Rejuvenation Bead, Mercury's Treads\n\nBuy Long Sword\nInventory (4): Doran's Shield, Rejuvenation Bead, Mercury's Treads, Long Sword\n\n**Mid Game:**\nBuild Phage (fusing Ruby Crystal + Long Sword)\nInventory (4): Doran's Shield, Rejuvenation Bead, Mercury's Treads, Phage\n\nBuy Long Sword\nInventory (5): Doran's Shield, Rejuvenation Bead, Mercury's Treads, Phage, Long Sword\n\nBuild Stridebreaker (fusing Tiamat + Phage + Dagger)\nInventory (4): Doran's Shield, Rejuvenation Bead, Mercury's Treads, Stridebreaker\n\nBuy Ruby Crystal\nInventory (5): Doran's Shield, Rejuvenation Bead, Mercury's Treads, Stridebreaker, Ruby Crystal\n\nBuild Winged Moonplate (fusing Ruby Crystal)\nInventory (5): Doran's Shield, Rejuvenation Bead, Mercury's Treads, Stridebreaker, Winged Moonplate\n\nBuy Chain Vest\nInventory (6): Doran's Shield, Rejuvenation Bead, Mercury's Treads, Stridebreaker, Winged Moonplate, Chain Vest\n\nBuild Dead Man's Plate (fusing Winged Moonplate + Ruby Crystal + Chain Vest)\nInventory (5): Doran's Shield, Rejuvenation Bead, Mercury's Treads, Stridebreaker, Dead Man's Plate\n\n**Late Game:**\nSell Rejuvenation Bead\nInventory (4): Doran's Shield, Mercury's Treads, Stridebreaker, Dead Man's Plate\n\nBuy Pickaxe\nInventory (5): Doran's Shield, Mercury's Treads, Stridebreaker, Dead Man's Plate, Pickaxe\n\nBuy Tunneler\nInventory (6): Doran's Shield, Mercury's Treads, Stridebreaker, Dead Man's Plate, Pickaxe, Tunneler\n\nBuild Sterak's Gage (fusing Pickaxe + Tunneler + Ruby Crystal)\nInventory (5): Doran's Shield, Mercury's Treads, Stridebreaker, Dead Man's Plate, Sterak's Gage\n\nBuy Chain Vest\nInventory (6): Doran's Shield, Mercury's Treads, Stridebreaker, Dead Man's Plate, Sterak's Gage, Chain Vest\n\nSell Doran's Shield\nInventory (5): Mercury's Treads, Stridebreaker, Dead Man's Plate, Sterak's Gage, Chain Vest\n\nBuy Null-Magic Mantle\nInventory (6): Mercury's Treads, Stridebreaker, Dead Man's Plate, Sterak's Gage, Chain Vest, Null-Magic Mantle\n\nBuild Negatron Cloak (fusing Null-Magic Mantle)\nInventory (6): Mercury's Treads, Stridebreaker, Dead Man's Plate, Sterak's Gage, Chain Vest, Negatron Cloak\n\n**Final inventory:**\nMercury's Treads, Stridebreaker, Dead Man's Plate, Sterak's Gage, Chain Vest, Negatron Cloak"
}
```
---
## ποΈββοΈ Training Configuration
| Hyperparameter | Value |
|----------------------------|----------------------------------|
| Base Model | unsloth/Llama-3.2-3B-bnb-4bit |
| Epochs | 1 |
| Max Steps | 4751 |
| Batch Size | 16 |
| Max Sequence Length | 1024 |
| Gradient Accumulation | 1 |
| Learning Rate | 2e-4 |
| Weight Decay | 0.01 |
| Optimizer | AdamW (8bit) |
| Precision | BF16 (fallback to FP16) |
| LoRA Config | r=16, alpha=32, dropout=0.05 |
| Random Seed | 1515 |
---
## π Evaluation Metrics
Evaluated using BLEU, ROUGE-L, and Exact Match on validation prompts.
| Metric | Value |
|---------------|--------|
| BLEU | 0.874 |
| ROUGE-L | 0.930 |
---
## π Final Training Metrics
| Metric | Value |
|---------------------------|----------------------|
| Final Training Loss | 0.1162 |
| Final Eval Loss | 0.1189 |
| Final Grad Norm | 0.1153 |
| Eval Runtime | 3341.30 sec |
| Eval Samples/sec | 2.527 |
| Eval Steps/sec | 0.316 |
| Effective Training Steps | 4750 |
---
## βοΈ Usage
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("HatimF/LoL_Build-Llama3B")
model = AutoModelForCausalLM.from_pretrained("HatimF/LoL_Build-Llama3B")
prompt = """**Champion Patch Notes:**
Matchup: Shaco (assassin) vs Reksai (JUNGLE lane).
Allies: Riven, Zoe, Cassiopeia, Nautilus.
Enemies: Fiora, RekSai, Akali, Kaisa, Alistar.
You are equipped with Smite, Ignite and runes Hail of Blades, Sudden Impact, Sixth Sense, Relentless Hunter, Magical Footwear, Cosmic Insight.
Your opponent has Flash, Smite and keystone Conqueror.
Suggest a build for early, mid, and late game."""
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
---
## π§ Intended Use
- **Application**: Suggests champion item builds for League of Legends based on role.
- **Limitations**:
- May suggest deprecated or invalid items if outdated.
## Github
- https://github.com/HatimFertat/lol_builds
|