Открыты для сотрудничества с яркими инициативными командами.
Техники контролируемого обучения, которые минимизируют «галлюцинации» и максимизируют структурную корректность ответов.
Вы провели fine-tuning, и модель стала лучше говорить на языке вашей предметной области. Но она все еще может предложить несуществующую процедуру или нарушить внутренний регламент. Как внедрить жесткие правила непосредственно в процесс обучения? Это задача для fine-tuning с ограничениями (Constrained Fine-Tuning).
Проблема: LLM как свободный художник vs. Требования как строгий протокол
Основа обучения LLM — предсказание следующего токена по контексту. Ничто в этой формуле не гарантирует, что итоговый текст будет соответствовать формату или правилам. Нам нужно сузить пространство возможных ответов.
Подход 1: Ограничение на уровне вывода (Inference-Time Constraints)
Что: Не меняем обучение, а «фильтруем» выходы модели уже после генерации.
Как:
Структурированные выходы: Заставляем модель генерировать ответ строго в формате JSON, где ключи определены онтологией (например, {"medication": "", "dosage": "", "contraindications": []}). Используем технику guided decoding или JSON mode в API.
Семантическая валидация: Сгенерированный ответ прогоняем через классификатор или набор правил (например, проверяем, что название препарата есть в онтологическом справочнике). Если ответ невалиден — генерируем заново или корректируем.
Плюсы: Простота, можно применять к любой предобученной модели.
Минусы: Неэффективно, может требовать множества попыток, не учит модель внутренним правилам.
Подход 2: Ограничение через архитектуру лосс-функции (Loss-Level Constraints)
Это уже изменение процесса fine-tuning.
Метод 2.1: Супервизия на основе онтологии (Ontology-Guided Supervision)
Как: Помимо стандартного лосса (например, кросс-энтропии) добавляем дополнительный штраф (regularization term).
Пример: Если модель на шаге t должна предсказать токен, относящийся к «побочному эффекту», но предсказывает токен, который в онтологии не является побочным эффектом (а, скажем, симптомом болезни), — лосс увеличивается.
Технически: Для этого нужно уметь «маркировать» токены в эталонных ответах по типам онтологических сущностей (Named Entity Recognition) и во время обучения подавать этот сигнал.
Метод 2.2: Обучение с подкреплением с онтологическими наградами (RL with Ontological Rewards)
Как: Используем Reinforcement Learning from Human Feedback (RLHF), но вместо «человеческой» обратной связи используем автоматическую оценку на основе онтологии.
Модель генерирует ответ.
Оценочная функция (Reward Model), запрограммированная на основе онтологии, проверяет ответ:
+1 балл за каждую корректно упомянутую и связанную сущность.
-1 балл за нарушение правила (например, назначение противопоказанного препарата).
+0.5 балла за корректный формат вывода.
Этот «балл» используется для обновления модели через алгоритмы RL (например, PPO).
Плюсы: Модель учится генерировать корректные ответы с первого раза.
Минусы: Сложнее в настройке, требует разработки качественной reward-функции.
Подход 3: Прямое встраивание онтологии в архитектуру (Knowledge-Infused Architectures)
Самый сложный и мощный подход.
Метод 3.1: Модифицированные эмбеддинги (Knowledge-Augmented Embeddings)
Как: Перед fine-tuning'ом вы дообучаете слой эмбеддингов (embedding layer) модели на специальных задачах:
Задача предсказания отношений (Link Prediction): Дана пара сущностей [CLS] Лозартан [SEP] Гипертензия [SEP], предсказать отношение treats.
Задача маскирования сущностей (Entity Masking): В тексте маскируются названия сущностей, модель должна их восстановить, учитывая контекст и тип сущности из онтологии.
Результат: Модель начинает «чувствовать» онтологию на уровне векторных представлений.
Метод 3.2: Архитектура с внешней памятью (Memory-Augmented Networks)
Как: В архитектуру Transformer добавляется внешний memory bank — структура, хранящая факты из онтологии в формате (сущность, отношение, сущность). В процессе генерации модель может «обращаться» к этой памяти через механизм внимания (attention).
Аналогия: У модели теперь есть «шпаргалка» в виде структурированной онтологии, к которой она может подглядывать во время работы.
Практический пайплайн для инженера:
Подготовка данных: Создайте датасет (input, output), где output — не просто текст, а текст, аннотированный онтологическими тегами. Например: «Назначьте <МЕДИКАМЕНТ>лозартан</МЕДИКАМЕНТ> в дозе <ДОЗИРОВКА>50 мг</ДОЗИРОВКА>».
Предобучение эмбеддингов (Опционально, но полезно): Дообучите embedding layer модели на задачах, связанных с вашей онтологией.
Fine-tuning с многозадачностью: Обучайте модель одновременно:
Основная задача: Генерация ответа (seq2seq).
Вспомогательные задачи: Предсказание типа следующей сущности в ответе (Classification), заполнение пропусков в онтологических цепочках.
RL-дообучение: Настройте автоматическую reward-функцию, основанную на онтологии, и проведите RLHF-цикл для тонкой настройки поведения.
Валидация: Тестируйте модель на наборе краевых случаев (edge cases), которые проверяют соблюдение критически важных правил.
Инструменты:
Transformers + Pytorch/TensorFlow: Для кастомного fine-tuning с модификациями лосса.
TRL (Transformer Reinforcement Learning) от Hugging Face: Для RLHF.
DeepSpeed/FSDP: Для ускорения обучения больших моделей.
Спецфреймворки: Microsoft's DeepSpeed4Science, KGT5 (модели T5, предобученные на графах знаний).
Вывод:
Fine-tuning с онтологическими ограничениями — это путь от «послушной» модели к надежному эксперту, следующему протоколу. Это требует глубокой интеграции инженерии знаний (онтология) и машинного обучения. Результат — системы, которые не только умны, но и безопасны и аудируемы, что критически важно для медицины, финансов и юриспруденции.