/ Модель

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

Контекст
512 токенов
Параметры
138 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Базовая модель
SwahBERT-base-cased
Опубликована
5 июл 2025

SwahBERT-KenSwQuAD-baseline

Ответы на вопросыТекст → текст3 профессии

BERT-модель для извлечения дословных ответов на вопросы по текстам на суахили.

142скачиваний за 30 дней0лайковвеса обновлены20 дек 2025

Бенчмарки

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

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

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

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

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

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

Модель разработана Benjamin (kikwaib): это SwahBERT-base-cased, дообученная на датасете KenSwQuAD для извлекающего ответа на вопросы на суахили. Она использует энкодерную архитектуру BERT и определяет начало и конец фрагмента ответа в контексте. Модель содержит 137,8 млн параметров; размер контекста по метаданным — до 512 токенов. Для длинных документов README описывает скользящее окно с шагом 128 токенов и ограничение в 384 токена на фрагмент.

Модель подходит для поиска ответов, дословно присутствующих в тексте, и для экспериментов и сравнений в задачах QA на суахили. В README указаны результаты на официальных метриках SQuAD: Exact Match 15,62% и F1 16,90%. Лицензия — Apache-2.0.

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

  • извлечение ответа на вопрос из текста на суахили
  • поиск фрагмента с ответом в документе на суахили
  • создание базовой линии для экспериментов по QA на суахили
  • сравнение извлекающего и генеративного ответа на вопросы

Ограничения

Модель возвращает только непрерывный фрагмент, который дословно присутствует в контексте, и не объединяет сведения из разных мест. В README для обработки длинных документов указан размер фрагмента до 384 токенов со скользящим окном; метаданные указывают native context 512 токенов.

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

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

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

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

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

Открыть на Hugging Face

Model Card for SwahBERT-KenSwQuAD-baseline

Model Summary

This model is a SwahBERT-base-cased model fine-tuned on the KenSwQuAD dataset for extractive question answering in Swahili.

Unlike sequence-to-sequence approaches, this model uses a span extraction architecture (BERT-style) where the model predicts the start and end positions of the answer within the context.

Model Details

PropertyValue
Developed byBenjamin (kikwaib)
Model TypeBERT-based Encoder (Extractive QA)
Base Modelpranaydeeps/SwahBERT-base-cased
Language(s)Swahili (sw)
TaskExtractive Question Answering
LicenseApache 2.0

Intended Use

Primary Use Cases

  • Swahili Question Answering: Extract answer spans from Swahili text given a question
  • Research: Baseline for Swahili extractive QA experiments
  • Comparison: Benchmark against generative QA approaches (mT5-based models)

How to Use

from transformers import pipeline

# Load the QA pipeline
qa_pipeline = pipeline("question-answering", model="kikwaib/SwahBERT-KenSwQuAD-baseline")

# Example usage
context = """
Mji wa Dar es Salaam ni mji mkubwa na wenye watu wengi nchini Tanzania.
Ni bandari muhimu na kitovu cha kiuchumi cha nchi.
Lugha kuu zinazozungumzwa ni Kiswahili na Kiingereza.
"""

question = "Lugha kuu zinazozungumzwa ni upi?"

result = qa_pipeline(question=question, context=context)
print(f"Answer: {result['answer']}")
print(f"Score: {result['score']:.4f}")
# Expected Output: "Kiswahili na Kiingereza"

Alternative Usage (Manual)

from transformers import AutoTokenizer, AutoModelForQuestionAnswering
import torch

model_name = "kikwaib/SwahBERT-KenSwQuAD-baseline"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForQuestionAnswering.from_pretrained(model_name)

context = "Kenya ni nchi ya Afrika Mashariki. Nairobi ni mji mkuu wa Kenya."
question = "Mji mkuu wa Kenya ni upi?"

inputs = tokenizer(question, context, return_tensors="pt")
outputs = model(**inputs)

# Get the answer span
answer_start = torch.argmax(outputs.start_logits)
answer_end = torch.argmax(outputs.end_logits) + 1
answer = tokenizer.convert_tokens_to_string(
    tokenizer.convert_ids_to_tokens(inputs["input_ids"][0][answer_start:answer_end])
)
print(f"Answer: {answer}")

Limitations

  • Extractive only: Can only return text that appears verbatim in the context
  • Answer must be contiguous: Cannot combine information from multiple locations
  • Context length limit: Maximum 384 tokens with 128 token stride for long documents

Training Data

Dataset: KenSwQuAD

The model was fine-tuned on the full KenSwQuAD (Kenya Swahili Question Answering Dataset).

StatisticValue
Source FileKenSwQuAD_final_7526_QA_pairs_csv.csv
Context Fileskenswquad_utf8/*.txt
Train/Validation Split90% / 10%
Random Seed42

Data Processing

  • Questions and answers extracted from CSV
  • Context loaded from corresponding .txt files
  • Answer start positions computed by finding answer text in context
  • QA pairs where answer not found in context were skipped
  • Long contexts handled with sliding window (stride=128 tokens)

Training Procedure

Hardware

ComponentSpecification
PlatformGoogle Colab
GPUTesla T4 / P100 (variable)

Hyperparameters

ParameterValue
Learning Rate2e-5
Train Batch Size8
Eval Batch Size8
Gradient Accumulation Steps2
Effective Batch Size16
Epochs3
Weight Decay0.01
FP16Enabled
Max Sequence Length384 tokens
Doc Stride128 tokens
OptimizerAdamW

Training Strategy

  • Evaluation Strategy: Per epoch
  • Save Strategy: Per epoch
  • Best Model Selection: Based on validation loss
  • Hub Push: Enabled during training

Evaluation Results

The model was evaluated using the official SQuAD metrics:

MetricScore
Exact Match15.62%
F1 Score16.90%

Comparison with Generative Approaches

This model represents a baseline extractive approach for Swahili QA. For comparison with generative (seq2seq) approaches, see:

ModelApproachMetricScore
SwahBERT-KenSwQuAD-baseline (This)ExtractiveF116.90%
mt5-base-kenswquad-extractiveGenerativeBLEU48.99

Key Differences

AspectSwahBERT (Extractive)mT5 (Generative)
ArchitectureEncoder-onlyEncoder-Decoder
OutputSpan indicesGenerated text
Answer sourceMust be in contextCan paraphrase
Training signalStart/end positionsToken generation
Inference speedFasterSlower

Framework Versions

LibraryVersion
TransformersLatest
DatasetsLatest
EvaluateLatest
AccelerateLatest

Citation

If you use this model, please cite the KenSwQuAD research:

Related Models

ModelDescription
pranaydeeps/SwahBERT-base-casedBase pretrained model
kikwaib/mt5-base-kenswquad-extractiveGenerative QA (Stage 2)
kikwaib/mt5-base-squad-transferEnglish SQuAD transfer (Stage 1)

Training Date: December 2025

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

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

GPU в ailist

Универсальный рантайм · question-answering

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForQuestionAnswering
Ревизия весов
0f04a22

0 моделей