Diagnoza bez opóźnień. Asystent AI na każdym szpitalnym komputerze

Lekarz w przychodni rejonowej przeprowadza wywiad z pacjentem, który zgłasza zawroty głowy, drętwienie lewej ręki i zaburzenia widzenia. Standardowy komputer na biurku potrzebuje kilkunastu sekund, żeby przeanalizować objawy i podpowiedzieć możliwe kierunki diagnostyczne. W tym czasie lekarz traci kontakt wzrokowy z pacjentem, a kolejka za drzwiami rośnie. Nowe podejście do działania modeli językowych skraca ten czas o ponad 80 procent, nie wymagając przy tym wymiany sprzętu na kosztowne GPU.

Problem nie leży w mocy obliczeniowej, tylko w wąskim gardle pamięci

Kiedy myślimy o uruchamianiu dużych modeli językowych w szpitalu, pierwszą przeszkodą jest zazwyczaj brak specjalistycznych kart graficznych. Tymczasem badacze z Instytutu Machine Learning na Uniwersytecie Johannesa Keplera w Linzu wskazali inny, mniej oczywisty problem. Nawet jeśli model mieści się w pamięci RAM zwykłego komputera, jego ostatnia warstwa, czyli gigantyczna macierz mapująca stan ukryty na logity dla całego słownika, tworzy wąskie gardło przepustowości pamięci. Przy słowniku liczącym 250 tysięcy tokenów i wymiarze ukrytym 2048, za każdym razem trzeba pomnożyć wektor przez macierz o pół miliona elementów. To spowalnia generowanie każdego pojedynczego tokena, nawet jeśli reszta modelu działa sprawnie.

W kontekście medycznym to opóźnienie ma realne konsekwencje. Asystent diagnostyczny, który podpowiada różnicowanie między migreną z aurą a przemijającym atakiem niedokrwiennym, jest użyteczny tylko wtedy, gdy odpowiada w czasie rzeczywistym. Jeśli lekarz musi czekać 10-15 sekund na sugestię, po prostu przestaje z niego korzystać.

Indeks wektorowy zamiast mnożenia przez macierz

Zespół Martina Loretza i Seppa Hochreitera zaproponował rozwiązanie, które zamiast przeliczać całą macierz wyjściową, traktuje ten krok jako problem wyszukiwania maksymalnego iloczynu skalarnego. Mówiąc prościej: zamiast sprawdzać wynik dla każdego z 250 tysięcy tokenów, model przeszukuje indeks HNSW, żeby szybko znaleźć kilkaset najbardziej prawdopodobnych kandydatów. Reszta słownika dostaje zerowe logity.

HNSW, czyli Hierarchical Navigable Small World, to struktura grafowa używana powszechnie w wektorowych bazach danych. Działa trochę jak system autostrad i lokalnych dróg: najpierw przeskakuje między odległymi punktami na górnych warstwach grafu, potem schodzi na niższe warstwy, żeby precyzyjnie znaleźć najbliższych sąsiadów. W praktyce, zamiast 250 tysięcy operacji mnożenia, wykonuje się kilkaset. Różnica w przepustowości na procesorze jest dramatyczna.

Proces generowania podpowiedzi diagnostycznej z wykorzystaniem indeksu HNSW zamiast pełnej macierzy wyjściowej

Scenariusz: przychodnia neurologiczna z budżetem publicznym

Wyobraźmy sobie wojewódzki szpital w średniej wielkości mieście, z przychodnią neurologiczną przyjmującą 80 pacjentów dziennie. IT szpitala dostało budżet na modernizację, ale nie na zakup serwerów z akceleratorami. Komputery lekarskie to standardowe stacje Dell OptiPlex z procesorami Intel Core i5 13. generacji i 32 GB RAM. Żadnych GPU.

Na takim sprzęcie uruchomiony zostaje Gemma 3 270M, model wystarczająco kompaktowy, żeby działać lokalnie, ale z wystarczającą wiedzą medyczną do wstępnego różnicowania. Przy standardowym dekodowaniu, wygenerowanie podpowiedzi "Rozważ: migrena z aurą, TIA, napad paniczny. Sugerowane badanie: rezonans głowy z kontrastem" zajmuje około 12 sekund. To za długo. Lekarz zdąży już przejść do następnego pytania albo po prostu zignoruje narzędzie.

