|
--- |
|
license: mit |
|
language: |
|
- en |
|
pipeline_tag: text-generation |
|
tags: |
|
- nlp |
|
--- |
|
|
|
# Phi-1.5-Tele Model Card |
|
|
|
## Model Summary |
|
|
|
The language model Phi-1.5-Tele is a Transformer with **1.3 billion** parameters, specialized in telecommunications. It is based on Microsoft [phi-1.5](https://huggingface.co/microsoft/phi-1_5) and was continutally pretrained on [Tele-Data](https://huggingface.co/datasets/AliMaatouk/Tele-Data), a large-scale dataset of approximately 2.5 billion tokens of telecommunications material, including articles, standards, and general web content related to the telecommunications domain. |
|
|
|
When assessed against telecommunications benchmarks such as [Tele-Eval](https://huggingface.co/datasets/AliMaatouk/Tele-Eval), Phi-1.5-Tele outperforms [phi-1.5](https://huggingface.co/microsoft/phi-1_5) by several percentage points. Additionally, Phi-1.5-Tele matches [phi-1.5](https://huggingface.co/microsoft/phi-1_5) across benchmarks related to common sense, language understanding, and logical reasoning. Thus, this adaptation was achieved with minimal compromise in performance on the original version. |
|
|
|
### Context Length |
|
|
|
The model was trained on a context length of 2048 tokens. |
|
|
|
## Usage |
|
|
|
Phi-1.5-Tele is a base model best suited for fine-tuning on applications related to telecommunications. Although it has not been specifically fine-tuned to follow instructions, it can be prompted to answer questions and follow instructions using the following format: |
|
|
|
```markdown |
|
Write me a poem about telecommunications. |
|
|
|
Answer: Our world is a network of digital streams, |
|
Connecting every voice and thought, |
|
Through the wires and fibers that transmit, |
|
Bringing us closer to the end of the road. |
|
``` |
|
|
|
where the model generates the text after "Answer:". |
|
|
|
## Sample Code |
|
|
|
Below we share some code snippets on how to get quickly started with running the model. First, make sure to `pip install transformers`, then copy the snippet corresponding to your hardware and adapt it to your usecase. |
|
|
|
#### Running the model on a CPU |
|
|
|
|
|
```python |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
|
model = AutoModelForCausalLM.from_pretrained("AliMaatouk/Phi-1.5-Tele", torch_dtype="auto") |
|
tokenizer = AutoTokenizer.from_pretrained("AliMaatouk/Phi-1.5-Tele") |
|
|
|
prompt = "Write me a poem about telecommunications.\nAnswer:" |
|
input_ids = tokenizer(prompt, return_tensors="pt") |
|
outputs = model.generate(**input_ids, max_new_tokens=100) |
|
|
|
generated_tokens = outputs[0, len(input_ids['input_ids'][0]):] |
|
response = tokenizer.decode(generated_tokens, skip_special_tokens=True) |
|
print(response) |
|
``` |
|
|
|
#### Running the model on a single / multi GPU |
|
|
|
```python |
|
import torch |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
model = AutoModelForCausalLM.from_pretrained("AliMaatouk/Phi-1.5-Tele", torch_dtype="auto", device_map="auto") |
|
tokenizer = AutoTokenizer.from_pretrained("AliMaatouk/Phi-1.5-Tele") |
|
|
|
prompt = "Write me a poem about telecommunications.\nAnswer:" |
|
input_ids = tokenizer(prompt, return_tensors="pt").to("cuda") |
|
outputs = model.generate(**input_ids, max_new_tokens=100) |
|
|
|
generated_tokens = outputs[0, len(input_ids['input_ids'][0]):] |
|
response = tokenizer.decode(generated_tokens, skip_special_tokens=True) |
|
print(response) |
|
``` |
|
|
|
## Citation |
|
|
|
You can find the paper with all details about the model at https://arxiv.org/abs/2409.05314. Please cite it as follows: |
|
|
|
```bib |
|
@misc{maatouk2024telellmsseriesspecializedlarge, |
|
title={Tele-LLMs: A Series of Specialized Large Language Models for Telecommunications}, |
|
author={Ali Maatouk and Kenny Chirino Ampudia and Rex Ying and Leandros Tassiulas}, |
|
year={2024}, |
|
eprint={2409.05314}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.IT}, |
|
url={https://arxiv.org/abs/2409.05314}, |
|
} |
|
``` |