/ Модель

Характеристики

Лицензия
Apache 2.0
Базовая модель
Qwen3.5-9B
Библиотека
transformers
Опубликована
27 июн 2026

Sunflower-Qwen3.5-9B

Генерация текстаТекст → текст5 профессий

Мультиязычная модель Sunbird на базе Qwen3.5-9B для перевода, выполнения инструкций и диалога на 67 африканских языках.

705скачиваний за 30 дней7лайковвеса обновлены30 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Sunflower-Qwen3.5-9B — мультиязычная текстовая модель Sunbird, дообученная на базе Qwen3.5-9B для работы с 67 африканскими языками. Обучение включало продолжение предобучения на корпусах целевых языков, настройку по инструкциям и обучение с подкреплением для улучшения перевода, фактической точности, языковой согласованности и следования инструкциям. Модель распространяется в формате safetensors через Transformers; лицензия — Apache-2.0.

Модель предназначена прежде всего для перевода между английским и африканскими языками, а также для выполнения инструкций и многоходового диалога на этих языках. Для перевода рекомендуется шаблон «Translate to {название языка на английском}: {текст}» и температура 0; исходный язык обычно определяется автоматически. Для свободной генерации подходят инструкции на английском с указанием языка ответа или инструкции на целевом языке.

Качество заметно различается в зависимости от языка и объёма обучающих данных: для части языков понимание хорошее, для других — умеренное или базовое. Карточка обозначает веса как предварительную версию, поэтому результаты и поведение модели могут измениться до финального выпуска. Перевод — наиболее оптимизированный сценарий; чат и рассуждения поддерживаются, но их качество может быть ниже.

Сценарии применения

  • перевод с английского на африканские языки
  • перевод с африканских языков на английский
  • перевод между африканскими языками по инструкции
  • выполнение инструкций с ответом на африканском языке
  • многоходовой чат на африканских языках

Ограничения

Это предварительная версия: веса, качество и поведение модели могут измениться до финального выпуска. Поддержка языков неоднородна, особенно для языков с малым объёмом данных; результаты перевода и свободной генерации на таких языках следует проверять. Перевод оптимизирован сильнее, чем чат и рассуждения.

Для каких профессий подходит5

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Sunflower-Qwen3.5-9B

[!WARNING] This is a preview release. The model weights will change between now and the final release. Benchmark numbers, prompt behaviour and output quality may all shift. Please don't pin production systems to this checkpoint — treat it as a preview for evaluation and feedback.

Sunflower-Qwen3.5-9B is an adaptation of Qwen3.5-9B to understand text in 67 African languages. The model was optimised for translation, instruction-following and multi-turn chat in these languages. It was trained by carrying out continued pretraining on a text corpus of the target languages, followed by instruction tuning.

Try it

▶ Open the demo Colab notebook

Supported languages

Coverage varies considerably by language, roughly tracking the amount of training data available. The tiers below are a practical guide to what to expect.

Good understanding: Afrikaans, Zulu, Nigerian Pidgin, Chichewa, Swahili, Xhosa, Somali, Lingala, Sotho, Igbo, Malagasy, Kinyarwanda, Hausa, Tswana, Yoruba, Luganda, Shona, Ndebele, Amharic, Kirundi, Runyoro, Luo, Ewe, Runyankole.

Moderate understanding: Kikuyu, Lusoga, Acholi, Rukiga, Rutooro, Oromo, Bemba, Ruruuli, Akan, Lango, Lugwere, Lugbara, Kumam, Lugungu, Lumasaba, Ateso, Lunyole.

Basic understanding: Kabyle, Rukonjo, Bambara, Lubwisi, Wolof, Samia, Jopadhola, Alur, Bari, Kakwa, Dagbani, Karamojong, Berber, Fulani, Kwamba, Ma'di, Aringa, Luhya, Kalenjin, Kupsabiny, Lendu, Dagaare, Ik, Pokot, Kanuri, Dinka.

Inference

Sunflower-Qwen3.5-9B follows the same usage pattern as the base Qwen3.5-9B model, though it expects prompts for some tasks in a certain format as specified below. Like Qwen3.5, the model supports a <think> reasoning phase. Reasoning has not yet been optimised so we recommend setting enable_thinking=False, especially for translation tasks.

Translation prompt template

Translation was a primary optimisation target, and it expects a fixed instruction template:

Translate to {language name}: {text}

