Senior ML Engineer in Katowice

Senior ML Engineer in Katowice

Katowice Pełny etat 121500 - 148500 zł / rok (szac.) Zdalnie
C

W skrócie

  • Zadania: Optymalizuj wydajność modeli ML i zwiększaj efektywność infrastruktury.
  • Firma: Innowacyjna firma technologiczna z globalnym zespołem i kulturą współpracy.
  • Benefity: Konkurencyjne wynagrodzenie, elastyczna praca zdalna, budżet na rozwój osobisty.
  • Pozostałe informacje: Dynamiczne środowisko z możliwościami szybkiego rozwoju kariery.
  • Dlaczego ta praca: Pracuj z najnowszymi technologiami i wpływaj na rozwój branży ML.
  • Kwalifikacje: 5+ lat doświadczenia w systemach ML i umiejętności programowania w Pythonie.

Przewidywane wynagrodzenie mieści się w przedziale 121500 - 148500 zł za rok.

Dlaczego Kimchi? Świetne modele to surowe składniki. Kimchi to to, co się dzieje, gdy fermentujesz je z dobrą inżynierią. Zaczęliśmy w CAST AI, pomagając firmom uruchamiać LLM na własnych klastrach Kubernetes; dziś uruchamiamy nasz własny zestaw kodowania na dowolnym modelu, który wybierzesz, i sami uruchamiamy modele pod nim.

Kimchi Inference: Jedna linia API i istniejący klient klienta działa: DeepSeek, GLM, Kimi, MiniMax, Nemotron serwowane bezserwerowo z naszej własnej floty GPU (kompatybilne z OpenAI i Anthropic, płatność za token, wydatki widoczne na użytkownika, zespół i klucz). Gdy kontrola ma znaczenie, te same modele działają na własnym klastrze klienta. Za tą jedną linią kryje się maszyna, którą będziesz posiadać: silniki SGLang i vLLM, węzły B300, współdzielony system plików klastra, który przechowuje każdy punkt kontrolny dokładnie raz, pamięci podręczne KV wykorzystujące ruch kodowania z dużym ponownym użyciem prefiksów oraz zestaw benchmarkowy, który kontroluje każdą zmianę, którą wysyłamy.

O roli: Przepustowość. Opóźnienie. Zimne uruchomienia. Koszt za token. Przenieś te cztery liczby w odpowiednim kierunku, a wydarzą się dwie rzeczy: klienci uzyskują szybsze, tańsze wnioskowanie, a nasze marże się poprawiają. To cała teza tej roli. Każdy loader, który dostosujesz, każda decyzja harmonogramu, każdy rdzeń, na który patrzysz, pojawia się w p99 klienta i na naszym P&L. Twoim zadaniem jest optymalizacja stosu wnioskowania, cokolwiek to wymaga, a techniczny kierunek, w jaki go optymalizujemy, należy do Ciebie, aby argumentować danymi.

Problem: Punkty kontrolne mają od 0,3 do 1,5 TB, a „właściwa” konfiguracja serwowania zależy od kształtu ruchu, rozkładu długości sekwencji, dynamiki wsadu, SKU GPU, przepustowości pamięci i tolerancji kwantyzacji, wszystkie zmienne, które zmieniają się co tydzień. Większość zespołów wybiera konfigurację raz, nadmiernie przydziela GPU i pochłania koszty. My nie: wzięliśmy Kimi-K3 (1,5 TB) z ponad godziny zimnego do serwowania do poniżej dwunastu minut z współdzielonym systemem plików, loaderami wag O_DIRECT i lokalnymi pamięciami podręcznymi JIT, i jesteśmy daleko od końca. Prefill/decode disaggregation i tiered KV caches są następne.

Stack: Python; SGLang; vLLM; TensorRT-LLM; PyTorch; fastsafetensors; narzędzia związane z CUDA; Kubernetes; współdzielone systemy plików virtiofs; ClickHouse; OpenTelemetry; Prometheus; Grafana; GitLab CI.

Wymagania: Zbudowałeś prawdziwe systemy ML przez ponad 5 lat, a Twoje portfolio pokazuje głębokość w infrastrukturze wnioskowania lub szkolenia, a nie tylko notatniki do szkolenia modeli. Twój Python jest produkcyjny: usługi, a nie skrypty. Uruchomiłeś vLLM, SGLang lub TensorRT-LLM w rzeczywistości i masz działający model mentalny tego, dlaczego silnik działa tak, jak działa na danym GPU. Mierzyłeś regresje kwantyzacji, a nie tylko wskaźniki kompresji. Ustawienia multi-GPU i multi-node nie budzą strachu: tensor i ekspert paralelizm, komunikacja zbiorowa i ich praktyczne tryby awarii. Wiesz, gdzie znajdują się bajty (pamięci podręczne stron, O_DIRECT, systemy plików sieciowych przy odczytach na poziomie terabajtów) i jak szybko się poruszają. Instrumentujesz przed optymalizacją i potrafisz odróżnić prawdziwe zwycięstwo od artefaktu benchmarku. Szeroki mandat ekscytuje Cię bardziej niż niepokoi.

