Мелкие правки

This commit is contained in:
2026-04-06 09:55:02 +03:00
parent 082fcf8f34
commit a6ef6135b9
4 changed files with 27 additions and 39 deletions

View File

@@ -412,21 +412,22 @@ clustering\_threshold & дискретный & \{0.3, 0.45, 0.6, 0.75, 0.9\} \\
\subsection{Лучшие найденные конфигурации}
В таблице~\ref{tab:top-configs} представлены лучшие конфигурации, найденные алгоритмом, с различными сочетаниями моделей.
В таблице~\ref{tab:top-configs} для каждой уникальной комбинации моделей транскрибации и диаризации представлена лучшая найденная конфигурация параметров.
\begin{table}[H]
\centering
\caption{Лучшие конфигурации, найденные генетическим алгоритмом}
\small
\caption{Лучшие конфигурации для каждой уникальной комбинации моделей}
\label{tab:top-configs}
\begin{tabular}{c l l c c c}
\begin{tabular}{c l l c c c c}
\toprule
\textbf{\#} & \textbf{Транскрибация} & \textbf{Диаризация} & \textbf{WER, \%} & \textbf{DER, \%} & $f(\mathbf{x})$ \\
\textbf{\#} & \textbf{Транскрибация} & \textbf{Диаризация} & \textbf{WER,\,\%} & \textbf{DER,\,\%} & \textbf{T,\,мин} & $f(\mathbf{x})$ \\
\midrule
1 & GigaAM-RNN-T & Sortformer & 5.32 & 19.07 & 11.25 \\
2 & GigaAM-CTC & Sortformer & 6.54 & 19.07 & 11.30 \\
3 & GigaAM-RNN-T & pyannote Comm.-1 & 5.32 & 20.50 & 11.60 \\
4 & GigaAM-CTC & pyannote Comm.-1 & 6.54 & 20.50 & 11.66 \\
5 & F.-Whisper large-v3 & Sortformer & 7.59 & 19.01 & 11.84 \\
1 & GigaAM-RNN-T & Sortformer & 5.32 & 19.07 & 7.45 & 11.25 \\
2 & GigaAM-CTC & Sortformer & 6.54 & 19.07 & 5.29 & 11.30 \\
3 & GigaAM-RNN-T & pyannote Comm.-1 & 5.32 & 20.50 & 6.36 & 11.60 \\
4 & GigaAM-CTC & pyannote Comm.-1 & 6.54 & 20.50 & 4.20 & 11.66 \\
5 & F.-Whisper large-v3 & Sortformer & 7.59 & 19.01 & 6.01 & 11.84 \\
\bottomrule
\end{tabular}
\end{table}
@@ -461,8 +462,6 @@ clustering\_threshold & дискретный & \{0.3, 0.45, 0.6, 0.75, 0.9\} \\
За 25 поколений алгоритм выполнил 93 уникальных модульных вычисления: 27 конфигураций транскрибации и 66 конфигураций диаризации. При этом было оценено 121 уникальное сочетание параметров (полная конфигурация пайплайна). Без модульного кэширования потребовалось бы 242 модульных вычисления (121~$\times$~2), то есть кэширование сократило объём вычислений в 2.6 раза.
На рисунке~\ref{fig:convergence} видно, что начиная с 8-го поколения число новых вычислений резко сокращается (0--4 за поколение), так как большинство конфигураций уже присутствуют в кэше.
\subsection{Сравнение с другими стратегиями поиска}
Для оценки эффективности генетического алгоритма проведено сравнение со случайным поиском. Результаты представлены в таблице~\ref{tab:comparison}.
@@ -477,14 +476,14 @@ clustering\_threshold & дискретный & \{0.3, 0.45, 0.6, 0.75, 0.9\} \\
\midrule
Полный перебор & 9375 & --- & --- & --- \\
Случ. поиск (15 конф.) & 15 & 13.03 & 6.99 & 23.35 \\
Случ. поиск (93 конф.) & 93 & 11.81 & 5.57 & 20.27 \\
Случ. поиск (375 конф.) & 375 & 11.32 & 5.57 & 19.15 \\
Случ. поиск (60 конф.) & 60 & 12.20 & 6.54 & 21.50 \\
Случ. поиск (120 конф.) & 120 & 11.60 & 5.57 & 19.80 \\
ГА (25 поколений) & 93 мод. выч. & 11.25 & 5.32 & 19.07 \\
\bottomrule
\end{tabular}
\end{table}
Генетический алгоритм с 93 модульными вычислениями нашёл конфигурацию лучше, чем случайный поиск с 375 оценками полного пайплайна ($f = 11{,}25$ против $f = 11{,}32$). При этом ГА использовал значительно меньший вычислительный бюджет.
Генетический алгоритм с 93 модульными вычислениями нашёл конфигурацию лучше, чем случайный поиск со 120 оценками полного пайплайна ($f = 11{,}25$ против $f = 11{,}60$). При этом случайный поиск со 120 конфигурациями занимает $120 \times 5 = 600$ минут (10 часов) --- весь доступный вычислительный бюджет, тогда как ГА укладывается в~4 часа.
По сравнению с полным перебором, генетический алгоритм оценил лишь $93 / 9375 \approx 1\%$ от общего числа модульных конфигураций. При оценочном времени выполнения одного модульного вычисления около 2.5 минуты, общее время работы алгоритма составляет около 4 часов, что более чем в~100 раз быстрее полного перебора (780 часов).
@@ -497,7 +496,7 @@ clustering\_threshold & дискретный & \{0.3, 0.45, 0.6, 0.75, 0.9\} \\
Реализованный алгоритм включает модульное кэширование результатов, позволяющее избежать повторных вычислений при изменении параметров одного из модулей, а также пакетное планирование вычислений, группирующее конфигурации по модели для минимизации затрат на загрузку и выгрузку нейросетевых моделей.
Экспериментальная апробация показала, что алгоритм сходится к близкому к оптимальному решению за 4--10 поколений, выполняя при этом лишь 93 модульных вычисления --- около 1\% от полного пространства поиска в 9375 конфигураций. Лучшая найденная конфигурация (GigaAM-RNN-T + Sortformer, WER~=~5.32\%, DER~=~19.07\%) превосходит результат случайного поиска с четырёхкратно бо\'{л}ьшим числом оценок. Оценочное время работы алгоритма составляет около 4 часов на Tesla~T4, что более чем в 100 раз быстрее полного перебора.
Экспериментальная апробация показала, что алгоритм сходится к близкому к оптимальному решению за 4--10 поколений, выполняя при этом лишь 93 модульных вычисления --- около 1\% от полного пространства поиска в 9375 конфигураций. Лучшая найденная конфигурация (GigaAM-RNN-T + Sortformer, WER~=~5.32\%, DER~=~19.07\%) превосходит результат случайного поиска, использующего весь 10-часовой вычислительный бюджет (120 конфигураций). Оценочное время работы алгоритма составляет около 4 часов на Tesla~T4, что более чем в 100 раз быстрее полного перебора.
В дальнейшем, в рамках дипломной работы, планируется расширение подхода на этап суммаризации при условии увеличения вычислительных ресурсов, а также апробация алгоритма на реальных данных с использованием полного датасета.