Этот репозиторий содержит демонстрационный проект, показывающий использование:
- Whisper LoRA Fine-Tuned для автоматического распознавания речи (ASR) на русском языке.
- DeepSeek Meeting Summary для суммаризации расшифровок встреч.
В проект включены небольшой образец датасета, видео для тестирования и эксперименты по дообучению и инференсу моделей.
meeting_key_points_ai/
│── sample_datasets/
│ ├── sample_golos/ # 10 train + 2 test примеров из датасета Golos
│ ├── sample_meeting/ # 10 примеров из кастомного датасета Meeting
│
│── examples/
│ ├── meeting_video.mp4 # Видеофайл для тестирования моделей
│
│── sample_implementation.ipynb # Запускает модели на meeting_video.mp4
│── sample_experiments.ipynb # Дообучает модели на sample_datasets
│
│── real_results/
│ ├── notebooks/
│ ├── implementation.ipynb # Результаты sample_implementation.ipynb
│ ├── experiments.ipynb # Результаты sample_experiments.ipynb
│ ├── outputs/ # CSV-отчёты по экспериментам
│
│── README.md # Документация проекта
│── requirements.txt # Зависимости
│── .gitignore # Исключает ненужные файлы
- Источник: Golos GitHub Repository
- Содержание: 10 обучающих примеров + 2 тестовых примера
- Основан на: AMI Corpus & ICSI Corpus
- Содержание: 10 примеров стенограмм встреч
Файл examples/meeting_video.mp4
предоставлен для тестирования возможностей моделей по распознаванию речи и суммаризации.
- Модель: UDZH/whisper-small-lora-finetuned-ru
- Пример использования:
from huggingface_hub import hf_hub_download
import torch
from transformers import WhisperProcessor, WhisperForConditionalGeneration
# Загрузка модели Whisper LoRA
repo_id = "UDZH/whisper-small-lora-finetuned-ru"
lora_weights_path = hf_hub_download(repo_id=repo_id, filename="whisper_lora_weights.pth")
# Загрузка базовой модели и применение LoRA весов
processor = WhisperProcessor.from_pretrained("openai/whisper-small")
model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-small").to("cuda")
lora_weights = torch.load(lora_weights_path, map_location="cuda")
model.load_state_dict(lora_weights, strict=False)
- Модель: UDZH/deepseek-meeting-summary
- Пример использования:
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
# Загрузка модели и токенизатора
model = AutoModelForSeq2SeqLM.from_pretrained("UDZH/deepseek-meeting-summary")
tokenizer = AutoTokenizer.from_pretrained("UDZH/deepseek-meeting-summary")
# Пример суммаризации
text = "Пример стенограммы встречи."
inputs = tokenizer(text, return_tensors="pt")
summary = model.generate(**inputs)
print(tokenizer.decode(summary[0], skip_special_tokens=True))
- Цель: Запуск моделей на
meeting_video.mp4
. - Этапы:
- Извлечение аудио из видео
- Запуск Whisper LoRA для распознавания речи
- Запуск DeepSeek Summary для суммаризации
- Отображение результатов
- Цель: Дообучение моделей на sample_datasets/.
- Этапы:
- Загрузка подмножества Golos и Meeting
- Дообучение Whisper LoRA на Golos
- Дообучение DeepSeek Summary на стенограммах встреч
- Оценка результатов
Все реальные эксперименты и выводы хранятся в real_results/
.
implementation.ipynb
→ Логи и расшифровки работы на полноразмерных примерахexperiments.ipynb
→ Логи обучения моделейoutputs/
→ CSV-отчёты по производительности моделей
pip install -r requirements.txt
Или установите их напрямую в ноутбуке.
Этот репозиторий распространяется под лицензией MIT License.
- @UDZH – Дообучение моделей и подготовка датасетов
- Uliana Dzhumok – Настройка репозитория и документации (Опционально)
Отдельное спасибо:
- Hugging Face за хостинг моделей
- OpenAI за Whisper
- DeepSeek за их модели
- Создателям датасета Golos
- AMI & ICSI Corpus поставщикам
- Unsloth за инструменты дообучения