Ww. parametry jakości działania systemu mogą być niewystarczające, aby zapewnić bezproblemowe korzystanie z rozwiązania. Stąd, w niektórych umowach SLA występuje także wskaźnik dostępności systemu, który reguluje przez jaką część okresu rozliczeniowego użytkownik oprogramowania powinien móc bez przeszkód korzystać z rozwiązania. Jest to odpowiedź na patową sytuację, w której odbiorca oprogramowania nie może korzystać z rozwiązania wskutek częstego występowania błędów, naprawianych jednak w uzgodnionym terminie. Bez określenia parametru dostępności, jako wskaźnika uzupełniającego czas reakcji lub naprawy, opisana wyżej sytuacja nie powodowałaby żadnych sankcji po stronie dostawcy. Parametr dostępności zastąpiony może być oczywiście uzgodnieniem ilości błędów. To może powodować jednak trudności przy kształtowaniu definicji błędu w SLA.
W tradycyjnym SLA pojawiają się czasem także parametry odnoszące się bezpośrednio do działania systemu, jak przepustowość, czyli ilość danych, które mogą być przesyłane w określonym czasie lub maksymalny czas opóźnienia w przepływie informacji.
SLA systemów sztucznej inteligencji
W odniesieniu do systemów AI, tradycyjne parametry SLA mogą okazać się niewystarczające, aby zagwarantować użytkownikowi korzystanie z oprogramowania w sposób przez niego oczekiwany. Przede wszystkim sztuczna inteligencja powoduje inną dynamikę cyklu życia rozwiązania technologicznego. Algorytmy uczenia maszynowego lub przetwarzania języka naturalnego ewoluują i adaptują się w czasie, co może wpływać na ich wydajność i funkcjonowanie. Oznacza to, że sposób działania systemu może się zmieniać w toku jego wykorzystywania.
Co jednak ważniejsze, dotychczasowe parametry SLA pozwalały na prostą weryfikację, czy system wykonuje przeznaczone mu zadania nieprzerwanie z jednakową, określoną przez strony, szybkością. Natomiast w przypadku sztucznej inteligencji, ważniejsza może okazać się jakość, a nie ilość, wyników systemu. Wyniki te nie są bowiem jednakowe. Oznacza to, że w toku korzystania z modelu AI, oprogramowanie powinno podlegać bardziej złożonej weryfikacji, uwzględniającej oczekiwane cechy systemu. Strony nie będą uzgadniać już wyłącznie docelowej dostępności rozwiązania, lecz także szereg innych parametrów, monitorujących funkcjonowanie danego systemu i spełnienie przez niego założonej roli.
Do podobnego wniosku prowadzą przepisy nadchodzącego Rozporządzenia ws. sztucznej inteligencji (AI Act). Unijny ustawodawca wskazuje nam dwa nowe parametry, które powinny być monitorowane w przypadku każdego systemu sztucznej inteligencji wysokiego ryzyka. W art. 15 AI Act znajduje się wymóg, aby w dokumentacji oprogramowania pojawił się zakładany poziom dokładności (accuracy) oraz solidności (robustness).
Dokładność w systemach AI odnosi się do zdolności modelu do poprawnego klasyfikowania danych. Jest to podstawowy wskaźnik, który można obliczyć jako stosunek liczby poprawnych wyników do całkowitej liczby wyników. Przykładowo, weryfikacja systemu AI typu speech to text pod kątem dokładności będzie polegała na określeniu, ile próbek mowy zostało prawidłowo przekształcone na tekst. Natomiast w przypadku modelu wychwytującego spam w skrzynce mailowej zostanie sprawdzone, ile wiadomości zostało prawidłowo sklasyfikowanych.
Są oczywiście różne możliwości pomiaru dokładności. Powinny być one dostosowane do danego systemu. Jako przykłady metryk, które weryfikują jakość wyników systemu, wskazać można – poza wspomnianą już wyżej standardową miarą accuracy - takie jak:
- precyzję (precision), która mierzy, jak wiele z przewidywanych pozytywnych wyników jest rzeczywiście pozytywnych,
- czułość (recall), która mierzy, jak wiele z rzeczywistych pozytywnych przypadków zostało poprawnie zidentyfikowanych przez model
- tzw. F1 Score, który jest harmoniczną średnią precyzji i czułości, używaną do oceny równowagi między ww. wskaźnikami.
Solidność systemu AI odnosi się natomiast do zdolności modelu do utrzymania wydajności w obliczu zakłóceń, takich jak zmiany w danych wejściowych lub ataki z zewnątrz. Przykładowo, oprogramowanie autonomicznych pojazdów powinno być odporne na zmienne okoliczności drogowe, a systemy oceny zdolności kredytowej na manipulację danymi klientów banku.
W ramach weryfikacji solidności, możemy zastosować metryki takie jak:
- Stability Metrics, które mierzą, jak niewielkie zmiany w danych wejściowych wpływają na wyniki modelu.
- Model Robustness, który ocenia odporność modelu na zmiany w danych treningowych. Może być mierzona poprzez porównanie wydajności modelu na oryginalnym zbiorze danych z jego wydajnością na zmodyfikowanych zbiorach danych.
- Formal Verification, mają na celu zapewnienie, że model nie zmieni klasyfikacji w odpowiedzi na niewielkie modyfikacje danych wejściowych, np. wprowadzenie tzw. szumów.
Art. 15 AI Act wyróżnia dokładność i solidność jako obowiązkowe parametry weryfikacji systemu AI wysokiego ryzyka, gdyż ich wzajemny balans, jest kluczowy dla wiarygodności działania sztucznej inteligencji. W praktyce, dążenie do wysokiej dokładności może prowadzić do osłabienia odporności, co podkreśla potrzebę zrównoważonego podejścia w projektowaniu i oceny tego rodzaju oprogramowania.
Oczywiście analizowany przepis nie zamyka katalogu parametrów monitorowania systemów AI. Przeciwnie, zobowiązuje do wskazania w dokumentacji wszelkich istotnych parametrów oceny skuteczności działania oprogramowania.
Wymagania niefunkcjonalne, czy SLA?
Przepisy Rozporządzenia ws. sztucznej inteligencji wymagają, aby wskazane wyżej parametry znalazły się w dokumentacji systemu AI. Można sobie zatem wyobrazić sytuację, w której zakładana dokładność i solidność systemu stanowią wyłącznie element opisu wymagań niefunkcjonalnych. Lepszym rozwiązaniem jest jednak zawarcie ich w postanowieniach o charakterze SLA.
Przede wszystkim, standardowo parametry SLA są monitorowane cyklicznie, co jest rozwiązaniem bezpieczniejszym dla użytkownika systemu pozwalającym mu na zachowanie zgodności regulacyjnej. Po drugie, tradycyjnie SLA precyzuje sposób bieżącego reagowania przez dostawcę na obniżenie zakładanych parametrów oprogramowania, a co za tym idzie – na zmienność typową dla systemów AI. Natomiast, w przypadku niespełnienia przez system parametrów deklarowanych tylko jako wymaganie niefunkcjonalne, co do zasady konieczne byłoby wzywanie kontrahenta do należytego wykonywania umowy, a następnie oczekiwanie na jego reakcję. Dodatkowo, w ramach postanowień SLA zazwyczaj przewiduje się kary umowne, których celem jest motywowanie dostawcy do zapewnienia odpowiedniej jakości korzystania z systemu. To również ma znaczenie z perspektywy odbiorcy systemu, który zainteresowany jest przede wszystkim niezakłóconym korzystaniem z rozwiązania.