Unbabel/Tower-Plus-72B
22162
1---2base_model: Qwen/Qwen2.5-72B3language:4- de5- nl6- is7- es8- fr9- pt10- uk11- hi12- zh13- ru14- cs15- ko16- ja17- it18- en19- da20- pl21- hu22- sv23- 'no'24- ro25- fi26library_name: transformers27license: cc-by-nc-sa-4.028pipeline_tag: text-generation29---30 31This repository contains the Tower+ 72B model, as presented in the paper [Tower+: Bridging Generality and Translation Specialization in Multilingual LLMs](https://huggingface.co/papers/2506.17080).32 33Project Page: [https://huggingface.co/collections/Unbabel/tower-plus-6846ca452a10c0905dc03c0f](https://huggingface.co/collections/Unbabel/tower-plus-6846ca452a10c0905dc03c0f)34 3536 37# Model Description:38 39**Tower+ 72B** is build on top of Qwen 2.5 72B. The model goes through the Continuous Pretraining (CPT), Instruction Tuning (IT) and Weighted Preference Optimization (WPO). During all these stages we include parallel and multilingual data (covering 22 languages).40 41- **Developed by:** Unbabel42- **Model type:** A 72B parameter model fine-tuned on a mix of _translation-related tasks_ as well as _general instruction-following_ datasets that include reasoning, code instructions, etc.43- **Languages:** German, Spanish, French, Italian, Korean, Dutch, Russian, English, Portuguese (Portugal), Portuguese (Brazilian), Spanish (Latin America), Chinese (Simplified), Chinese (Traditional), Czech, Ukrainian, Hindi, Icelandic, Japanese, Polish, Swedish, Hungarian, Romanian, Danish, Norwegian (Nynorsk), Norwegian (Bokmål), Finnish44- **License:** CC-BY-NC-4.045- **Context Size:**: 131,072 tokens (recommended generation tokens 8192)46 47# Intended uses & limitations48 49Tower is intended for multilingual tasks and its specially strong on translation related tasks.50 51Another usecase Tower works well is for creating multilingual synthethic data (for the languages it covers). You can do this either by translating instructions and the respective answers or by asking the model to create an instruction given a document as seed data.52 53# Usage:54 55When using the model, make sure your prompt is formated correctly!56 57Also, we recommend using VLLM rather than Hugging Face.58 59### Using on VLLM:60 61```python62# pip install vllm63 64from vllm import LLM, SamplingParams65sampling_params = SamplingParams(66 best_of=1,67 temperature=0,68 max_tokens=8192,69)70llm = LLM(model="Unbabel/Tower-Plus-72B", tensor_parallel_size=4)71messages = [{"role": "user", "content": "Translate the following English source text to Portuguese (Portugal):\nEnglish: Hello world!\nPortuguese (Portugal): "}]72outputs = llm.chat(messages, sampling_params)73# Make sure your prompt_token_ids look like this74print (outputs[0].outputs[0].text)75# > Olá, mundo!76```77 78### Using on Transformers:79 80```python81# pip install transformers82# pip install accelerate83import torch84from transformers import pipeline85 86pipe = pipeline("text-generation", model="Unbabel/Tower-Plus-72B", device_map="auto")87# We use the tokenizer’s chat template to format each message - see https://huggingface.co/docs/transformers/main/en/chat_templating88messages = [{"role": "user", "content": "Translate the following English source text to Portuguese (Portugal):\nEnglish: Hello world!\nPortuguese (Portugal): "}]89input_ids = pipe.tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True)90outputs = pipe(messages, max_new_tokens=256, do_sample=False)91print(outputs[0]["generated_text"])92```93 94# Citation95If you use this model please cite our paper:96```97@misc{rei2025towerplus,98 title={Tower+: Bridging Generality and Translation Specialization in Multilingual LLMs}, 99 author={Ricardo Rei and Nuno M. Guerreiro and José Pombal and João Alves and Pedro Teixeirinha and Amin Farajian and André F. T. Martins},100 year={2025},101 eprint={2506.17080},102 archivePrefix={arXiv},103 primaryClass={cs.CL},104 url={https://arxiv.org/abs/2506.17080}, 105}106```