Masz dwa modele językowe (LLM-y) jeden rozwiązuje zadania ze skutecznością 97%, a drugi ze skutecznością 98%.
Jest sens walczyć o ten jeden punkt?
Przecież to tylko jedna dodatkowa wpadka na 100 wywołań 🤷♂️
"Ty nie myślisz AGENTOWO Marty!" 🧵 ↓
Zdanie, że miedzy 97% skuteczności, a 98% skuteczności jest tylko jeden punkt procentowy różnicy, jest prawdziwe w jednym przypadku:
Wykonujesz prostego prompta typu "pytanie → odpowiedź".
Sprawy się jednak komplikują, gdy wchodzimy w świat "agentów".
To już wyższa matematyka... wchodzimy tutaj w wiedzę z 2, a może i 3 klasy liceum 😱
W przypadku rozwiązań agentowych mamy do czynienia z ciągiem zadań wykonywanych jedno po drugim. Załóżmy, że takich kroków jest np. 10-20, zależnie od złożoności zapytania.
Wzór na prawdopodobieństwo zakończenia całego zadania sukcesem to:
P(całkowite) = p1 x p2 x p2 x ... x pN
Gdzie te pozostałe "p" to prawdopodobieństwo poszczególnych kroków.
W naszym przykładzie wszystkie prawdopodobieństwa są równe i wynoszą 97% i 98% (czyli 0,97 i 0,98)
W praktyce możemy więc zapisać, że:
P(dla 97%) = 0,97 ^ 10 = ~74%
P(dla 98%) = 0,98 ^ 10 = ~82%
Znaczek "^" oznacza "do potęgi", a 10-tka to liczba kroków.
8 punktów rozjazdu dla 1 pkt różnicy w dokładności LLM-a dla 10 kroków.
Przy 20 krokach rozjazd będzie jeszcze większy
P(dla 97%) = 0,97 ^ 20 = 54%
P(dla 98%) = 0,98 ^ 20 = 66%
A co jeśli pokusimy się o model mający 92% skuteczności?
P(dla 92%) = 0,92 ^ 20 = 18,8%
Tragiczna skuteczność! → tego się nie da używać.
W świecie prostych zapytań ten 1, czy kilka punktów procentowych skuteczności czasami naprawdę można zignorować, bo jeśli coś się wysypie, to po prostu powtórzysz zapytanie.
Wchodzimy jednak w świat agentów, gdzie skuteczność zadania zależy od poszczególnych jego kroków.
Stawia to przed programistami i twórcami nowe wyzwania, które jeszcze do niedawna nie były aż tak istotne.
Po pierwsze, rozpoczyna się wyścig niemal jak w sporcie o milisekundy, tak w LLM-ach o dziesiąte części punktu procentowego skuteczności, bo twórcy agentów to odczują.
Tak długo, jak nie budujesz własnych modeli, nie masz wielkiego wpływu na tę część układanki.
Możesz jednak usprawnić proces budowy agentów i nauczyć się integrować je z systemami IT, a tego uczymy na AI Devs 😎
Rzuć okiem ⬇️
aidevs.pl/?ref=unknow
P.S. uwzględniam niezależność prawdopodobieństw kolejnych kroków i propagację błędów, ponieważ tak to najczęściej wygląda przy budowie rozwiązań agentowych. Zdolny programista może nieznacznie zwiększyć skuteczność mechanizmu, implementując dodatkowe warstwy weryfikacji kroków.