Вячеслав Дубейко от компанията IBM стартира дискусия в списъка за разпространение на разработчиците на ядрото на Linux относно използването на модели за машинно обучение в ядрото, както и предложи за тестване набор от патчове с библиотека за интеграция на ML-модели в ядрото и пример за символен драйвер, който използва библиотеката.
Интеграцията на ML-модели в ядрото може да бъде полезна за промяна на логиката на работа на подсистемите с оглед на обработваните данни, оптимизация на работата и промяна на конфигурацията в зависимост от вътрешното състояние на системите. Използването на машинно обучение, което може да открива закономерности и да прави прогнози без ръчна реализация на алгоритми, ще улесни избора на най-ефективната конфигурация на ядрото с оглед на сложността и изменчивостта на съвременните работни натоварвания, а също така ще позволи решаването на проблеми като предсказване на неизправности в системите за съхранение.
Освен движка за изпълнение на модели, се разглежда разработването на инструменти за събиране на данни за обучение на ML-модели, директно обучение на модел и тестване на резултатите. Тъй като за изпълнение на ML-моделите са необходими операции с плаваща запетая, а в ядрото не се допуска пряко използване на FPU, предложение прототип представлява слой за достъп до ML-моделите, изпълнявани в потребителското пространство, по аналогия с извеждането на обработчици в потребителското пространство SPDK, DPDK и ublk.
Извеждането на изпълнението и обучението на модела в потребителското пространство улеснява поддръжката и изолира ядрата от проблеми в кода на модела. На етапа на обучение данните за състоянието и параметрите на ядрото могат да се запрашват от обработчик в потребителското пространство или да се предават от слоя, изпълняван на ниво ядро. За управлението на взаимодействието между компонентите в ядрото и потребителското пространство се използва sysfs. Възможно е адаптивно обучение на ML-модела, при което подсистемата на ядрото получава препоръка от ML-модела, прилага препоръчаната промяна и оценява ефективността на препоръката.
Източник: opennet.ru
