INCONE60 Green - Digital and green transition of small ports
Andrzej Chybicki: projekty związane z wykorzystaniem sztucznej inteligencji to znacząca część naszych projektów
OpenAI vs. DeepSeek: Techniczne porównanie z wykorzystaniem zunifikowanych interfejsów API

Duże modele językowe (LLM) są coraz częściej wykorzystywane do analizy i ekstrakcji informacji z obszernych dokumentów, w tym długich raportów statystycznych w formacie PDF. Jednak nie wszystkie modele radzą sobie równie dobrze z przetwarzaniem dużych plików, zwłaszcza tych przekraczających 50 stron. W tym artykule przeprowadzamy analizę porównawczą trzech popularnych modeli LLM—modeli GPT od OpenAI: 4o-mini i o3-mini, oraz DeepSeek R1—w celu oceny ich skuteczności w odczytywaniu i analizie danych statystycznych z dużych plików PDF. Nasza ocena koncentruje się na trzech kluczowych czynnikach: dokładności, czasie odpowiedzi oraz szacunkowych kosztach korzystania z każdego modelu.

Aby zapewnić rzetelne porównanie, wykorzystaliśmy LiteLLM – zunifikowane API, które upraszcza benchmarking różnych modeli LLM. Standaryzując interakcje między dostawcami modeli, LiteLLM pozwoliło nam skupić się na ocenie metryk wydajności LLM zamiast na różnicach w implementacji.

Zunifikowane podejście API

Porównywanie modeli LLM typu od różnych dostawców bywa wyzwaniem ze względu na różnice w ich interfejsach API. Aby ujednolicić nasze testy, wykorzystaliśmy LiteLLM – bibliotekę zapewniającą spójny interfejs do obsługi wielu modeli LLM. Dzięki temu możliwa była łatwa zamiana modeli oraz bardziej obiektywne porównanie ich wydajności. Oto, jak proste jest przełączanie między modelami przy użyciu zunifikowanego API LiteLLM:

import litellm 
 
# To use openai. 
response = litellm.completion(model="o3-mini", messages=[{"content": "Hello", "role": "user"}]) 
 
# To use deepseek. 
response = litellm.completion(model="deepseek/deepseek-reasoner", messages=[{"content": "Hello", "role": "user"}]) 

To uproszczone podejście pozwoliło nam porównać modele bez konieczności zajmowania się złożonością ich implementacji.

DeepSeek vs. OpenAI – przegląd modeli

Zanim przejdziemy do wyników benchmarku modeli AI, zdefiniujmy kluczowe pojęcia i przedstawmy podstawowe specyfikacje testowanych modeli.

Jednym z najważniejszych parametrów w benchmarkingu modeli LLM jest okno kontekstowe – maksymalna liczba tokenów, które model może przetworzyć jednocześnie. Tokeny reprezentują fragmenty tekstu, a nie pojedyncze słowa. Większe okno kontekstowe pozwala modelowi obsługiwać bardziej rozbudowane dokumenty w jednym zapytaniu, co ma kluczowe znaczenie przy pracy z długimi raportami statystycznymi.

Ceny korzystania z modeli LLM są zazwyczaj oparte na liczbie przetworzonych tokenów, przy czym koszt może się różnić w zależności od rodzaju tokenów. W modelach LLM wyróżnia się zazwyczaj trzy typy tokenów wpływające na wycenę:

  1. Tokeny wejściowe (input tokens) – reprezentują dane dostarczane do modelu, takie jak tekst zapytania lub dokument do analizy. Koszt przetwarzania wejściowych tokenów zależy od modelu i dostawcy.

  2. Tokeny wyjściowe (output tokens) – to treść generowana przez model w odpowiedzi na zapytanie. Ponieważ modele LLM mogą zwracać różne długości odpowiedzi, liczba tokenów wyjściowych ma istotny wpływ na końcowy koszt użytkowania.

  3. Tokeny kontekstowe (context tokens) – obejmują zarówno tokeny wejściowe, jak i poprzednie odpowiedzi modelu w sesji konwersacyjnej. Im większy kontekst przechowywany w pamięci modelu, tym większe zużycie tokenów i potencjalnie wyższy koszt.

Zrozumienie tych kategorii jest kluczowe dla optymalizacji kosztów korzystania z LLM, zwłaszcza w przypadku analizy dużych dokumentów.

Modele wybrane do tego porównania należą do najnowszych wersji wydanych w ostatnich miesiącach. Choć różnią się pod względem cen i możliwości, naszym celem jest ocena, czy te różnice przekładają się na mierzalne różnice w wydajności. Poniżej przedstawiamy kluczowe charakterystyki modeli DeepSeek-R1, OpenAI 4o-mini oraz OpenAI o3-mini:

DeepSeek-R1OpenAI 4o-miniOpenAI o3-mini
Okno kontekstowe128 000 tokenów128 000 tokenów (maksymalnie 16 384 tokenów w odpowiedzi)200 000 tokenów (maksymalnie 100 000 tokenów w odpowiedzi)
Data wydaniaStyczeń 2025Lipiec 2024Styczeń 2025
Cennik (za 1 milion tokenów)Wejście: 0,55 USD
Pamięć podręczna wejścia: 0,14 USD
Wyjście: 2,19 USD
Wejście: 0,15 USD
Pamięć podręczna wejścia: 0,075 USD
Wyjście: 0,60 USD
Wejście: 1,10 USD
Pamięć podręczna wejścia: 0,55 USD
Wyjście: 4,40 USD
Obsługiwane formaty wejścioweTekstTekst, obrazy (w tym PNG, JPEG, GIF, WEBP)Tekst
Obsługiwane formaty wyjścioweTekstTekstTekst