{language name} is the English name of the target language — Luganda, Acholi, Swahili, Runyankole — not the ISO code. Use the names from the metrics table below.

messages = [{"role": "user", "content": "Translate to Luganda: Good morning! How did you sleep?"}]

Two practical notes:

  • Use temperature 0 (greedy) for translation.
  • The source language is inferred from the text, and only the target needs to be specified. So Translate to English: Ndagira kununua chakula... works without naming the source. However the source language can also be specified optionally, e.g. 'Translate from Luganda to English: Oli otya?` which may improve quality in some cases.

Other prompt patterns

The model is a general instruction-follower, not only a translation engine. Two other patterns work well:

1. Instruction in English, specifying the reply language. Useful when you want a complex task performed but the output in an African language:

prompt = (
    "Invent a new version of the Cinderella story where the ending is different, "
    "focusing on a theme of self-reliance rather than rescue, formatted as a short "
    "story with exactly three paragraphs. Reply in Yoruba."
)

2. Instruction written directly in the target language. The model responds in the language you write in:

prompt = (
    "Hlaziya imiqobo yokungavumi kwamayeza okugonya kwiindawo ezithile zamasiko, "
    "ugxile ngokukodwa kwindima yeenkokheli zonqulo."
)

For these open-ended generation tasks temperature around 0.7 gives more natural output.

Multi-turn conversation works as normal: append the assistant's reply to messages and continue.

vLLM

vLLM is the default choice for deployment, being much faster than transformers.

import os
os.environ["VLLM_ENABLE_V1_MULTIPROCESSING"] = "0"  # in-process engine; reliable in notebooks

from vllm import LLM, SamplingParams
from transformers import AutoProcessor

MODEL_ID = "Sunbird/Sunflower-Qwen3.5-9B"

llm = LLM(
    MODEL_ID,
    quantization="fp8",               # ~19 GB of weights -> ~9.5 GB
    dtype="bfloat16",
    max_model_len=1024,               # translation prompts + outputs are short
    gpu_memory_utilization=0.9,
    limit_mm_per_prompt={"image": 0, "video": 0},  # text-only; frees memory
    enforce_eager=True,               # skips CUDA-graph capture (saves memory)
)
tokenizer = AutoProcessor.from_pretrained(MODEL_ID).tokenizer


def make_prompt(text, target_language):
    return tokenizer.apply_chat_template(
        [{"role": "user", "content": f"Translate to {target_language}: {text}"}],
        add_generation_prompt=True,
        enable_thinking=False,
        tokenize=False,
    )


sampling = SamplingParams(temperature=0.0, max_tokens=256)  # temp 0 for translation

examples = [
    ("Good morning, how are you?", "Luganda"),
    ("The children are going to school today.", "Acholi"),
    ("I would like to buy three kilograms of rice.", "Swahili"),
]
outputs = llm.generate([make_prompt(t, l) for t, l in examples], sampling)
for (text, lang), out in zip(examples, outputs):
    print(f"[{lang}] {text}\n     -> {out.outputs[0].text.strip()}\n")

Pass the whole list to a single llm.generate() call to translate a large batch at once — far faster than looping.

Transformers

import torch
from transformers import AutoModelForImageTextToText, AutoProcessor

MODEL_ID = "Sunbird/Sunflower-Qwen3.5-9B"

model = AutoModelForImageTextToText.from_pretrained(
    MODEL_ID, dtype=torch.bfloat16, device_map="cuda"
)
model.eval()
tokenizer = AutoProcessor.from_pretrained(MODEL_ID).tokenizer

messages = [{"role": "user", "content": "Translate to Luganda: The children are going to school today."}]
enc = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    enable_thinking=False,
    return_tensors="pt",
    return_dict=True,
).to(model.device)

out = model.generate(**enc, max_new_tokens=256, do_sample=False)  # greedy for translation
print(tokenizer.decode(out[0][enc["input_ids"].shape[1]:], skip_special_tokens=True).strip())

A pre-quantised 4-bit build, Sunbird/Sunflower-Qwen3.5-9B-bnb-4bit, is also available (~7.9 GB download, runs on any CUDA GPU including a free Colab T4). Load it the same way — the quantisation config is baked into its config.json, so you don't pass quantization_config.

Evaluation

