Новое предложение по использованию машинного обучения для улучшения работы ядра Linux

В ходе недавней дискуссии в списке рассылки ядра Linux обсуждался вопрос о том, может ли машинное обучение помочь подсистемам ядра. Вячеслав Дубейко, инженер IBM, предложил создать универсальную инфраструктуру, которая позволит подсистемам ядра взаимодействовать с моделями машинного обучения, работающими исключительно в пользовательском пространстве.
В основе предложения лежит легковесный «прокси-сервер машинного обучения» в ядре. Этот прокси-сервер будет предоставлять структурированные данные из подсистем ядра, такие как внутреннее состояние или показатели производительности, и получать рекомендации от модели машинного обучения в пользовательском пространстве. Обучение, выполнение модели и эксперименты будут осуществляться вне ядра, что позволит ядру сохранять полный контроль над применением рекомендаций.
Поскольку машинное обучение сразу же ассоциируется с искусственным интеллектом, я хочу прояснить следующий момент. Идея не в том, чтобы встраивать код искусственного интеллекта или машинного обучения в ядро. Вместо этого подсистемы ядра будут предоставлять данные пользовательскому пространству, где обычно работают модели машинного обучения, и получать в ответ необязательные рекомендации.
Ядро останется полностью детерминированным и будет самостоятельно принимать решения о том, применять, тестировать или игнорировать предложения. При этом все обучение и логические выводы будут выполняться вне пространства ядра. В качестве возможных уровней передачи и выполнения данных рассматриваются существующие механизмы, такие как sysfs, символьные устройства, FUSE и eBPF.
Дубейко также предлагает внедрить цикл обратной связи, в рамках которого ядро оценивает примененные рекомендации и сообщает пользователю о показателях эффективности. Эта информация может быть использована для доработки или переобучения моделей без ущерба для производительности и детерминированности ядра. В предложении подчеркивается, что логика ядра, написанная человеком, остается базовой, а машинное обучение служит лишь в качестве рекомендательного уровня.
Опубликована предварительная экспериментальная реализация предлагаемой библиотеки машинного обучения, а серия патчей RFC была опубликована для обсуждения в списке рассылки ядра Linux. Патчи помечены как экспериментальные и предназначены для сбора отзывов, а не для включения в основную ветку.
Патчи не были интегрированы в основную ветку ядра, поскольку работа носит экспериментальный характер. Вопрос о том, выйдут ли подсистемы ядра, использующие машинное обучение, за рамки экспериментов, остается открытым.
Для получения дополнительной информации см. само предложение в списке рассылки ядра.
Редактор: AndreyEx