Files
genetic-algorithms/presentation/presentation.tex
2026-04-06 12:31:28 +03:00

277 lines
11 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[aspectratio=169]{beamer}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{amsmath}
\usetheme{Madrid}
\usecolortheme{default}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]
\title{Подбор оптимальной конфигурации модульной системы автоматического протоколирования совещаний с помощью генетических алгоритмов}
\author{Тищенко А.\,А.}
\institute{СПбПУ, ИКНиКБ, ВШ ТИИИ\\гр. 5130201/20101\\[6pt]Руководитель: проф., д.т.н. Большаков А.\,А.}
\date{2026}
\begin{document}
% ===== 1. Title =====
\begin{frame}
\titlepage
\end{frame}
% ===== 2. Introduction =====
\begin{frame}{Автоматическое протоколирование совещаний}
\begin{itemize}
\item Протоколирование совещаний --- фиксация решений и договорённостей
\item Автоматизация стала возможна благодаря развитию моделей ASR, диаризации и LLM
\end{itemize}
\vspace{0.4cm}
\textbf{Три этапа пайплайна:}
\begin{enumerate}
\item \textbf{Транскрибация} --- преобразование аудио в текст
\item \textbf{Диаризация} --- определение говорящих
\item Суммаризация --- формирование протокола (не рассматривается)
\end{enumerate}
\vspace{0.4cm}
В данной работе рассматриваются \textbf{этапы~1 и~2}: оптимизация выбора моделей и их параметров.
\end{frame}
% ===== 3. Problem statement =====
\begin{frame}{Постановка задачи}
\textbf{Цель:} найти конфигурацию $\mathbf{x}^*$, минимизирующую:
\[
f(\mathbf{x}) = 0{,}4 \cdot \text{WER}(\mathbf{x}) + 0{,}4 \cdot \text{DER}(\mathbf{x}) + 0{,}2 \cdot T(\mathbf{x})
\]
\begin{itemize}
\item WER --- ошибка транскрибации (\%)
\item DER --- ошибка диаризации (\%)
\item $T$ --- нормализованное время инференса
\end{itemize}
\vspace{0.3cm}
\textbf{Аппаратные ограничения:}
\begin{itemize}
\item GPU Tesla T4 (16~ГБ VRAM), 16~ГБ ОЗУ
\item Вычислительный бюджет: $\sim$10 часов
\end{itemize}
\end{frame}
% ===== 4. Configuration space =====
\begin{frame}{Пространство конфигураций}
\small
\begin{table}
\centering
\begin{tabular}{l l l}
\toprule
\textbf{Параметр} & \textbf{Тип} & \textbf{Значения} \\
\midrule
Модель транскрибации & категориальный & 5 моделей \\
beam\_size & дискретный & \{1, 3, 5, 7, 10\} \\
vad\_threshold & дискретный & \{0.3, 0.4, 0.5, 0.6, 0.7\} \\
Модель диаризации & категориальный & 3 модели \\
min\_speech\_duration & дискретный & \{0.25, 0.5, 0.75, 1.0, 1.5\}~с \\
clustering\_threshold & дискретный & \{0.3, 0.45, 0.6, 0.75, 0.9\} \\
\bottomrule
\end{tabular}
\end{table}
\vspace{0.2cm}
\begin{columns}
\column{0.48\textwidth}
\textbf{Транскрибация (5 моделей):}
\begin{itemize}
\item Whisper large-v3 / medium
\item Faster-Whisper large-v3
\item GigaAM-CTC / RNN-T
\end{itemize}
\column{0.48\textwidth}
\textbf{Диаризация (3 модели):}
\begin{itemize}
\item pyannote 3.1
\item pyannote Community-1
\item Sortformer (NeMo)
\end{itemize}
\end{columns}
\vspace{0.3cm}
\centering
Всего конфигураций: $5 \times 5 \times 5 \times 3 \times 5 \times 5 = \mathbf{9375}$
\end{frame}
% ===== 5. Computational constraints =====
\begin{frame}{Вычислительные ограничения}
\begin{itemize}
\item Полный перебор 9375 конфигураций $\times$ 5~мин $= \sim$\textbf{780 часов}
\item Необходимы эвристические методы оптимизации
\end{itemize}
\vspace{0.3cm}
\textbf{Сокращение затрат:}
\begin{enumerate}
\item 1 вариант датасета (raw) --- сравнение конфигураций, а не устойчивости к шуму
\item Половина датасета ($\sim$45~мин аудио) --- $\sim$5~мин на оценку
\item Суммаризация исключена: LLM-инференс $\sim$20--40~мин/оценку
\end{enumerate}
\vspace{0.3cm}
Итог: $\sim$5~мин на одну оценку конфигурации, бюджет 10 часов.
\end{frame}
% ===== 6. GA design =====
\begin{frame}{Генетический алгоритм}
\textbf{Хромосома:} вектор из 6 генов (индексы допустимых значений)
\vspace{0.3cm}
\begin{columns}
\column{0.48\textwidth}
\textbf{Операторы:}
\begin{itemize}
\item Турнирная селекция ($k=3$)
\item Равномерный кроссовер
\item Мутация: $p=0{,}15$ на ген\\(70\% --- соседнее значение,\\30\% --- случайное)
\item Элитизм: 2 лучшие особи
\end{itemize}
\column{0.48\textwidth}
\textbf{Параметры:}
\begin{itemize}
\item Популяция: 15 особей
\item Поколений: 25
\item Веса: $\alpha=0{,}4$, $\beta=0{,}4$, $\gamma=0{,}2$
\end{itemize}
\end{columns}
\end{frame}
% ===== 7. Optimizations =====
\begin{frame}{Оптимизации вычислений}
\textbf{1. Модульное кэширование}
\begin{itemize}
\item Транскрибация и диаризация --- \textbf{независимые} модули
\item Кэш транскрибации: ключ = (модель, beam\_size, vad\_threshold)
\item Кэш диаризации: ключ = (модель, min\_speech\_dur, clustering\_thr, vad\_thr)
\item Изменение параметров одного модуля не требует пересчёта другого
\end{itemize}
\vspace{0.4cm}
\textbf{2. Пакетное планирование по моделям}
\begin{itemize}
\item Загрузка модели в GPU: 30--60~с для крупных моделей
\item Конфигурации группируются по модели перед запуском
\item Модель загружается \textbf{один раз} для всего пакета
\end{itemize}
\end{frame}
% ===== 8. Convergence =====
\begin{frame}{Результаты: сходимость}
\begin{columns}
\column{0.55\textwidth}
\includegraphics[width=\textwidth]{../report/img/convergence.png}
\column{0.42\textwidth}
\begin{itemize}
\item Быстрое улучшение в поколениях 0--4
\item Плато после 10-го поколения
\item Среднее сходится к лучшему --- популяция концентрируется в области оптимума
\end{itemize}
\end{columns}
\end{frame}
% ===== 9. Best configurations =====
\begin{frame}{Результаты: лучшие конфигурации}
\footnotesize Для каждой уникальной комбинации моделей транскрибации и диаризации --- лучшая найденная конфигурация параметров.
\vspace{0.5em}
\small
\begin{table}
\centering
\begin{tabular}{c l l c c c c}
\toprule
\textbf{\#} & \textbf{Транскр.} & \textbf{Диариз.} & \textbf{WER} & \textbf{DER} & \textbf{T} & $f(\mathbf{x})$ \\
\midrule
1 & GigaAM-RNN-T & Sortformer & 5.32\% & 19.07\% & 7.5' & 11.25 \\
2 & GigaAM-CTC & Sortformer & 6.54\% & 19.07\% & 5.3' & 11.30 \\
3 & GigaAM-RNN-T & pya. C.-1 & 5.32\% & 20.50\% & 6.4' & 11.60 \\
4 & GigaAM-CTC & pya. C.-1 & 6.54\% & 20.50\% & 4.2' & 11.66 \\
5 & F.-Whisper & Sortformer & 7.59\% & 19.01\% & 6.0' & 11.84 \\
\bottomrule
\end{tabular}
\end{table}
\vspace{0.3cm}
\textbf{Лучшая:} GigaAM-RNN-T + Sortformer\\
beam\_size=1, vad\_thr=0.5, min\_speech\_dur=0.5~с, clustering\_thr=0.6
\end{frame}
% ===== 10. WER vs DER scatter =====
\begin{frame}{Результаты: распределение конфигураций}
\centering
\includegraphics[width=0.56\textwidth]{../report/img/wer_der_scatter.png}
\small Алгоритм сконцентрировал поиск в области малых WER и DER.
\end{frame}
% ===== 11. Model frequency =====
\begin{frame}{Результаты: частота моделей в топ-20}
\centering
\includegraphics[width=0.82\textwidth]{../report/img/model_frequency.png}
\vspace{0.2cm}
\small GigaAM-RNN-T доминирует в транскрибации, Sortformer --- в диаризации.
\end{frame}
% ===== 12. Comparison =====
\begin{frame}{Сравнение стратегий поиска}
\begin{table}
\centering
\begin{tabular}{l c c c c}
\toprule
\textbf{Стратегия} & \textbf{Оценок} & $f(\mathbf{x}^*)$ & \textbf{WER} & \textbf{DER} \\
\midrule
Полный перебор & 9375 & --- & --- & --- \\
Случ. поиск (15) & 15 & 13.03 & 6.99\% & 23.35\% \\
Случ. поиск (60) & 60 & 12.20 & 6.54\% & 21.50\% \\
Случ. поиск (120) & 120 & 11.60 & 5.57\% & 19.80\% \\
\textbf{ГА (25 пок.)} & \textbf{93 мод.} & \textbf{11.25} & \textbf{5.32\%} & \textbf{19.07\%} \\
\bottomrule
\end{tabular}
\end{table}
\vspace{0.3cm}
\begin{itemize}
\item ГА с 93 мод. выч. ($\sim$4~ч) лучше случайного поиска со 120 оценками (10~ч)
\item $93 / 9375 \approx 1\%$ пространства поиска
\item Оценочное время: $\sim$4 часа вместо 780 часов --- \textbf{ускорение $>$100$\times$}
\end{itemize}
\end{frame}
% ===== 13. Conclusion =====
\begin{frame}{Заключение}
\begin{itemize}
\item Разработан ГА для оптимизации конфигурации модулей транскрибации и диаризации
\item Модульное кэширование сокращает вычисления в 2.6 раза
\item Пакетное планирование устраняет избыточные загрузки моделей
\item Сходимость за 4--10 поколений (93 модульных вычисления)
\item Лучшая конфигурация: WER~=~5.32\%, DER~=~19.07\%
\item Ускорение $>$100$\times$ по сравнению с полным перебором
\end{itemize}
\vspace{0.4cm}
\textbf{Дальнейшая работа:}
\begin{itemize}
\item Расширение на этап суммаризации (дипломная работа)
\item Апробация на полном датасете
\end{itemize}
\end{frame}
\end{document}