/ Модель

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

Параметры
51,7 млн
Лицензия
Apache 2.0
Архитектура
whisper · dense
Базовая модель
whisper-base
Библиотека
transformers
Опубликована
7 янв 2025

Whisper-Hindi2Hinglish-Swift

Распознавание речиАудио → текст6 профессий

Дообученная Oriserve модель Whisper распознаёт разговорную хинди-речь и транскрибирует её хинглишем латиницей.

1 731скачиваний за 30 дней16лайковвеса обновлены5 фев 2025

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

Whisper-Hindi2Hinglish-Swift — модель распознавания речи Oriserve на архитектуре Whisper Base, дообученная для транскрибации разговорной хинди в хинглиш: речь записывается латиницей с использованием английских букв и сохраняет распространённые смешанные формы. Модель принимает аудио и выдаёт текст; в метаданных указаны 51,7 млн параметров, библиотека Transformers и формат safetensors.

Модель предназначена для распознавания хинди с индийским акцентом, в том числе в шумной обстановке. По данным карточки, для дообучения использовали около 550 часов специально собранных и размеченных аудиозаписей; авторы заявляют о снижении галлюцинаций и улучшении результатов относительно исходной Whisper Base на описанных бенчмарках. В примерах использования приведена настройка распознавания с параметром языка "en", поэтому поведение следует проверять на целевых аудиозаписях.

Модель распространяется по лицензии Apache-2.0. Результаты и характеристики основаны на оценках авторов; карточка не даёт гарантий качества для иных условий записи или вариантов речи.

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

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

Ограничения

Оптимизирована для хинди с индийским акцентом и вывода хинглишем; качество на других языках и условиях записи в карточке не установлено. Заявленное улучшение основано на бенчмарках авторов и не гарантирует аналогичный результат на пользовательских данных.

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

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

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

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

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

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

Открыть на Hugging Face

Whisper-Hindi2Hinglish-Swift:

Table of Contents:

Key Features:

  1. Hinglish as a language: Added ability to transcribe audio into spoken Hinglish language reducing chances of grammatical errors
  2. Whisper Architecture: Based on the whisper architecture making it easy to use with the transformers package
  3. Hallucination Mitigation: Minimizes transcription hallucinations to enhance accuracy.
  4. Performance Increase: ~57% average performance increase versus pretrained model across benchmarking datasets

Training:

Data:

  • Duration: A total of ~550 Hrs of noisy Indian-accented Hindi data was used to finetune the model.
  • Collection: Due to a lack of ASR-ready hinglish datasets available, a specially curated proprietary dataset was used.
  • Labelling: This data was then labeled using a SOTA model and the transcriptions were improved by human intervention.
  • Quality: Emphasis was placed on collecting noisy data for the task as the intended use case of the model is in Indian environments where background noise is abundant.
  • Processing: It was ensured that the audios are all chunked into chunks of length <30s, and there are at max 2 speakers in a clip. No further processing steps were done to not change the quality of the source data.

Finetuning:

  • Novel Trainer Architecture: A custom trainer was written to ensure efficient supervised finetuning, with custom callbacks to enable higher observability during the training process.
  • Custom Dynamic Layer Freezing: Most active layers were identified in the model by running inference on a subset of the training data using the pre-trained models. These layers were then kept unfrozen during the training process while all the other layers were kept frozen. This enabled faster convergence and efficient finetuning
  • Deepspeed Integration: Deepspeed was also utilized to speed up, and optimize the training process.

Performance Overview

Qualitative Performance Overview

AudioWhisper BaseWhisper-Hindi2Hinglish-Swift
وہاں بس دن میں کتنی بار چلتی ہےvah bas din mein kitni baar chalti hai?
سلمان کی ایمیت سے پراوہویت ہوتے ہیں اس کمپنی کے سیر بھاؤ جانے کیسےsalmaan ki image se prabhaavit hote hain is company ke share bhaav jaane kaise?
تو لویا تو لویاvah roya aur aur roya.
حلمت نہ پیننے سے بھارت میں ہر گنٹے ہوتی ہے چار لوگوں کی موتhelmet na pahnne se bhaarat mein har gante hoti hai chaar logon ki maut.
اوستہ مجھے چٹھیکہ جواب نہ دینے کے لیٹانٹہusne mujhe chithi ka javaab na dene ke lie daanta.
پرانا شاہ دیواروں سے گیرا ہوا ہےpuraana shahar divaaron se ghera hua hai.

Quantitative Performance Overview

Note:

  • The below WER scores are for Hinglish text generated by our model and the original whisper model
  • To check our model's real-world performance against other SOTA models please head to our Speech-To-Text Arena arena space.