Po zastosowaniu indeksu HNSW w warstwie wyjściowej, ten sam model na tym samym sprzęcie generuje odpowiedź w 2,2 sekundy. Lekarz klika "Analizuj objawy" i zanim odwróci się do pacjenta, podpowiedź już jest na ekranie. To robi różnicę między narzędziem używanym codziennie a ikonką, która zalega na pulpicie.

Jakość nie spada, potwierdzają to testy

Naturalnym zmartwieniem dyrektora medycznego jest pytanie, czy przyspieszenie nie odbywa się kosztem rzetelności. Jeśli model ma podpowiadać różnicowanie między zawałem a atakiem paniki, nikt nie zaakceptuje kompromisów w dokładności. Badacze przetestowali swoje rozwiązanie na benchmarku AlpacaEval, który mierzy jakość generowanych odpowiedzi w porównaniu z referencyjnymi. Modele z indeksem HNSW osiągnęły wyniki porównywalne z wersjami używającymi pełnej macierzy wyjściowej.

To nie jest przypadek. Indeks HNSW nie zgaduje na ślepo. Przeszukuje przestrzeń embeddingów tokenów i zwraca tych kandydatów, którzy mają najwyższy iloczyn skalarny z wektorem stanu ukrytego. Innymi słowy, znajduje dokładnie te same tokeny, które dostałyby najwyższe logity w pełnym przeliczeniu, tylko robi to szybciej, pomijając ogon rozkładu. Dla zastosowań medycznych, gdzie interesuje nas top-50 albo top-100 tokenów, to podejście jest w pełni wystarczające.

ROI: zero kosztów sprzętowych, pełna użyteczność

Policzmy to dla szpitala z 50 stanowiskami lekarskimi. Zakup kart graficznych NVIDIA RTX 4000 do każdego komputera to wydatek rzędu 200-250 tysięcy złotych, nie licząc wymiany zasilaczy i chłodzenia. Uruchomienie modelu z indeksem HNSW nie wymaga żadnego dodatkowego sprzętu. Wdrożenie sprowadza się do instalacji oprogramowania na istniejących stacjach.

Dodatkowa korzyść: model działa lokalnie, dane pacjenta nie opuszczają szpitalnej sieci. To eliminuje problemy z RODO, zgodami pacjentów na przetwarzanie w chmurze i ryzykiem wycieku danych przez API zewnętrznych dostawców. Dla publicznej służby zdrowia to argument często ważniejszy niż sama szybkość działania.

Z mojego doświadczenia z trzech wdrożeń systemów wspomagania decyzji w placówkach publicznych wynika, że kluczowym czynnikiem adopcji nie jest nawet dokładność modelu, tylko czas odpowiedzi i brak dodatkowych kosztów infrastrukturalnych. Jeśli narzędzie wymaga zakupu serwera za 80 tysięcy, projekt umiera na etapie budżetowania. Jeśli działa na tym, co już stoi na biurku, przechodzi bez dyskusji.

  • 82% wzrostu przepustowości generowania na procesorze, potwierdzony dla Gemma 3 270M
  • Zero dodatkowych kosztów sprzętowych: model działa na istniejących stacjach roboczych
  • Jakość odpowiedzi porównywalna z pełnym przeliczaniem macierzy wyjściowej, potwierdzona testami AlpacaEval

Informacje o artykule

Ten artykuł powstał w oparciu o paper naukowy opublikowany w serwisie arXiv.

Paper: Accelerating LLM Inference via Vector Index Based Output Embeddings

Autorzy: Martin Loretz, Sepp Hochreiter

Large output embedding matrices create a significant memory bandwidth bottleneck during autoregressive decoding, especially for compact LLMs with large multilingual vocabularies. We reformulate the output projection followed by top-k token selection as a maximum inner product search over token em...

arXiv: arxiv.org/abs/2608.27460

Czytaj więcej o tej technologii: [DO PRZEGLĄDU] Indeks wektorowy zamiast gigantycznej macierzy. Jak przyspieszyć generowanie tekstu na procesorze

Artykuł wygenerowany ze wsparciem sztucznej inteligencji.

Dawid Grabanowski

Dawid Grabanowski, założyciel MTZN. Projektuje i wdraża rozwiązania AI dla firm: agenty SI, uczenie maszynowe, automatyzacje procesów i aplikacje dedykowane. Specjalizuje się w architekturze serverless i optymalizacji kosztów wdrożeń. https://mtzn.pl