Case study

AI, które działa mimo ograniczeń

Rozwój operatora Softmax dla środowiska embedded.

Branża:
Badania i rozwój (R&D)
Rozmiar klienta:
Globalna firma technologiczna rozwijająca modele językowe
Zespół:
5 osób
Rola naszego specjalisty:
Principal Engineer odpowiedzialny za rozwój i implementację operatora Softmax
Start współpracy:
Sierpień 2023 (nadal trwa)
Model współpracy:
Time & Material
Technologie:
C++
Python
QT
Deep learning
Node.js
JavaScript
  • 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.