Miłe do posiadania: Pracowałeś nad routowaniem LLM konkretnie: oceny klasy RouterBench, fronty Pareto koszt/jakość/opóźnienie. Kalibracja, abstencja lub metody konformalne w systemach decyzyjnych produkcji. Uruchomiłeś pętle A/B online z monitorowaniem dryfu na modelu, który dotyka prawdziwych pieniędzy.

Obowiązki: Zwiększ przepustowość. Ciągłe pakowanie, fragmentacja prefill, spekulacyjne dekodowanie z modelami roboczymi, przechwytywanie grafów CUDA i dostosowywanie harmonogramu w całej flocie silników. Znajdź sufit na każdym SKU GPU, a następnie go podnieś. Zmniejsz opóźnienia. Atakuj TTFT i opóźnienie między tokenami osobno; profiluj, aby znaleźć rzeczywisty wąskie gardło (obliczenia, przepustowość pamięci, harmonogramowanie, przechowywanie lub sieć) i napraw to, a nie to, co założyłeś. Uzyskaj więcej z pamięci podręcznej KV. Hierarchiczne i stronicowane uwagi, pamięć podręczna prefiksów na ruchu kodowania o dużym ponownym użyciu, polityki usuwania, kwantyzowane KV. Duża część niezrealizowanej przepustowości znajduje się tutaj, a Ty będziesz ją posiadać. Zlikwiduj zimne uruchomienia. Ładowarki wag (O_DIRECT, klasy fastsafetensors), pamięci podręczne JIT i kompilacji, ścieżki odczytu systemu plików współdzielonych. Punkt kontrolny o wielkości 1,5 TB nie ma prawa zajmować godziny, aby dotrzeć do serwowania. Kwantyzuj bez regresji jakości. INT8/INT4, FP8/FP4 w wagach, aktywacjach i KV, mierzone na rzeczywistych obciążeniach roboczych, a nie tylko benchmarkach perplexity. Skala wzdłuż węzłów. Topologie wnioskowania rozproszonych, umiejscowienie świadome sieci, fragmentacja prefill/decode, strategie punktów kontrolnych, które nie blokują przechowywania ani interkonektu. Ustal kierunek techniczny. Zdecyduj, co benchmarkujemy, co przyjmujemy i co budujemy sami. Przyciągnij zespół mocnymi dokumentami i powtarzalnymi eksperymentami.

Co zyskujesz? Konkurencyjne wynagrodzenie (w zależności od poziomu doświadczenia). Ciesz się elastycznym, zdalnym środowiskiem globalnym. Współpracuj z globalnym zespołem ekspertów chmurowych i innowatorów, pasjonujących się przesuwaniem granic technologii Kubernetes. Opcje na akcje. Uzyskaj szybkie informacje zwrotne w szybkim tempie pracy. Większość projektów funkcjonalnych jest realizowana w ciągu 1 do 4 tygodni. Spędź 10% swojego czasu pracy na projektach osobistych lub samodoskonaleniu. Budżet na naukę na rozwój zawodowy i osobisty - w tym dostęp do międzynarodowych konferencji i kursów, które podnoszą Twoje umiejętności. Coroczny hackathon, aby wzbudzić nowe pomysły i wzmocnić więzi zespołowe. Budżet na budowanie zespołu i wydarzenia firmowe, aby połączyć się z kolegami. Budżet na sprzęt, aby zapewnić, że masz wszystko, czego potrzebujesz. Dodatkowe dni wolne, aby pomóc utrzymać zdrową równowagę między pracą a życiem prywatnym.

Proces rekrutacji: Rozmowa wstępna z rekruterem, rozmowa z menedżerem zatrudniającym, rozmowa techniczna (projekt systemu), programowanie na żywo, sprawdzenie kultury z członkiem zarządu. W ramach naszego standardowego procesu rekrutacji informujemy, że na ostatnim etapie rekrutacji może zostać przeprowadzone sprawdzenie przeszłości przez naszego dostawcę zewnętrznego, Checkr. Proszę zauważyć, że Cast AI nie zapewnia żadnej formy sponsorowania wiz lub pozwolenia na pracę.

Senior ML Engineer in Katowice – pracodawca: Cast AI

Kimchi, jako część Cast AI, oferuje wyjątkowe możliwości dla inżynierów sprzedaży w EMEA, łącząc elastyczne środowisko pracy z konkurencyjnym wynagrodzeniem i bogatym pakietem benefitów. Pracownicy mają szansę na rozwój zawodowy poprzez dostęp do budżetu na naukę oraz udział w międzynarodowych konferencjach, a także mogą korzystać z dodatkowych dni wolnych, co sprzyja zdrowej równowadze między życiem zawodowym a prywatnym. Współpraca z zespołem ekspertów w dziedzinie chmury oraz możliwość wpływania na rozwój innowacyjnych produktów sprawiają, że Kimchi to doskonałe miejsce dla ambitnych profesjonalistów.

C

Dane kontaktowe:

Zespół rekrutacyjny Cast AI

Naszym zdaniem te umiejętności pozwolą ci błyszczeć jako Senior ML Engineer in Katowice

Python
SGLang
vLLM
TensorRT-LLM
Kubernetes
CUDA-adjacent tooling
Data Analysis