TSLAM-Mini-2B / README.md
sid0905's picture
Update README.md
d1d66c0 verified
|
raw
history blame
9.48 kB
metadata
license: mit
base_model:
  - microsoft/Phi-4-mini-instruct
tags:
  - telecommunications
  - text-generation-inference

Phi-4-Telecom-Instruct

Base Model: microsoft/Phi-4-mini-instruct
License: MIT

Overview

TSLAM-Mini is a domain-adapted language model fine-tuned on 100,000 telecom-specific examples, focused on real-time, industry-grade interactions. It extends the capabilities of the base Phi-4-mini-instruct model to understand and generate text relevant to telecom scenarios such as:

  • SME (Subject Matter Expert) and customer interactions
  • Network configuration and troubleshooting workflows
  • Device provisioning and service activation
  • Operational support dialogue
  • Knowledge retrieval for telecom documents

Key Features

  • Telecom-Tuned: Finetuned on domain-specific conversations, logs, and structured dialogues.
  • Instruction-Following: Retains Phi-4’s compact instruction-tuned behavior while adapting to industry-specific patterns.
  • Real-Time Scenarios: Performs well in use cases that require contextual understanding of real-world telecom operations.

Intended Use

The areas TSLAM-Mini excels in are:

  • Customer Support Agents (AI copilots or chatbots)
  • Network Operations Tools that process commands or log queries
  • Internal Assistants for engineers and field technicians
  • Telecom Knowledge Graphs & RAG Pipelines

Model Details

Property Value
Base Model microsoft/Phi-4-mini-instruct
Fine-tuning Data 100k telecom domain examples
Training Method Supervised fine-tuning (SFT)
License MIT

Benchmarks Results

Benchmark TSLAM-Mini-2B Phi-3.5-mini-Ins Llama-3.2-3B-Ins Mistral-3B Qwen2.5-3B-Ins Qwen2.5-7B-Ins Mistral-8B-2410 Llama-3.1-8B-Ins Llama-3.1-Tulu-3-8B Gemma2-9B-Ins GPT-4o-mini-2024-07-18
Popular aggregated benchmark
Arena Hard 32.8 34.4 17.0 26.9 32.0 55.5 37.3 25.7 42.7 43.7 53.7
BigBench Hard (0-shot, CoT) 70.4 63.1 55.4 51.2 56.2 72.4 53.3 63.4 55.5 65.7 80.4
MMLU (5-shot) 67.3 65.5 61.8 60.8 65.0 72.6 63.0 68.1 65.0 71.3 77.2
MMLU-Pro (0-shot, CoT) 52.8 47.4 39.2 35.3 44.7 56.2 36.6 44.0 40.9 50.1 62.8
Reasoning
ARC Challenge (10-shot) 83.7 84.6 76.1 80.3 82.6 90.1 82.7 83.1 79.4 89.8 93.5
BoolQ (2-shot) 81.2 77.7 71.4 79.4 65.4 80.0 80.5 82.8 79.3 85.7 88.7
GPQA (0-shot, CoT) 25.2 26.6 24.3 24.4 23.4 30.6 26.3 26.3 29.9 39.1 41.1
HellaSwag (5-shot) 69.1 72.2 77.2 74.6 74.6 80.0 73.5 72.8 80.9 87.1 88.7
OpenBookQA (10-shot) 79.2 81.2 72.6 79.8 79.3 82.6 80.2 84.8 79.8 90.0 90.0
PIQA (5-shot) 77.6 78.2 68.2 73.2 72.6 76.2 81.2 83.2 78.3 83.7 88.7
Social IQA (5-shot) 72.5 75.1 68.3 73.9 75.3 75.3 77.6 71.8 73.4 74.7 82.9
TruthfulQA (MC2) (10-shot) 66.4 65.2 59.2 62.9 64.3 69.4 63.0 69.2 64.1 76.6 78.2
Winogrande (5-shot) 67.0 72.2 53.2 59.8 63.3 71.1 63.1 64.7 65.4 74.0 76.9
Multilingual
Multilingual MMLU (5-shot) 49.3 51.8 48.1 46.4 55.9 64.4 53.7 56.2 54.5 63.8 72.9
MGSM (0-shot, CoT) 63.9 49.6 44.6 44.6 53.5 64.5 56.7 56.7 58.6 75.1 81.7
Math
GSM8K (8-shot, CoT) 88.6 76.9 75.6 80.1 80.6 88.7 81.9 82.4 84.3 84.9 91.3
MATH (0-shot, CoT) 64.0 49.8 46.7 41.8 61.7 60.4 41.6 47.6 46.1 51.3 70.2
Telecom (domain-specific) 88.2 52.1 47.6 49.3 58.0 61.5 54.9 57.3 59.0 64.1 70.3
Overall 63.5 60.5 56.2 56.9 60.1 67.9 60.2 62.3 60.9 65.0 75.5

Example

**User**: How do I reconfigure a 5G core node remotely?

**Model**: To reconfigure a 5G core node remotely, ensure you have SSH access enabled and the necessary configuration scripts preloaded. From your NOC terminal, run the secure update command with the node's IP and authentication key...

How to Use

from transformers import AutoTokenizer, AutoModelForCausalLM

# Load tokenizer and model
model_name = "NetoAISolutions/TSLAM-Mini"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Define the input using the Phi-style chat template
def build_prompt(user_input):
    system = "<|system|>\nYou are a helpful assistant.<|end|>\n"
    user = f"<|user|>\n{user_input}<|end|>\n"
    assistant = "<|assistant|>\n"  # Start assistant response
    return system + user + assistant

# Example input
user_query = "How do I activate VoLTE on a user's device?"
prompt = build_prompt(user_query)

# Tokenize and generate
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(
    **inputs,
    max_new_tokens=200,
    temperature=0.7,
    top_p=0.9,
    do_sample=True,
    eos_token_id=tokenizer.convert_tokens_to_ids("<|end|>")
)

# Decode output
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)

Acknowledgements