Plik PDF użyty do testów

Dokument użyty do testów składa się z kilku rozdziałów raportu dotyczącego polskiej i światowej gospodarki morskiej w latach 2017–2020. Raport ma 50 stron i zawiera różne statystyki oraz analizy dotyczące ruchu ładunkowego, żeglugi, przemysłu stoczniowego i innych sektorów gospodarki morskiej. Dane w pliku są sformatowane w tabelach i tekście. Większość informacji przedstawiono w tabelach, z dodatkowymi objaśnieniami i podsumowaniami w otaczającym tekście. Przykładowe strony dokumentu użytego do testów:

Metodologia testowania

Przeprowadziliśmy serię testów, wykorzystując następujące zapytania związane z gospodarką morską oraz plik PDF zawierający kontekstowe informacje. Oto przykładowe zapytania dotyczące danych zawartych w pliku PDF:

    • Podsumuj kluczowe wnioski ekonomiczne z raportu dotyczącego gospodarki morskiej.
    • Jaki był całkowity obrót ładunkowy w polskich portach morskich w 2020 roku?
    • Jakie są główne rodzaje ładunków obsługiwanych przez polskie porty morskie?
    • Które kraje są głównymi partnerami handlowymi Polski w transporcie morskim?
    • Jaki jest średni wiek statków we flocie polskiego transportu morskiego?
    • Jakie są kluczowe wskaźniki ekonomiczne polskiego przemysłu stoczniowego?

Jak wcześniej wspomniano, porównaliśmy następujące modele:

    • OpenAI’s 4o-mini 
    • OpenAI’s o3-mini 
    • DeepSeek’s deepseek-resoner (R1) 

Zmierzyliśmy następujące metryki:

    • Czas inferencji – Określa czas potrzebny modelowi na wygenerowanie odpowiedzi po otrzymaniu zapytania. Krótszy czas inferencji oznacza szybsze reakcje, co ma kluczowe znaczenie dla aplikacji czasu rzeczywistego oraz przetwarzania dużych dokumentów.
    • Zużycie tokenów – Modele LLM przetwarzają i generują tekst w jednostkach zwanych tokenami. Token może być pełnym słowem, jego częścią lub nawet znakiem interpunkcyjnym. Całkowite zużycie tokenów obejmuje zarówno tokeny wejściowe (zapytanie użytkownika lub dokument), jak i tokeny wyjściowe (odpowiedź modelu). Im więcej tokenów jest używanych, tym wyższy koszt zapytania.
    • Koszt odpowiedzi – Obliczany jako zużycie tokenów × cena modelu (za 1 000 lub 1 000 000 tokenów, w zależności od dostawcy). Ponieważ różne modele mają różne struktury cenowe, porównanie kosztów odpowiedzi pozwala określić, który model jest bardziej opłacalny w zastosowaniach na dużą skalę.

Wyniki testów

Oto podsumowane wyniki naszych testów (każdy test był powtarzany kilkukrotnie):

ModelŚredni czas inferencji (s)Średni koszt odpowiedzi ($)Średnia liczba tokenów wejściowychŚrednia liczba tokenów wyjściowych
DeepSeek R157,20,003963 961,7751,6
o3-mini13,80,075563 251,51 162,5
4o-mini9,50,051162 538,01 046,5

Kluczowe wnioski

    • Czas inferencji: DeepSeek konsekwentnie wykazywał dłuższe czasy inferencji w porównaniu do obu modeli OpenAI. Może to być istotny czynnik dla aplikacji, które wymagają szybkiego przetwarzania.
    • Koszt odpowiedzi: DeepSeek wykazał przewagę kosztową, szczególnie w zakresie tokenów wyjściowych. Pomimo dłuższego czasu inferencji, całkowity koszt zapytania pozostaje niższy niż w przypadku OpenAI o3-mini i 4o-mini. Niższy koszt odpowiedzi DeepSeek wynika z mechanizmu buforowania, który ogranicza konieczność ponownego przetwarzania danych wejściowych. Większość treści wejściowych, zwłaszcza zawartość pliku PDF, była buforowana, co pozwoliło na znaczne oszczędności w kosztach przetwarzania. Dzięki temu systemowi DeepSeek efektywnie obsługiwał powtarzające się zapytania, czyniąc go opłacalnym wyborem do analizy dużych dokumentów.
    • Zmienność odpowiedzi: Modele różniły się pod względem stylu i poziomu szczegółowości generowanych odpowiedzi. Ma to znaczenie w zależności od kontekstu i wymagań użytkownika (np. ogólne podsumowania vs. szczegółowa analiza).
    • API LiteLLM: LiteLLM znacząco ułatwiło śledzenie kosztów, zużycia tokenów i czasu odpowiedzi bezpośrednio w odpowiedziach API, umożliwiając prostą i przejrzystą analizę porównawczą modeli.

Podsumowanie

Nasze testy podkreślają zalety stosowania zunifikowanych interfejsów API do benchmarkingu modeli LLM. LiteLLM znacząco uprościło cały proces, pozwalając nam skupić się na ocenie efektywności modeli oraz ich wydajności.

DeepSeek R1 wykazał się konkurencyjną opłacalnością, głównie dzięki mechanizmowi buforowania, który redukował koszty ponownego przetwarzania tych samych danych wejściowych. Jednak był zdecydowanie najwolniejszym modelem w naszych testach, osiągając średni czas inferencji na poziomie 57,2 sekundy.

Z kolei OpenAI o3-mini i 4o-mini zapewniały znacznie krótszy czas odpowiedzi, co czyni je bardziej odpowiednimi dla zastosowań wymagających przetwarzania w czasie rzeczywistym.