DatasetWhisper BaseWhisper-Hindi2Hinglish-Swift
Common-Voice106.793638.6549
FLEURS104.278335.0888
Indic-Voices110.839965.2147

Usage:

Using Transformers

  • To run the model, first install the Transformers library

pip install --upgrade transformers

  • The model can be used with the pipeline class to transcribe audios of arbitrary length:
import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
from datasets import load_dataset

# Set device (GPU if available, otherwise CPU) and precision
device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

# Specify the pre-trained model ID
model_id = "Oriserve/Whisper-Hindi2Hinglish-Swift"

# Load the speech-to-text model with specified configurations
model = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_id, 
    torch_dtype=torch_dtype,        # Use appropriate precision (float16 for GPU, float32 for CPU)
    low_cpu_mem_usage=True,         # Optimize memory usage during loading
    use_safetensors=True            # Use safetensors format for better security
)
model.to(device)                    # Move model to specified device

# Load the processor for audio preprocessing and tokenization
processor = AutoProcessor.from_pretrained(model_id)

# Create speech recognition pipeline
pipe = pipeline(
    "automatic-speech-recognition",
    model=model,
    tokenizer=processor.tokenizer,
    feature_extractor=processor.feature_extractor,
    torch_dtype=torch_dtype,
    device=device,
    generate_kwargs={
        "task": "transcribe",       # Set task to transcription
        "language": "en"            # Specify English language
    }
)

# Process audio file and print transcription
sample = "sample.wav"               # Input audio file path
result = pipe(sample)               # Run inference
print(result["text"])               # Print transcribed text

Using the OpenAI Whisper module

  • First, install the openai-whisper library

pip install -U openai-whisper tqdm

  • Convert the huggingface checkpoint to a pytorch model
import torch
from transformers import AutoModelForSpeechSeq2Seq
import re
from tqdm import tqdm
from collections import OrderedDict
import json

# Load parameter name mapping from HF to OpenAI format
with open('convert_hf2openai.json', 'r') as f:
    reverse_translation = json.load(f)

reverse_translation = OrderedDict(reverse_translation)

def save_model(model, save_path):
    def reverse_translate(current_param):
        # Convert parameter names using regex patterns
        for pattern, repl in reverse_translation.items():
            if re.match(pattern, current_param):
                return re.sub(pattern, repl, current_param)

    # Extract model dimensions from config
    config = model.config
    model_dims = {
        "n_mels": config.num_mel_bins,           # Number of mel spectrogram bins
        "n_vocab": config.vocab_size,            # Vocabulary size
        "n_audio_ctx": config.max_source_positions,    # Max audio context length
        "n_audio_state": config.d_model,         # Audio encoder state dimension
        "n_audio_head": config.encoder_attention_heads,  # Audio encoder attention heads
        "n_audio_layer": config.encoder_layers,   # Number of audio encoder layers
        "n_text_ctx": config.max_target_positions,     # Max text context length
        "n_text_state": config.d_model,          # Text decoder state dimension
        "n_text_head": config.decoder_attention_heads,  # Text decoder attention heads
        "n_text_layer": config.decoder_layers,    # Number of text decoder layers
    }

    # Convert model state dict to Whisper format
    original_model_state_dict = model.state_dict()
    new_state_dict = {}

    for key, value in tqdm(original_model_state_dict.items()):
        key = key.replace("model.", "")          # Remove 'model.' prefix
        new_key = reverse_translate(key)         # Convert parameter names
        if new_key is not None:
            new_state_dict[new_key] = value

    # Create final model dictionary
    pytorch_model = {"dims": model_dims, "model_state_dict": new_state_dict}

    # Save converted model
    torch.save(pytorch_model, save_path)

# Load Hugging Face model
model_id = "Oriserve/Whisper-Hindi2Hinglish-Swift"
model = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_id, 
    low_cpu_mem_usage=True,        # Optimize memory usage
    use_safetensors=True           # Use safetensors format
)

# Convert and save model
model_save_path = "Whisper-Hindi2Hinglish-Swift.pt"
save_model(model,model_save_path)
  • Transcribe
import whisper
# Load converted model with Whisper and transcribe
model = whisper.load_model("Whisper-Hindi2Hinglish-Swift.pt")
result = model.transcribe("sample.wav")
print(result["text"])

Miscellaneous

This model is from a family of transformers-based ASR models trained by Oriserve. To compare this model against other models from the same family or other SOTA models please head to our Speech-To-Text Arena. To learn more about our other models, and other queries regarding AI voice agents you can reach out to us at our email ai-team@oriserve.com

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
WhisperForConditionalGeneration
Ревизия весов
cd0d4d0

0 моделей