Wykonalność

Na etapie koncepcji i planowania analizujesz elementy rozwiązania ML. Podczas zadania z ramkowaniem problemów przedstawiasz problem w postaci rozwiązania ML. Szczegółowo omawiamy te kroki w kursie Wprowadzenie do kadrowania problemów z systemami uczącymi się. Podczas planowania szacujesz wykonalność danego rozwiązania, tworzysz plany i określasz wyznaczniki sukcesu.

Systemy uczące się mogą być teoretycznie dobrym rozwiązaniem, ale i tak trzeba ocenić jego rzeczywistą wykonalność. Rozwiązanie może na przykład działać technicznie, ale niepraktyczne lub niemożliwe do wdrożenia. Na wykonalność projektu wpływają te czynniki:

  • Dostępność danych
  • Trudność problemu
  • Jakość prognozy
  • Wymagania techniczne
  • Koszt

Dostępność danych

Jakość modeli ML zależy od jakości danych, na których są trenowane. Potrzebują wielu danych wysokiej jakości, aby wygenerować prognozy wysokiej jakości. Odpowiedzi na te pytania pomogą Ci ocenić, czy masz dane niezbędne do wytrenowania modelu:

  • Ilość. Czy uda Ci się uzyskać wystarczającą ilość danych wysokiej jakości, aby wytrenować model? Czy przykłady oznaczone etykietami są rzadkie, trudne do uzyskania lub zbyt drogie? Na przykład uzyskanie oznaczonych obrazów medycznych lub tłumaczeń w rzadkich językach jest często trudne. Aby tworzyć dokładne prognozy, modele klasyfikacji wymagają wielu przykładów dla każdej etykiety. Jeśli zbiór danych do trenowania zawiera ograniczoną liczbę przykładów niektórych etykiet, model nie jest w stanie formułować poprawnych prognoz.

  • Dostępność funkcji w momencie wyświetlenia. Czy wszystkie funkcje używane podczas trenowania będą dostępne w czasie wyświetlania? Zespoły poświęciły mnóstwo czasu na trenowanie modeli, aby zdać sobie sprawę, że niektóre funkcje stały się dostępne dopiero kilka dni po ich wymaganym przez model.

    Załóżmy na przykład, że model przewiduje, czy klient kliknie adres URL, a jedna z funkcji używanych podczas trenowania to user_age. Gdy jednak model wyświetla prognozę, funkcja user_age jest niedostępna, być może dlatego, że użytkownik nie utworzył jeszcze konta.

  • Przepisy. Jakie przepisy i wymagania prawne dotyczą pozyskiwania i używania danych? Pewne wymagania określają np. ograniczenia przechowywania i wykorzystywania określonych typów danych.

Generatywna AI

Wstępnie wytrenowane modele generatywnej AI często wymagają wyselekcjonowanych zbiorów danych, aby znakomicie wykonywać zadania w danej domenie. Zbiory danych mogą być potrzebne w tych przypadkach użycia:

  • Inżynieria promptów, dostrajanie z wykorzystaniem wysokiej jakości parametrów i dostrajanie. W zależności od przypadku użycia możesz potrzebować od 10 do 10 000 przykładów wysokiej jakości, aby jeszcze bardziej doprecyzować dane wyjściowe modelu. Jeśli na przykład model musi zostać dostrojony, aby znakomicie radził sobie z konkretnym zadaniem, takim jak odpowiadanie na pytania medyczne, potrzebny będzie wysokiej jakości zbiór danych, który będzie reprezentował rodzaje pytań, jakie zostanie zadane, wraz z typami odpowiedzi, na które powinien odpowiadać.

    W tabeli poniżej znajdziesz szacowaną liczbę przykładów potrzebnych do doprecyzowania danych wyjściowych generatywnego modelu AI w przypadku danej techniki:

  • Metoda Liczba wymaganych przykładów
    Monit o rejestracji typu zero-shot 0
    Monit typu „few-shot” ok. 10–100 s
    Efektywne dostrajanie parametrów1 ~100–10 000 s
    Dostrajanie Ok. 1000–10 000 s (lub więcej)
    1 Dostosowanie do niskiej pozycji (LoRA) i dostrajanie promptów.
  • Informacje aktualne. Wytrenowane modele generatywnej AI mają stałą bazę wiedzy. Jeśli treść w domenie modelu często się zmienia, musisz mieć strategię, która zapewni jego aktualność, np.:

Trudność problemu

Poziom trudności problemu może być trudny do oszacowania. Podejście, które na początku wydaje się prawdopodobne, staje się otwartym zagadnieniem badawczym. To, co wydaje się praktyczne i wykonalne, może okazać się nierealistyczne lub niewykonalne. Odpowiedź na następujące pytania może pomóc w określeniu poziomu trudności problemu:

  • Czy podobny problem został już rozwiązany? Na przykład czy zespoły w organizacji używały podobnych (lub identycznych) danych do tworzenia modeli? Czy osoby lub zespoły spoza Twojej organizacji rozwiązały podobne problemy, na przykład w usłudze Kaggle lub TensorFlow Hub? Jeśli tak, najprawdopodobniej uda Ci się wykorzystać części ich modeli do stworzenia własnego.

  • Czy problem jest trudny? Znajomość analiz porównawczych wykonywanych przez człowieka może pomóc w wyznaczeniu poziomu trudności problemu. Na przykład:

    • Ludzie są w stanie sklasyfikować rodzaj zwierzęcia na zdjęciu z dokładnością do 95%.
    • Ludzie są w stanie klasyfikować odręczne cyfry z dokładnością około 99%.

    Poprzednie dane sugerują, że utworzenie modelu do klasyfikowania zwierząt jest trudniejsze niż utworzenie modelu do klasyfikowania cyfr pisanych odręcznie.

  • Czy potencjalnie mogą działać nieuczciwe firmy? Czy ludzie będą próbować wykorzystywać Twój model? Jeśli tak, będziesz brać udział w ciągłym wyścigu o aktualizację modelu, zanim zostanie on w niewłaściwy sposób. Filtry spamu nie są w stanie na przykład wychwytywać nowych typów spamu, gdy ktoś wykorzystuje model do tworzenia wiarygodnych e-maili.

Generatywna AI

Modele generatywnej AI mają potencjalne luki w zabezpieczeniach, które mogą zwiększać trudność problemu:

  • Źródło danych wejściowych. Skąd pochodzą dane wejściowe? Czy prompty kontrowersyjne mogą wyciekać dane treningowe, wstępny tekst, zawartość bazy danych lub informacje o narzędziach?
  • Wykorzystanie wyjściowe. Jak będą wykorzystywane dane wyjściowe? Czy model będzie wyprowadzać nieprzetworzoną treść, czy też będą przeprowadzane działania pośrednie, które będą sprawdzać i sprawdzać, czy jest odpowiednia? Na przykład udostępnianie nieprzetworzonych danych wyjściowych wtyczkom może powodować problemy z bezpieczeństwem.
  • Dostrajanie. Dostrajanie uszkodzonego zbioru danych może negatywnie wpłynąć na wagi modelu. To uszkodzenie spowoduje, że model będzie zwracał nieprawidłowe, toksyczne lub stronnicze treści. Jak już wspomnieliśmy, dostrajanie wymaga zweryfikowanego zbioru danych pod kątem przykładów wysokiej jakości.

Jakość prognozy

Uważnie rozważ wpływ prognoz modelu na użytkowników i określ niezbędną jakość prognozy wymaganą przez model.

