Ukryte koszty AI: jak błędne podpowiedzi i 'context bloat’ windują wydatki i rodzą nową dyscyplinę – Prompt Ops
Dostawcy coraz bardziej zaawansowanych dużych modeli językowych (LLM) kuszą dłuższymi oknami kontekstowymi i usprawnionymi zdolnościami rozumowania. Modele te, choć potrafią przetwarzać i „myśleć” w coraz bardziej złożony sposób, jednocześnie radykalnie zwiększają zapotrzebowanie na moc obliczeniową. Wraz z tym, rosną koszty – im więcej model przyjmuje i generuje, tym więcej energii zużywa.
To, w połączeniu z niekończącymi się próbami doprecyzowania podpowiedzi – często prostego zapytania, które nie wymaga akademickiej precyzji, aby uzyskać zamierzony rezultat – prowadzi do eskalacji wydatków na infrastrukturę. Z tego właśnie wyzwania wyłania się nowa dyscyplina w erze sztucznej inteligencji: Prompt Ops.
Geneza prompt ops
Jak ujął Crawford Del Prete, prezes IDC, w rozmowie z VentureBeat: „Inżynieria podpowiedzi jest jak pisanie, samo tworzenie, natomiast Prompt Ops to jak wydawnictwo, gdzie ewoluujesz treść. Treść jest żywa, zmienia się, a ty chcesz mieć pewność, że ją udoskonalasz w czasie”. To ewolucja, która staje się kluczowa dla efektywności operacyjnej firm.
Wyzwanie zużycia mocy obliczeniowej i kosztów
David Emerson, naukowiec z Vector Institute, podkreśla, że zużycie mocy obliczeniowej i koszty to w kontekście LLM „powiązane, ale odrębne koncepcje”. Zasadniczo, cena, jaką płacą użytkownicy, zależy od liczby tokenów wejściowych (to, co użytkownik podaje jako podpowiedź) i wyjściowych (to, co generuje model). To pokazuje, że istotna jest każda literka, każde słowo.
Dłuższy kontekst, choć pozwala modelom przetwarzać znacznie więcej tekstu jednocześnie, bezpośrednio przekłada się na znacznie większą liczbę operacji zmiennoprzecinkowych (FLOPS) – miarę mocy obliczeniowej. Niektóre aspekty modeli transformatorowych skalują się kwadratowo wraz z długością danych wejściowych, jeśli nie są odpowiednio zarządzane. Nadmiernie długie odpowiedzi mogą również spowolnić czas przetwarzania i wymagać dodatkowej mocy obliczeniowej oraz kosztów na budowanie i utrzymywanie algorytmów do post-processingu odpowiedzi.
Emerson wyjaśnia, że środowiska z dłuższym kontekstem często zachęcają dostawców do celowego generowania obszernych odpowiedzi. Przykładowo, wiele modeli wymagających intensywnego rozumowania, takich jak o3 czy o1 od OpenAI, nierzadko dostarcza długie odpowiedzi nawet na proste pytania, generując znaczne koszty obliczeniowe. Przykładowo, na proste zadanie matematyczne model może odpowiedzieć rozbudowanym wyjaśnieniem, zanim poda finalną odpowiedź. Taki „zalew” tokenami, często niepotrzebny, zmusza inżynierów do dodatkowego programowego wydobywania właściwej odpowiedzi lub zadawania uzupełniających pytań, co dodatkowo generuje koszty API.
Optymalizacja podpowiedzi
Można jednak przeprojektować podpowiedzi, aby model od razu generował zwięzłe odpowiedzi. Prostym przykładem jest dodanie instrukcji: „Rozpocznij odpowiedź od ‘Odpowiedź brzmi…’” lub „Owiń końcową odpowiedź w pogrubione tagi <b></b>”. Emerson zaznacza, że „sposób, w jaki zadane jest pytanie, może zmniejszyć wysiłek lub koszt uzyskania pożądanej odpowiedzi”. Dodatkowo, techniki takie jak 'few-shot prompting’ (dostarczanie kilku przykładów tego, czego użytkownik oczekuje) mogą przyspieszyć generowanie wyników.
Jednym z niebezpieczeństw jest niewiedza, kiedy stosować zaawansowane techniki, takie jak 'chain-of-thought prompting’ (CoT) – generowanie odpowiedzi w krokach – lub 'self-refinement’, które bezpośrednio zachęcają modele do generowania wielu tokenów lub przechodzenia przez liczne iteracje. Nie każde zapytanie wymaga od modelu szczegółowej analizy; często jest on w stanie odpowiedzieć poprawnie od razu, jeśli zostanie odpowiednio poproszony. Używanie zbyt „ciężkich” konfiguracji API, gdy wystarczyłaby tańsza, prostsza opcja, również prowadzi do zbędnych kosztów.
„Z dłuższym kontekstem, użytkownicy mogą również ulegać pokusie podejścia ‘wszystko, co możliwe’, gdzie wrzuca się jak najwięcej tekstu do modelu w nadziei, że pomoże to modelowi dokładniej wykonać zadanie” – przestrzega Emerson. „Chociaż więcej kontekstu może pomóc modelom w wykonywaniu zadań, nie zawsze jest to najlepsze lub najbardziej efektywne podejście”.
Ewolucja w kierunku prompt ops
Nie jest tajemnicą, że infrastruktura zoptymalizowana pod kątem AI jest obecnie towarem deficytowym. Del Prete z IDC zauważa, że przedsiębiorstwa muszą minimalizować czas przestojów GPU i wypełniać więcej zapytań w wolnych cyklach między żądaniami GPU. „Jak wycisnąć więcej z tych bardzo, bardzo cennych zasobów?” – pyta retorycznie. „Ponieważ muszę zwiększyć wykorzystanie mojego systemu, bo po prostu nie mam możliwości prostego zwiększenia wydajności poprzez dodawanie kolejnych zasobów”.
Prompt ops może znacząco przyczynić się do rozwiązania tego wyzwania, ponieważ ostatecznie zarządza całym cyklem życia podpowiedzi. Podczas gdy inżynieria podpowiedzi koncentruje się na ich jakości, Prompt Ops to przestrzeń, w której następuje powtarzalność. „To bardziej orkiestracja” – uważa Del Prete. „Myślę o tym jako o kuracji pytań i kuracji sposobu interakcji z AI, aby upewnić się, że wyciągasz z niej jak najwięcej”.
Modele mogą ulegać „zmęczeniu”, wpadając w pętle, gdzie jakość wyników się degraduje. Prompt ops pomaga zarządzać, mierzyć, monitorować i dostrajać podpowiedzi. „Myślę, że gdy spojrzymy wstecz za trzy lub cztery lata, będzie to cała dyscyplina. Będzie to umiejętność” – przewiduje Del Prete.
Chociaż to wciąż rozwijająca się dziedzina, już teraz pojawiają się pierwsi dostawcy rozwiązań, tacy jak QueryPal, Promptable, Rebuff i TrueLens. W miarę ewolucji Prompt Ops, te platformy będą dalej iterować, ulepszać i dostarczać informacje zwrotne w czasie rzeczywistym, dając użytkownikom większą zdolność do dostrajania podpowiedzi w czasie. Ostatecznie, Del Prete przewiduje, że agenci będą w stanie samodzielnie dostrajać, pisać i strukturyzować podpowiedzi. „Poziom automatyzacji wzrośnie, poziom ludzkiej interakcji zmniejszy się, będziesz mógł mieć agentów działających bardziej autonomicznie w tworzonych przez nich podpowiedziach”.
Typowe błędy w podpowiedziach
Zanim Prompt Ops w pełni się ugruntuje, należy pamiętać, że nie istnieje idealna podpowiedź. Oto niektóre z największych błędów, według Emersona:
- Brak precyzji w problemie: Niedostateczne określenie problemu do rozwiązania, w tym sposobu, w jaki użytkownik chce, aby model dostarczył odpowiedź, co należy wziąć pod uwagę podczas odpowiadania, ograniczeń i innych czynników. „W wielu przypadkach modele potrzebują dużej ilości kontekstu, aby dostarczyć odpowiedź zgodną z oczekiwaniami użytkowników” – zaznacza Emerson.
- Nieuwzględnianie uproszczeń: Brak rozważenia, w jaki sposób problem można uprościć, aby zawęzić zakres odpowiedzi. Czy odpowiedź powinna mieścić się w określonym zakresie (np. 0 do 100)? Czy odpowiedź powinna być sformułowana jako problem wielokrotnego wyboru, a nie otwarty? Czy użytkownik może dostarczyć dobre przykłady do kontekstualizacji zapytania? Czy problem można podzielić na kroki dla oddzielnych i prostszych zapytań?
- Brak wykorzystania struktury: LLM-y są bardzo dobre w rozpoznawaniu wzorców i wiele z nich potrafi zrozumieć kod. Chociaż użycie punktorów, list numerowanych lub wyróżników pogrubienia może wydawać się „nieco zagracone” dla ludzkiego oka, Emerson zauważa, że te elementy mogą być bardzo korzystne dla LLM-ów. Prośba o uporządkowane wyniki (takie jak JSON lub Markdown) może również pomóc, gdy użytkownicy chcą automatycznie przetwarzać odpowiedzi.
Emerson podkreśla, że utrzymanie wydajnego potoku produkcyjnego wymaga uwzględnienia wielu innych czynników, opartych na najlepszych praktykach inżynierskich, w tym:
- Upewnienie się, że przepustowość potoku pozostaje spójna;
- Monitorowanie wydajności podpowiedzi w czasie (potencjalnie w stosunku do zestawu walidacyjnego);
- Ustawienie testów i wczesnego wykrywania problemów w potoku.
Użytkownicy mogą również korzystać z narzędzi wspierających proces tworzenia podpowiedzi. Przykładowo, otwarte oprogramowanie DSPy może automatycznie konfigurować i optymalizować podpowiedzi dla zadań niższego poziomu na podstawie kilku oznaczonych przykładów. Chociaż jest to dość zaawansowany przykład, istnieje wiele innych ofert (w tym wbudowanych w narzędzia takie jak ChatGPT, Google i inne), które mogą wspierać projektowanie podpowiedzi.
Ostatecznie, jak podsumowuje Emerson: „Myślę, że jedną z najprostszych rzeczy, jakie użytkownicy mogą zrobić, jest próba bycia na bieżąco z efektywnymi metodami tworzenia podpowiedzi, rozwojem modeli oraz nowymi sposobami konfiguracji i interakcji z modelami.” To świadome podejście do AI – zamiast bezrefleksyjnego „rzucania” w nią kolejnymi danym – jest kluczem do ograniczenia kosztów i zwiększenia efektywności funkcjonowania systemów AI w przedsiębiorstwach.