Translation quality measured as chrF on the Sunbird/salt69 test split, in both directions (English→language and language→English). Higher is better; scores are 0–1. We find that translation accuracy is a strong predictor of ability to carry out other tasks per language.

Sorted by average score.

LanguageCodeeng→xxxx→engAverage
Afrikaansafr0.80160.80390.8027
Zuluzul0.67030.70500.6877
Nigerian Pidginpcm0.59750.75360.6756
Swahiliswa0.65840.68470.6715
Xhosaxho0.61850.69560.6570
Frenchfra0.60840.68050.6444
Chichewanya0.64510.64070.6429
Lingalalin0.61280.65890.6359
Somalisom0.55780.69940.6286
Igboibo0.58450.63980.6122
Sothosot0.57880.64190.6103
Malagasymlg0.57520.61120.5932
Kinyarwandakin0.57880.59410.5864
Tswanatsn0.55190.60830.5801
Lugandalug0.55510.57460.5649
Hausahau0.53160.59120.5614
Shonasna0.52000.60100.5605
Ndebelenbl0.48580.63230.5591
Yorubayor0.46380.63350.5487
Amharicamh0.42630.64590.5361
Runyoronyo0.49520.56280.5290
Kirundirun0.48330.57010.5267
Eweewe0.48020.53580.5080
Lusogaxog0.45480.55070.5028
Luoluo0.49690.50780.5024
Runyankolenyn0.49870.50310.5009
Kikuyukik0.39560.58580.4907
Acholiach0.48640.48570.4861
Rukigacgg0.46350.49610.4798
Oromoorm0.42610.50070.4634
Rutoorottj0.42700.49730.4621
Ruruuliruc0.39940.50350.4515
Bembabem0.43910.43820.4387
Langolaj0.38200.45440.4182
Akanaka0.37270.46130.4170
Lugweregwr0.37180.44060.4062
Kumamkdi0.36460.42370.3942
Lugungurub0.35330.41820.3857
Lugbaralgg0.39460.37590.3852
Lumasabamyx0.37300.38520.3791
Atesoteo0.35160.39920.3754
Lunyolenuj0.35510.37670.3659
Kabylekab0.29270.41320.3529
Samialsm0.33250.36430.3484
Lubwisitlj0.32990.36190.3459
Rukonjokoo0.34830.33950.3439
Bambarabam0.31180.37190.3419
Jopadholaadh0.33620.34140.3388
Wolofwol0.29470.38240.3385
Aluralz0.27680.37410.3254
Baribfa0.29600.31960.3078
Kakwakeo0.30620.28050.2933
Dagbanidag0.28090.29110.2860
Karamojongkdj0.26620.26910.2676
Berberber0.22120.30610.2636
Kwambarwm0.26330.25250.2579
Fulaniful0.20990.28870.2493
Ma'dimhi0.22910.26180.2455
Aringaluc0.19720.26280.2300
Luhyaluy0.17980.25700.2184
Kalenjinkln0.16730.24700.2071
Lenduled0.16260.23380.1982
Dagaaredga0.16020.23010.1952
Kupsabinykpz0.15060.22050.1856
Pokotpok0.15670.20980.1832
Ikikx0.14000.22490.1824
Kanurikau0.10850.22510.1668
Dinkadin0.11610.20610.1611
Ikposokpo0.04650.14840.0974

fra (French) is included as a high-resource reference point.

Training

Built on Qwen3.5-9B, adapted through continued pretraining and supervised fine-tuning on Ugandan and other African language data, followed by reinforcement learning (GRPO) against translation-quality, factuality, language-consistency and instruction-following rewards.

Limitations

  • Preview weights. Output will change before the final release.
  • Coverage is uneven. See the tiers and the metrics table — the low-resource end of the table is genuinely weak, and output there should be verified by a speaker before use.
  • Translation is the optimised path. General chat and reasoning work, but the model has been tuned most heavily for the translation template.
  • Like any LLM, it can produce fluent, confident and wrong output. This matters more in low-resource languages, where errors are harder for non-speakers to spot.

License

Released under the Apache 2.0 license.

Citation

@misc{sunflower_qwen35_9b,
  title        = {Sunflower-Qwen3.5-9B},
  author       = {Sunbird AI},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/Sunbird/Sunflower-Qwen3.5-9B}},
  note         = {Preview release}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Нельзя запустить

Доступ к модели ограничен автором; у платформы нет доступа к весам.

Ревизия весов
c56081c

0 моделей