AI, które działa mimo ograniczeń
Rozwój operatora Softmax dla środowiska embedded.

- Klient: globalna firma technologiczna (R&D, AI, embedded)
- Problem: niska precyzja operatora Softmax w wersji INT8 na sprzęcie o ograniczonych zasobach
- Rozwiązanie: nowa implementacja operatora zwiększająca dokładność bez przekroczenia limitów sprzętowych
- Efekt: komponent zintegrowany z architekturą i wykorzystany w dalszym rozwoju modeli LLM
- Rola Team Connect: Principal Engineer, który samodzielnie zidentyfikował problem i opracował rozwiązanie
Kontekst
Nasz Principal Engineer dołączył do międzynarodowego zespołu rozwijającego narzędzie do kompilacji modeli AI. Projekt realizowany był w ramach centrum R&D globalnej firmy technologicznej, a jego celem było umożliwienie uruchamiania modeli językowych (LLM) na urządzeniach o ograniczonych zasobach obliczeniowych.
Zespół pracował w modelu wysokiej samodzielności – bez sztywno przypisanego backlogu, co dawało przestrzeń do własnych analiz i technicznego wkładu.
Problem
Już na początku współpracy specjalista zauważył potencjalny obszar ryzyka – działanie operatora Softmax, odpowiedzialnego za przeliczanie wyników modelu AI na rozkład prawdopodobieństwa.
W przeszłości Softmax był wykorzystywany głównie na końcu modeli klasyfikacyjnych (np. rozpoznających obrazy). Dziś pełni kluczową rolę również w nowoczesnych modelach językowych – m.in. w architekturach typu transformer, gdzie odpowiada za analizę zależności między słowami.
Na urządzeniach z ograniczoną mocą obliczeniową operator musiał działać w wersji skwantyzowanej, czyli uproszczonej numerycznie. Taka forma obliczeń wiązała się z utratą precyzji, co wpływało na jakość wyników generowanych przez modele.
Analiza i rozpoznanie
Zamiast czekać na przypisane zadanie, Principal Engineer sam przeanalizował sposób działania Softmaxa w wersji kwantyzowanej. Zidentyfikował, w jakich warunkach pojawia się niedokładność i jak wpływa ona na końcowe wyniki modeli, szczególnie w przypadku urządzeń embedded.
Rozwiązanie
Na podstawie własnych obserwacji i testów opracował alternatywną wersję działania komponentu Softmax, która:
- zwiększała precyzję wyników w środowisku kwantyzowanym,
- nie przekraczała dostępnych zasobów sprzętowych,
- mogła być zastosowana w istniejącej architekturze bez potrzeby jej przebudowy.
Przez długi czas nie było pewności, czy komponent zostanie wykorzystany – ale specjalista kontynuował rozwój rozwiązania, uznając je za potencjalnie istotne. Finalnie został on zintegrowany z głównym strumieniem rozwoju projektu.
Efekty
Usprawniony Softmax stał się realnym wsparciem w rozwoju modeli AI na urządzeniach o ograniczonych zasobach.
Dzięki proaktywności i technicznej dociekliwości specjalisty projekt zyskał nie tylko gotowe rozwiązanie, ale też kierunek rozwoju oparty na przewidywaniu wyzwań, a nie tylko ich gaszeniu.
Techniczne tło
- Softmax to operator wykorzystywany w modelach językowych (LLM) m.in. do przekształcania wyników sieci neuronowej w rozkład prawdopodobieństwa.
- Na sprzęcie z ograniczoną mocą obliczeniową (low-power embedded devices) modele działają w trybie INT8 quantization, czyli operują na liczbach całkowitych w zakresie np. -127 do 128, zamiast na liczbach zmiennoprzecinkowych.
- Skutkiem kwantyzacji jest utarta precyzji – istotna zwłaszcza przy obliczeniach warunkujących kontekst i decyzje modelu.
- Nasz specjalista zaproponował i wdrożył nową implementację operatora Softmax z uwzględnieniem optymalizacji pod kątem: dokładności (poprawa wartości końcowych), działania w ograniczonym środowisku, możliwości dalszej integracji z architekturą kompilatora.
- Technologie wykorzystywane w projekcie obejmowały m.in. C++, Python, Qt, Node.js oraz obszary związane z Deep Learningiem i przetwarzaniem sieci neuronowych.
Efekty współpracy w skrócie
- Lepsza precyzja obliczeń - Softmax działa dokładniej w środowisku kwantyzowanym, bez zwiększania obciążenia.
- Modele AI na ograniczonym sprzęcie - usprawnienie umożliwiło uruchamianie LLM-ów tam, gdzie wcześniej było to trudne lub niemożliwe.
- Gotowe rozwiązanie przed czasem - komponent był gotowy, zanim potrzeba jego użycia stała się oczywista.
- Integracja z architekturą projektu - wdrożony kod stał się częścią głównego strumienia rozwoju.
- Samodzielna identyfikacja i realizacja zadania - specjalista sam rozpoznał problem i dostarczył rozwiązanie.
Technologia to nie tylko kod - to decyzje, które wpływają na kierunek rozwoju.
Nasi inżynierowie nie tylko programują, ale realnie kształtują rozwiązania oparte na AI i Machine Learning.
Zobacz, jak wspieramy zespoły technologiczne lub skontaktuj się z nami, jeśli szukasz partnera technologicznego.