Wymagana jakość prognozy zależy od jej typu. Na przykład jakość prognozy wymagana przez system rekomendacji nie będzie taka sama w przypadku modelu, który oznacza naruszenia zasad. Polecenie niewłaściwego filmu może zniechęcić użytkowników. Jednak błędne oznaczenie filmu jako naruszającego zasady platformy może skutkować kosztami pomocy technicznej lub, co gorsza, opłatami prawnymi.

Czy model będzie musiał mieć bardzo wysoką jakość prognoz, ponieważ błędne prognozy są bardzo kosztowne? Ogólnie im wyższa wymagana jakość prognozy, tym trudniejszy problem. Niestety, z powodu próby poprawy jakości projekty często spadają. Na przykład zwiększenie dokładności modelu z 99,9% do 99,99% może oznaczać dziesięciokrotny wzrost kosztów projektu (a nawet więcej).

Wraz ze wzrostem jakości prognoz rosną koszty projektu.

Rysunek 2. Projekt ML zwykle wymaga coraz więcej zasobów w miarę zwiększania wymaganej jakości prognoz.

Generatywna AI

Analizując dane wyjściowe generatywnej AI, weź pod uwagę te kwestie:

  • Zgodność faktów. Modele generatywnej AI mogą generować płynne i spójne treści, ale nie ma gwarancji, że będą one prawdziwe. Fałszywe stwierdzenia z modeli generatywnej AI są nazywane konfabulacjami. Modele generatywnej AI mogą na przykład dezorientować i generować nieprawidłowe podsumowania tekstu, błędne odpowiedzi na pytania matematyczne lub fałszywe twierdzenia o świecie. Wiele przypadków użycia nadal wymaga weryfikacji przez człowieka danych wyjściowych generatywnej AI przed ich użyciem w środowisku produkcyjnym, na przykład przy użyciu kodu wygenerowanego przez LLM.

    Podobnie jak w przypadku tradycyjnych systemów uczących się, im wyższy jest wymóg dokładności faktów, tym wyższy koszt tworzenia i utrzymywania.

  • Jakość wyjściowa. Jakie są konsekwencje prawne i finansowe (lub konsekwencje etyczne) błędnych wyników, takich jak stronnicze, splagiatowane lub toksyczne treści?

Wymagania techniczne

Modele mają szereg wymagań technicznych, które wpływają na ich wykonalność. Oto główne wymagania techniczne, które musisz spełnić, aby określić wykonalność projektu:

  • Czas oczekiwania. Jakie są wymagania dotyczące czasu oczekiwania? Jak szybko muszą działać prognozy?
  • Zapytania na sekundę. Jakie są wymagania dotyczące zapytań na sekundę?
  • Wykorzystanie pamięci RAM Jakie są wymagania dotyczące pamięci RAM do trenowania i udostępniania?
  • Platforma. Gdzie zostanie uruchomiony model: online (zapytania wysyłane do serwera RPC), WebML (w przeglądarce), ODML (na telefonie lub tablecie) czy offline (prognozy zapisane w tabeli)?
  • Zrozumiałość. Czy prognozy muszą być interpretowalne? Czy Twój produkt musi na przykład odpowiadać na pytania w rodzaju „Dlaczego konkretny materiał został oznaczony jako spam?” lub „Dlaczego uznaliśmy, że film narusza zasady platformy?”.

  • Częstotliwość ponownego trenowania. Gdy dane bazowe Twojego modelu gwałtownie się zmieniają, konieczne może być częste lub ciągłe przetrenowanie. Częste ponowne trenowanie może jednak wiązać się z istotnymi kosztami, które mogą przeważyć korzyści z aktualizacji prognoz modelu.

W większości przypadków będzie to prawdopodobnie związane z jakością modelu zgodnego z jego specyfikacjami technicznymi. W takich przypadkach musisz sprawdzić, czy nadal jesteś w stanie utworzyć model na tyle dobry, aby przejść do produkcji.

Generatywna AI

