Оптимизация параметров языковой модели на основе графа со-встречаемости слов: когда больше — не значит лучше. llm.. llm. Блог компании Газпромбанк.. llm. Блог компании Газпромбанк. графы.. llm. Блог компании Газпромбанк. графы. искусственный интеллект.. llm. Блог компании Газпромбанк. графы. искусственный интеллект. языковые модели.

В последние годы мы привыкли, что прогресс в NLP измеряется гига- и терабайтами параметров. Кажется, единственный путь к улучшению качества модели — увеличение ее размера. Но так ли это для специализированных задач?

Мы решили пойти от обратного: можно ли заранее, еще до обучения, понять, насколько большой должна быть модель, чтобы эффективно решать конкретную задачу классификации?

Эксперимент строится на простой, но мощной гипотезе: структура текстов предметной области, отраженная в графе со-встречаемости слов, диктует минимально необходимую архитектуру трансформера. Мы прошли полный цикл — от анализа текстов студенческих запросов до обучения трех моделей разного размера — и подтвердили, что минимальная модель, спроектированная на основе графовых метрик, не уступает «стандартной» по качеству, превосходя ее по ресурсоэффективности в десятки раз.

1. Данные и постановка задачи

В качестве датасета мы использовали university_query_train.csv — 5000 студенческих обращений в университет. Каждая запись включает текст запроса, название департамента и метку приоритета (High, Medium, Low). Задача — классифицировать запросы по трем категориям срочности.

На этапе предобработки мы сознательно отказались от предобученных эмбеддингов и стоп-слов. Вместо этого построили собственный словарь, включив только токены, встречающиеся в корпусе не менее двух раз. Получился «чистый» язык предметной области — всего 90 уникальных токенов.

2. Построение графа со-встречаемости и его анализ

Ключевая идея — построить граф, где вершины — слова (токены), а ребра показывают, как часто эти слова встречаются рядом в тексте (в окне из пяти слов). Для построения мы использовали библиотеку NetworkX.

Полученные метрики:

  • Узлов (токенов): 86

  • Ребер (связей): 824

  • Плотность графа: 0,225 (граф достаточно связный)

  • Средняя степень узла: 19,16 (у каждого слова в среднем 19 соседей)

  • Средний коэффициент кластеризации: 0,617 (высокий — слова формируют устойчивые тематические группы)

  • Диаметр графа: 4 (максимальное расстояние между двумя словами — всего 4 шага)

Что из этого следует? Предметная область очень компактна. Слова тесно связаны друг с другом, а информация между любыми двумя понятиями передается через небольшое количество промежуточных токенов.

3. От графа — к архитектуре трансформера

Мы разработали эвристический метод, который транслирует метрики графа в гиперпараметры модели. Логика проста: архитектура должна соответствовать структуре данных.

1.Размер словаря (vocab_size) напрямую равен количеству узлов в графе (86).
2. Размерность эмбеддингов (d_model) должна быть достаточной, чтобы закодировать информацию о связях слова.

Минимальная архитектура: 8 log2(avg_degree) (1 + clustering) ≈ 55. Оптимальная архитектура: 20 avg_degree (1 + clustering * 0,5) ≈ 512.
Количество слоев (num_layers) определяется диаметром графа. Минимальная: ceil (diameter / 3) ≈ 2 слоя. Оптимальная: diameter + 2 ≈ 6 слоев.

Количество голов внимания (nhead) коррелирует с алгебраической связностью графа (мерой его «кластеризуемости»). Значения варьируются от 2 до 8.

  1. Размер словаря (vocab_size) напрямую равен количеству узлов в графе (86).

  2. Размерность эмбеддингов (d_model) должна быть достаточной, чтобы закодировать информацию о связях слова.
    Минимальная архитектура: 8 log2(avg_degree) (1 + clustering) ≈ 55.
    Оптимальная архитектура: 20 avg_degree (1 + clustering * 0,5) ≈ 51

  3. Количество слоев (num_layers) определяется диаметром графа. 
    Минимальная: ceil (diameter / 3) ≈ 2 слоя.
    Оптимальная: diameter + 2 ≈ 6 слоев.

  4. Количество голов внимания (nhead) коррелирует с алгебраической связностью графа (мерой его «кластеризуемости»). Значения варьируются от 2 до 8.

Итоговые архитектуры для эксперимента

Модель

d_model

nhead

layers

ff_dim

Параметров (прибл.)

Минимальная

55

2

2

110

54K

Промежуточная

128

4

4

256

550K

Стандартная

256

8

6

512

3,2M

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

4. Эксперимент и результаты

Все три модели обучались классифицировать приоритет запроса с использованием кросс-энтропийной потери и оптимизатора AdamW.

  • Минимальная модель (всего 75K параметров) достигла идеальной точности (Accuracy = 1,0) на тестовой выборке за пять эпох.

  • Промежуточная и стандартная модели тоже показали идеальный результат, но с гораздо большими затратами вычислительных ресурсов и времени.

Все три модели справились с задачей на 100%. Но минимальная сделала это в 43 раза эффективнее по количеству параметров.

«Стандартные» архитектуры часто содержат избыточную емкость для узких, специализированных задач. Здесь мы не просто сэкономили память — сократили время обучения и инференса, что критически важно для production-систем.

5. Выводы и практические рекомендации

Эксперимент подтверждает: графовый анализ текстов — не академическое упражнение, а рабочий инструмент инженера.

  1. Граф со-встречаемости — карта предметной области. Его метрики (средняя степень, диаметр, кластеризация) дают четкое представление о сложности и связности данных.

  2. Размер модели должен соответствовать сложности данных. Если граф маленький и плотный, нет смысла использовать гигантские трансформеры.

  3. Экономия ресурсов может быть колоссальной. В нашем случае модель удалось уменьшить в десятки раз без потери качества — прямой путь к снижению затрат на облачные вычисления и к внедрению моделей на мобильных устройствах.

Методика для инженеров

Хотите спроектировать эффективную модель для своей задачи? Начните с графа со-встречаемости для вашего корпуса текстов. Вычислите ключевые метрики — avg_degree, clustering, diameter, algebraic_connectivity — и используйте их как отправную точку для гиперпараметров.

Размерность эмбеддингов считается по формуле 

d_model = k avg_degree (1 + clustering),

где k — коэффициент от 8 (для минимальной архитектуры) до 20 (для оптимальной). Количество слоев определяйте через диаметр графа: ceil (diameter / 3) для начала, с возможностью добавить 2–3 слоя для более сложных зависимостей. Количество голов внимания — от 2 до 8, где большее значение соответствует большему числу потенциальных кластеров в графе.

Это первый шаг к осознанному проектированию архитектур, где выбор параметров диктуется не модой, а математикой и структурой данных.

Автор: Mish_Gum

Источник