Edit model card

Model Card for Model ID

A model aiming to be able to provide coaching for Dota 2 gamers by answering user's questions in a chat format. Improvement and enhancement are still needed.

Model Details

Model Description

This model is trained on mistralai/Mistral-7B-Instruct-v0.2 with instruction-answer dataset about Dota 2 gameplay mechanics.

  • Model type: Transformer-based language model
  • Language(s) (NLP): English
  • License: MIT
  • Finetuned from model [optional]: mistralai/Mistral-7B-Instruct-v0.2

Uses

To give summary of general gameplay mechanics and provide suggestions for gameplay strategy and skill improvement.

Direct Use

Provide summary of Dota 2 gameplay in interest.

Downstream Use [optional]

To give suggestions to Dota 2 players on gameplay strategy.

Out-of-Scope Use

Gameplay sabotage and abusive chat should not be allowed.

Bias, Risks, and Limitations

This model currently is only capable of giving summary of general gameplay mechanics including hero attributes, abilities, talents, maps, runes, building, creeps and items. The results may not be consistent and accurate. Fact check is still needed. It is currently not capable of providing strategy suggestion on how to improve player's rank in competitive play.

Recommendations

Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model mentioned above. More improvement and enhancement are still needed.

How to Get Started with the Model

Code example to get started with the model:

import transformers
# Format prompt
message = [
    {"role": "user", "content": "Which Strength Hero would you recommend for a Dota 2 beginner?"}
]
tokenizer = AutoTokenizer.from_pretrained("Aiden07/Mistral-7B-Instruct-dota2")
prompt = tokenizer.apply_chat_template(message, add_generation_prompt=True, tokenize=False)

# Create pipeline
pipeline = transformers.pipeline(
    "text-generation",
    model=new_model,
    tokenizer=tokenizer
)

# Generate text
sequences = pipeline(
    prompt,
    do_sample=True,
    temperature=0.7,
    top_p=0.9,
    num_return_sequences=1,
    max_length=200,
)
print(sequences[0]['generated_text'])

Training Details

Training Data

Dataset used: Aiden07/dota2_instruct_prompt

Training Procedure

Preprocessing

Preprocessing to comply to instruct format:

def create_text_row(instruction, output):
    text_row = f"""<s>[INST] {instruction} [/INST] \\n {output} </s>"""
    return text_row

Training Hyperparameters

  • Training regime:
    • output_dir="./results",
    • num_train_epochs=1,
    • per_device_train_batch_size=4,
    • gradient_accumulation_steps=1,
    • optim="paged_adamw_32bit",
    • save_steps=25,
    • logging_steps=25,
    • learning_rate=2e-4,
    • weight_decay=0.001,
    • fp16=False,
    • bf16=False,
    • max_grad_norm=0.3,
    • max_steps=-1,
    • warmup_ratio=0.03,
    • group_by_length=True,
    • lr_scheduler_type="constant"
Downloads last month
3
Safetensors
Model size
7.24B params
Tensor type
FP16
·

Dataset used to train Aiden07/Mistral-7B-Instruct-dota2