|
--- |
|
license: cc-by-nc-4.0 |
|
language: |
|
- en |
|
- de |
|
- fr |
|
- zh |
|
- pt |
|
- nl |
|
- ru |
|
- ko |
|
- it |
|
- es |
|
metrics: |
|
- comet |
|
pipeline_tag: translation |
|
--- |
|
# Model Card for Model ID |
|
|
|
<!-- Provide a quick summary of what the model is/does. --> |
|
|
|
This modelcard aims to be a base template for new models. It has been generated using [this raw template](https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/modelcard_template.md?plain=1). |
|
|
|
## Model Details |
|
|
|
### Model Description |
|
|
|
TowerInstruct is a language model that results from fine-tuning TowerBase on the TowerBlocks supervised fine-tuning dataset. TowerInstruct v0.1 is the first model in the series. |
|
The model is trained to handle several translation-related tasks, such as general machine translation (e.g., sentence- and document-level translation, terminology-aware translation, context-aware translation), automatic post edition, named-entity recognition, gramatical error correction, and paraphrase generation. |
|
We will release more details in the upcoming technical report. |
|
|
|
- **Developed by:** Unbabel, Instituto Superior Técnico, CentraleSupélec University of Paris-Saclay |
|
- **Model type:** A 7B parameter model fine-tuned on a mix of publicly available, synthetic datasets on translation-related tasks, as well as conversational datasets and code instructions. |
|
- **Language(s) (NLP):** English, Portuguese, Spanish, French, German, Dutch, Italian, Korean, Chinese, Russian |
|
- **License:** CC-BY-NC-4.0 |
|
- **Finetuned from model [optional]:** TowerBase |
|
|
|
## Intended uses & limitations |
|
|
|
The model was initially fine-tuned on a filtered and preprocessed supervised fine-tuning dataset (TowerBlocks), which contains a diverse range of data sources: |
|
- Translation |
|
- Automatic Post Edition |
|
- Machine Translation Evaluation |
|
- Context-aware Translation |
|
- Terminology-aware Translation |
|
- Multi-reference Translation |
|
- Named-entity Recognition |
|
- Paraphrase Generation |
|
- Synthetic Chat data |
|
- Code instructions |
|
|
|
You can find the dataset and all data sources of TowerBlocks here. |
|
|
|
Here's how you can run the model using the `pipeline()` function from 🤗 Transformers: |
|
|
|
```python |
|
# Install transformers from source - only needed for versions <= v4.34 |
|
# pip install git+https://github.com/huggingface/transformers.git |
|
# pip install accelerate |
|
|
|
import torch |
|
from transformers import pipeline |
|
|
|
pipe = pipeline("text-generation", model="Unbabel/TowerInstruct-v0.1", torch_dtype=torch.bfloat16, device_map="auto") |
|
|
|
# We use the tokenizer's chat template to format each message - see https://huggingface.co/docs/transformers/main/en/chat_templating |
|
messages = [ |
|
{"role": "user", "content": "Translate the following text from English into Portuguese.\nEnglish: A group of researchers has released a new model for translation-related tasks.\nPortuguese:"}, |
|
] |
|
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) |
|
outputs = pipe(prompt, max_new_tokens=256, do_sample=False) |
|
print(outputs[0]["generated_text"]) |
|
# <|system|> |
|
# You are a friendly chatbot who always responds in the style of a pirate.</s> |
|
# <|user|> |
|
# How many helicopters can a human eat in one sitting?</s> |
|
# <|assistant|> |
|
# Ah, me hearty matey! But yer question be a puzzler! A human cannot eat a helicopter in one sitting, as helicopters are not edible. They be made of metal, plastic, and other materials, not food! |
|
``` |
|
|
|
|
|
### Direct Use |
|
|
|
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. --> |
|
|
|
### Downstream Use [optional] |
|
|
|
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app --> |
|
|
|
### Out-of-Scope Use |
|
|
|
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. --> |
|
|
|
## Bias, Risks, and Limitations |
|
|
|
<!-- This section is meant to convey both technical and sociotechnical limitations. --> |
|
|
|
### Recommendations |
|
|
|
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. --> |
|
|
|
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. |
|
|
|
## Prompt Format |
|
|
|
Mention mlchat here (no system prompt) |
|
|
|
### Supervised tasks |
|
|
|
Prompts for different tasks. |
|
|
|
[More Information Needed] |
|
|
|
## Training Details |
|
|
|
### Training Data |
|
|
|
Link to TowerBlocks. |
|
|
|
### Training Procedure |
|
|
|
Write sth about Axolotl. |
|
|
|
#### Training Hyperparameters |
|
|
|
The following hyperparameters were used during training: |
|
|
|
learning_rate: 5e-07 |
|
train_batch_size: 2 |
|
eval_batch_size: 4 |
|
seed: 42 |
|
distributed_type: multi-GPU |
|
num_devices: 16 |
|
total_train_batch_size: 32 |
|
total_eval_batch_size: 64 |
|
optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 |
|
lr_scheduler_type: linear |
|
lr_scheduler_warmup_ratio: 0.1 |
|
num_epochs: 3.0 |
|
|
|
## Citation |
|
|
|
To be completed. |
|
|
|
[<img src="https://raw.githubusercontent.com/OpenAccess-AI-Collective/axolotl/main/image/axolotl-badge-web.png" alt="Built with Axolotl" width="200" height="32"/>](https://github.com/OpenAccess-AI-Collective/axolotl) |
|
|