Podczas pracy z generatywną AI weź pod uwagę te wymagania techniczne:

  • Platforma. Wiele wytrenowanych modeli ma różne rozmiary, co umożliwia ich działanie na różnych platformach z różnymi zasobami obliczeniowymi. Wytrenowane modele mogą na przykład mieć zakres od skali centrum danych po dopasowanie do telefonu. Wybierając rozmiar modelu, musisz wziąć pod uwagę ograniczenia związane z czasem oczekiwania, prywatnością i jakością. Te ograniczenia często mogą ze sobą kolidować. Na przykład ograniczenia związane z prywatnością mogą wymagać, aby wnioskowanie było uruchamiane na urządzeniu użytkownika. Jakość danych wyjściowych może być jednak niska, ponieważ urządzenie nie ma zasobów obliczeniowych, aby uzyskać dobre wyniki.
  • Czas oczekiwania. Rozmiar danych wejściowych i wyjściowych modelu wpływa na opóźnienie. W szczególności rozmiar danych wyjściowych wpływa na opóźnienie bardziej niż na rozmiar wejściowy. Modele mogą równolegle korzystać z danych wejściowych, ale generować dane wyjściowe tylko sekwencyjnie. Innymi słowy, opóźnienie może być takie samo przy przetwarzaniu danych wejściowych składających się z 500 słów lub 10 słów, a wygenerowanie podsumowania 500 słów trwa znacznie dłużej niż wygenerowanie podsumowania składającego się z 10 słów.
  • Użycie narzędzi i interfejsów API. Czy model będzie musiał korzystać z narzędzi i interfejsów API, takich jak wyszukiwanie w internecie, używanie kalkulatora lub dostęp do klienta poczty e-mail, aby wykonać zadanie? Zwykle im więcej narzędzi jest potrzebnych do wykonania zadania, tym większe jest prawdopodobieństwo wystąpienia błędów i zwiększenia luk w zabezpieczeniach modelu.

Koszt

Czy wdrożenie systemów uczących się jest warte ponoszenia kosztów? Większość projektów ML nie zostanie zatwierdzona, jeśli wdrożenie i utrzymywanie rozwiązania ML jest droższe niż generowane (lub oszczędzane) pieniądze. Projekty ML wiążą się z kosztami zarówno ludzi, jak i maszyn.

  • Koszty ludzi. Ile osób potrzeba, aby przejść od etapu opracowania koncepcji do produkcji? W miarę ewoluowania projektów ML wydatki zazwyczaj rosną. Na przykład projekty ML wymagają od większej liczby osób do wdrożenia i obsługi systemu gotowego do wdrożenia w środowisku produkcyjnym niż w przypadku prototypu. Spróbuj oszacować liczbę i rodzaje ról wymaganych przez projekt na każdym etapie.

  • Koszty maszyn. Trenowanie, wdrażanie i utrzymywanie modeli wymaga dużej mocy obliczeniowej i pamięci. Możesz na przykład potrzebować limitu TPU na potrzeby trenowania modeli i udostępniania prognoz, a także niezbędnej infrastruktury na potrzeby potoku danych. Dodanie etykiet do danych i opłaty za licencje na dane mogą być płatne. Przed wytrenowaniem modelu zastanów się nad szacowaniem kosztów maszyny w przypadku tworzenia i utrzymywania funkcji systemów uczących się w dłuższej perspektywie.

  • Koszt wnioskowania. Czy model będzie musiał wyciągać setki czy tysiące wnioskowania, które kosztują więcej niż generują przychody?

Pamiętaj

Problemy związane z którymkolwiek z powyższych tematów mogą utrudniać wdrożenie rozwiązania ML, ale zbyt krótkie terminy mogą utrudniać wdrożenie. Postaraj się zaplanować odpowiednio dużo czasu i przeznaczyć na niego czas zgodnie z postrzeganą trudnością problemu, a potem spróbuj zarezerwować jeszcze więcej czasu niż na projekt niekorzystający z systemów uczących się.