Koszty mojej integracji AI były zbyt wysokie, dopóki nie zmieniłem podejścia
Uwielbiałem funkcję streszczania AI, dopóki nie przyszedł rachunek.
W zeszłym miesiącu zbudowałem narzędzie do streszczania długich artykułów. Użyłem GPT-4 z prostym promptem. Działało to idealnie. Użytkownicy byli zachwyceni jakością.
Potem przyszedł rachunek. Miesiąc użytkowania kosztował mnie ponad 1200 USD. Musiałem to naprawić albo wyłączyć tę funkcję.
Próbowałem kilku rzeczy, aby to naprawić:
- Przeszedłem na GPT-3.5-turbo. Koszty spadły, ale jakość również. Streszczenia stały się ogólnikowe.
- Próbowałem prompt engineeringu. Dodanie frazy „bądź konkretny” nie pomogło wystarczająco.
- Próbowałem zmniejszyć rozmiar danych wejściowych, korzystając z bibliotek ekstrakcyjnych. To pomogło, ale koszty nadal pozostawały wysokie.
Zdałem sobie sprawę, że używam młota do wbicia małego gwoździa.
Rozwiązaniem jest dwuetapowy pipeline. Łączysz dwie różne metody, aby uzyskać najlepsze rezultaty.
Step 1: The Extractive Phase Użyj taniego i szybkiego narzędzia, takiego jak TextRank, aby wybrać od 5 do 10 najważniejszych zdań z artykułu. To usuwa 90% zbędnego tekstu.
Step 2: The Abstractive Phase Wyślij tylko te kilka zdań do małego, taniego modelu, takiego jak GPT-3.5-turbo. Poproś go o przepisanie tych zdań w formie przejrzystego streszczenia w trzech punktach.
To podejście obniżyło moje koszty o 80%. Jakość pozostała zbliżona do GPT-4, ponieważ model przetwarzał tylko najważniejsze dane.
Inne wskazówki przy budowaniu rozwiązań AI:
- Korzystaj z cache'owania. Przechowuj wyniki na podstawie hasha artykułu, aby nie płacić dwukrotnie za to samo streszczenie.
- Stosuj warstwy. Dziel złożone zadania na mniejsze, tańsze podzadania.
- Ustal mechanizm fallback. Jeśli artykuł jest zbyt złożony, użyj wysokiej jakości modelu, takiego jak GPT-4, tylko w tych konkretnych przypadkach.
Przestań wysyłać ogromne bloki tekstu do drogich modeli. Najpierw zmniejsz ilość danych.
Jak Ty balansujesz między jakością AI a kosztami w swoich produktach? Czy używasz różnych modeli do różnych zadań?