Specjalista / Specjalistka AI/ML badania nad modelami językowymi (LLM)
⚲ Nowy Sącz
12 500–14 500 zł brutto / mies.
Wymagania
- Python
- PyTorch
- NumPy
- Pandas
- Scikit-learn
- Git
- Linux
- Docker
- SQL
- HuggingFace
- TypeScript
- React.js
- NestJS
- PostgreSQL
- React Native
- TensorFlow
Opis stanowiska
Nasze wymagania:
Wykształcenie
Wyższe techniczne (min. licencjat lub inżynier): informatyka, matematyka stosowana, automatyka, mechatronika, fizyka techniczna lub kierunek pokrewny. Preferujemy stopień magistra; studia doktoranckie w toku lub ukończone to istotny atut. Studia magisterskie w trakcie akceptujemy przy odpowiednio silnym portfolio technicznym.
Kompetencje techniczne
Fundament inżynierski
- Python na poziomie zawodowym: czysty, testowalny kod, typowanie, struktura pakietów, zarządzanie środowiskami, profilowanie wydajności
- Git (gałęzie, rebase, code review), Linux (powłoka, sesje zdalne, nadzór procesów długotrwałych), Docker (odtwarzalne środowisko obliczeniowe, zgodność wersji CUDA)
Modele językowe i architektura Transformer
- Architektura Transformer od wewnątrz: warstwy, strumień rezydualny, bloki uwagi i MLP, semantyka stanów ukrytych — rozumienie, co dzieje się w modelu, nie tylko umiejętność jego uruchomienia
- PyTorch w praktyce: pętla treningowa, autograd, hooki na warstwach i aktywacjach, modyfikowanie przepływu danych w trakcie inferencji, praca na GPU z CUDA (TensorFlow traktujemy jako dodatkowe tło, nie zamiennik)
- Hugging Face Transformers: inferencja modeli klasy 7–8B, dostęp do stanów ukrytych wszystkich warstw, konfiguracje modeli i Hub
- Tokenizacja: BPE, maski uwagi, padding, tokeny specjalne, świadome wskazanie pozycji tokenu w sekwencji
- Optymalizacja przy ograniczonych zasobach: kwantyzacja, dobór typów danych, zarządzanie pamięcią VRAM i KV cache. Pracujemy z modelami 7–8B na sprzęcie o skończonej pamięci karty — kompetencja krytyczna dla tego stanowiska
Dane, statystyka i analiza
- Biegłość w NumPy i Pandas na danych wielowymiarowych: wektoryzacja, indeksowanie złożone, agregacje, kontrola typów i pamięci
- scikit-learn: klasyfikatory liniowe z regularyzacją, walidacja krzyżowa, potoki uczące — jedna z podstawowych technik pomiarowych w tej pracy opiera się na klasyfikatorach probujących
- Statystyka stosowana: testy istotności i permutacyjne, przedziały ufności bootstrap, wielkość efektu, korelacje rangowe — na poziomie poprawnej implementacji protokołu i rozumienia, co mierzy
- Algebra liniowa do pracy na reprezentacjach; higiena danych eksperymentalnych (walidacja, deduplikacja, świadomość przecieku); wizualizacja komunikująca wynik razem z jego niepewnością (słupki błędów, wstęgi CI, mapy ciepła)
Odtwarzalność i inżynieria eksperymentu
- Kontrola determinizmu: seedy w PyTorch, NumPy i CUDA, wiele niezależnych przebiegów; konfiguracja jako kod; wersjonowanie danych i artefaktów powiązane z przebiegami
- Narzędzie do śledzenia eksperymentów (Weights & Biases, MLflow, Neptune lub równoważne) — ze zrozumieniem, po co istnieje
- Zadania długotrwałe: punkty kontrolne, wznawianie po awarii, monitorowanie zużycia GPU i pamięci
Metodyka badawcza
- Samodzielnie przeprowadzony pełny cykl badawczy: hipoteza → projekt eksperymentu → metryki → analiza → raport. Wystarczy jeden — także dyplomowy lub własny — ale Twój i do obrony.
- Angielski: czytanie publikacji naukowych (ACL, NAACL, NeurIPS) ze zrozumieniem metody oraz dokumentacja techniczna w piśmie
- Świadome podejście do licencji modeli i zbiorów danych; podstawowa higiena bezpieczeństwa: sekrety poza repozytorium, praca w reżimie poufności
Jak czytać tę listę
Nie oczekujemy równego opanowania wszystkich punktów. Nieusuwalne są cztery obszary: Python z biegłością w NumPy i Pandas, PyTorch z dostępem do wnętrza modelu, praca z modelami 7–8B przy ograniczonej pamięci karty oraz odtwarzalność potwierdzona własnym cyklem badawczym. Pozostałe elementy oceniamy łącznie — luki w kilku punktach nie przekreślają aplikacji, jeśli te cztery obszary masz solidnie opanowane.
Doświadczenie komercyjne w AI/ML nie jest wymagane — wystarczy udokumentowane doświadczenie badawcze lub projektowe: publiczne repozytorium, praca dyplomowa, projekt uczelniany o realnej skali, udział w projekcie badawczym.
Mile widziane:
Badania nad modelami językowymi
- Praktyczna praca z narzędziami do interpretowalności modeli — TransformerLens, nnsight, baukit lub własne rozwiązania oparte na hookach PyTorcha. Jeśli już cache'owałeś lub cache'owałaś aktywacje i podmieniałeś je w trakcie inferencji, to najmocniejszy punkt, jaki możesz mieć w tej aplikacji
- Orientacja w literaturze z obszarów: interpretowalność i probing reprezentacji, knowledge editing (ROME, MEMIT), disentangled representation learning
- Pełny cykl prac z modelami generatywnymi: dobór architektury, tokenizacja, fine-tuning, ewaluacja jakości generacji metrykami typu F1, ROUGE, BLEU
- Fine-tuning parametrycznie oszczędny: LoRA, QLoRA, PEFT, adaptery
- Proceduralne generowanie zbiorów zadań: szablony, generatory ograniczeniowe, kontrola rozkładu trudności i rozłączności kategorii
- Narzędzia do systematycznej ewaluacji modeli na benchmarkach, np. lm-evaluation-harness, oraz praca z biblioteką HF Datasets
- Potoki ekstrakcji i destylacji wiedzy ustrukturyzowanej z heterogenicznych źródeł, z mechanizmami walidacji jakości
- Lokalne uruchamianie modeli: vLLM, llama.cpp, bitsandbytes, biblioteka accelerate z rozproszeniem pamięci i offloadingiem
Warsztat inżynierski i odtwarzalność
- Doświadczenie konkretnie z Weights & Biases — to nasz system zarządzania eksperymentami
- Testowanie kodu badawczego: pytest, testy regresyjne na wynikach numerycznych, automatyzacja weryfikacji odtwarzalności
- Praca z zewnętrznymi zasobami GPU rozliczanymi za czas użycia
- Praca z systemami kolejkowania zadań obliczeniowych lub na klastrach
- SQL na poziomie swobodnego pisania zapytań analitycznych
- Wkład w projekty open source
Profil naukowy
- Publikacje, preprinty lub udział w konferencjach naukowych z obszaru uczenia maszynowego
- Umiejętność napisania rozdziału metodycznego: opisania protokołu tak, aby ktoś inny mógł go odtworzyć
- Doświadczenie w prowadzeniu zajęć, mentoringu lub wdrażaniu innych osób w metodykę pracy
Atutem w dalszej współpracy będzie podstawowa znajomość:
Backend i API: NestJS, TypeScript
PostGIS, TypeORM, zapytania przestrzenne, układy współrzędnych
Frontend: React, TypeScript, Vite
Mapy: Leaflet, React-Leaflet, usługi WMS i WMTS
React Native, TypeScript
Ogólniej: doświadczenie backendowe lub full-stack w optymalizacji wydajności, zarządzaniu danymi i diagnostyce środowisk produkcyjnych
Poza tym
Jupyter Notebook lub Google Colab jako codzienne narzędzie pracy eksploracyjnej
Jak czytać tę sekcję
Nie oczekujemy nawet połowy tych punktów. Najwięcej waży blok „Badania nad modelami językowymi" — to on różnicuje kandydatów na tym stanowisku. „Warsztat inżynierski i odtwarzalność" oraz „Profil naukowy" są przewagą, nie warunkiem. Znajomość technologii z bloku o dalszej współpracy nie wpływa na ocenę aplikacji na to stanowisko. Jeśli masz mocne dwa lub trzy punkty z pierwszego bloku, warto napisać.
O projekcie:
Pierwszym zadaniem osoby, którą zatrudnimy, będzie pełnoskalowa faza eksperymentalna projektu badawczego dotyczącego reprezentacji wewnętrznych modeli transformerowych — praca prowadzona w rygorze metodologicznym na trzech rodzinach otwartych modeli (m.in. klasy 7–8B). Wyniki tej fazy bezpośrednio zasilają dalsze prace B+R i rozwój naszego produktu — to badania z zastosowaniem, nie eksperymenty do szuflady. Kolejnym etapem współpracy jest udział w rozwoju produktu i dalszych pracach badawczo-rozwojowych.
Proces rekrutacji
- Aplikacja — CV oraz odpowiedzi na trzy krótkie pytania w formularzu (każda do 150 słów, przygotowanie zajmie ok. 15 minut). Nie prosimy o zdjęcie, list motywacyjny ani o informacje o wynagrodzeniu w obecnej lub poprzedniej pracy.
- Zadanie techniczne — praktyczne, do wykonania w ok. 3–4 godzinach, oddawane w formie notatnika.
- Rozmowa techniczna z prowadzącym badania oraz krótka rozmowa organizacyjna.
- Decyzja i oferta.
Decyzje w procesie rekrutacji podejmują wyłącznie osoby — nie stosujemy automatycznej selekcji ani automatycznego oceniania kandydatów.
Warunki formalne
- Łączne zaangażowanie zawodowe we wszystkich formach (etat, B2B, zlecenie, własna działalność) nie może przekraczać 276 godzin miesięcznie — przy pełnym etacie u nas nie jest możliwe równoległe utrzymanie drugiego pełnego etatu. Poprosimy o pisemne oświadczenie w tym zakresie.
- Przed zawarciem umowy poprosimy o dokumenty potwierdzające wykształcenie i kwalifikacje.
- Badania wstępne medycyny pracy przed rozpoczęciem pracy, na nasz koszt.
- Prace objęte są umową o poufności; publikacja wyników wymaga uprzedniej pisemnej zgody spółki — zasady chętnie omówimy na rozmowie.
- Osoby niebędące obywatelami Polski, UE, EOG lub Szwajcarii prosimy o informację o posiadanym tytule pobytowym i uprawnieniu do wykonywania pracy w Polsce.
Zakres obowiązków:
Eksperymenty na modelach językowych
- Implementacja i wykonanie eksperymentów badawczych na modelach klasy 7–8B z rodzin Llama-3, Mistral i Qwen-2.5: probing classifiers, causal mediation analysis, analiza reprezentacji warstw
- Implementacja narzędzi i mechanizmów pomiarowych wykorzystywanych w eksperymentach, w tym mechanizmów interwencji na aktywacjach modelu
- Ekstrakcja aktywacji z wybranych warstw i pozycji sekwencji, z kontrolą poprawności i powtarzalności pomiaru
- Implementacja procedur statystycznych stanowiących część protokołu badawczego: walidacja krzyżowa, wiele niezależnych przebiegów z kontrolą seedów, testy permutacyjne, przedziały ufności metodą bootstrap
Dane eksperymentalne
- Budowa zbiorów danych eksperymentalnych na bazie publicznych benchmarków oraz implementacja generatorów zadań syntetycznych kontrolowanych proceduralnie
- Kontrola jakości zbiorów: deduplikacja, kontrola rozłączności kategorii, przygotowanie zbiorów do weryfikacji merytorycznej
- Wersjonowanie zbiorów danych i powiązanie każdej wersji z konkretnymi przebiegami eksperymentalnymi
Skala i infrastruktura obliczeniowa
- Prowadzenie kampanii pomiarowych rzędu setek do tysiąca przebiegów: kolejkowanie zadań, wznawianie po awariach, monitorowanie zużycia GPU i pamięci, optymalizacja czasu przebiegu
- Współudział w konfiguracji i utrzymaniu środowiska eksperymentalnego oraz odtwarzalnych obrazów obliczeniowych
- Zarządzanie artefaktami badawczymi: repozytorium wyników, kopie zapasowe, spójność między systemem śledzenia eksperymentów a repozytorium kodu
- Weryfikacja licencji modeli i zbiorów danych przed ich wykorzystaniem w pracach
Wyniki, dokumentacja i ciągłość prac
- Przetwarzanie danych pomiarowych i przygotowanie wizualizacji wyników
- Udział w przeglądach wyników i dyskusji metodycznej z prowadzącym badania
- Prowadzenie dokumentacji eksperymentalnej i technicznej na poziomie umożliwiającym odtworzenie każdego wyniku oraz płynne przejęcie prac przez inną osobę
- Praca w reżimie poufności: kontrola dostępu do artefaktów badawczych i właściwe oznaczanie materiałów
Samodzielność
- Samodzielna diagnostyka i rozwiązywanie problemów technicznych w środowisku eksperymentalnym
- Praca z ograniczonym nadzorem w okresach, w których prowadzący badania jest zaangażowany równolegle w inne etapy prac
- Elastyczne przejmowanie bieżących zadań technicznych zależnie od aktualnych priorytetów zespołu
Zakres i elastyczność stanowiska
Stanowisko jest z założenia elastyczne. Pracujemy w małym zespole nad zagadnieniami, w których priorytety zmieniają się wraz z wynikami — zakres zadań technicznych będzie się przesuwał zależnie od etapu prac i bieżących potrzeb. Szukamy osoby, która ma kompetencje szersze niż bieżący zakres obowiązków i jest gotowa je wykorzystać, gdy pojawi się taka potrzeba. Metodyka badawcza powstaje we współpracy z prowadzącym badania, a obszar Twojej samodzielności rośnie wraz z rozwojem współpracy.
Kierunek rozwoju stanowiska
Docelowo widzimy na tym stanowisku osobę przejmującą coraz szerszy zakres samodzielności: współprojektowanie eksperymentów i metodyki badawczej, formułowanie hipotez i dobór metryk ewaluacyjnych, samodzielną analizę i raportowanie wyników, a także udział w projektowaniu i rozwoju komponentów produktowych spółki. To nie jest stanowisko wykonawcze na stałe — to punkt wejścia.
Oferujemy:
Wynagrodzenie 12 500 – 14 500 zł brutto miesięcznie przy pełnym etacie, w zależności od potwierdzonego poziomu kompetencji
Pracę zdalną lub hybrydową — do uzgodnienia — oraz elastyczne godziny pracy
Umowę o pracę i perspektywę stałej współpracy — szukamy osoby, która zostanie z nami na dłużej i będzie rosła razem ze spółką
Pracę badawczą z realną treścią naukową: interpretowalność modeli transformerowych, a nie utrzymanie cudzego pipeline'u
Dostęp do infrastruktury GPU
Mały zespół, krótką drogę decyzyjną, realny wpływ na kierunek prac
Dwa różne obszary rozwoju: badania nad modelami językowymi oraz inżynieria produktu
Wykształcenie
Wyższe techniczne (min. licencjat lub inżynier): informatyka, matematyka stosowana, automatyka, mechatronika, fizyka techniczna lub kierunek pokrewny. Preferujemy stopień magistra; studia doktoranckie w toku lub ukończone to istotny atut. Studia magisterskie w trakcie akceptujemy przy odpowiednio silnym portfolio technicznym.
Kompetencje techniczne
Fundament inżynierski
- Python na poziomie zawodowym: czysty, testowalny kod, typowanie, struktura pakietów, zarządzanie środowiskami, profilowanie wydajności
- Git (gałęzie, rebase, code review), Linux (powłoka, sesje zdalne, nadzór procesów długotrwałych), Docker (odtwarzalne środowisko obliczeniowe, zgodność wersji CUDA)
Modele językowe i architektura Transformer
- Architektura Transformer od wewnątrz: warstwy, strumień rezydualny, bloki uwagi i MLP, semantyka stanów ukrytych — rozumienie, co dzieje się w modelu, nie tylko umiejętność jego uruchomienia
- PyTorch w praktyce: pętla treningowa, autograd, hooki na warstwach i aktywacjach, modyfikowanie przepływu danych w trakcie inferencji, praca na GPU z CUDA (TensorFlow traktujemy jako dodatkowe tło, nie zamiennik)
- Hugging Face Transformers: inferencja modeli klasy 7–8B, dostęp do stanów ukrytych wszystkich warstw, konfiguracje modeli i Hub
- Tokenizacja: BPE, maski uwagi, padding, tokeny specjalne, świadome wskazanie pozycji tokenu w sekwencji
- Optymalizacja przy ograniczonych zasobach: kwantyzacja, dobór typów danych, zarządzanie pamięcią VRAM i KV cache. Pracujemy z modelami 7–8B na sprzęcie o skończonej pamięci karty — kompetencja krytyczna dla tego stanowiska
Dane, statystyka i analiza
- Biegłość w NumPy i Pandas na danych wielowymiarowych: wektoryzacja, indeksowanie złożone, agregacje, kontrola typów i pamięci
- scikit-learn: klasyfikatory liniowe z regularyzacją, walidacja krzyżowa, potoki uczące — jedna z podstawowych technik pomiarowych w tej pracy opiera się na klasyfikatorach probujących
- Statystyka stosowana: testy istotności i permutacyjne, przedziały ufności bootstrap, wielkość efektu, korelacje rangowe — na poziomie poprawnej implementacji protokołu i rozumienia, co mierzy
- Algebra liniowa do pracy na reprezentacjach; higiena danych eksperymentalnych (walidacja, deduplikacja, świadomość przecieku); wizualizacja komunikująca wynik razem z jego niepewnością (słupki błędów, wstęgi CI, mapy ciepła)
Odtwarzalność i inżynieria eksperymentu
- Kontrola determinizmu: seedy w PyTorch, NumPy i CUDA, wiele niezależnych przebiegów; konfiguracja jako kod; wersjonowanie danych i artefaktów powiązane z przebiegami
- Narzędzie do śledzenia eksperymentów (Weights & Biases, MLflow, Neptune lub równoważne) — ze zrozumieniem, po co istnieje
- Zadania długotrwałe: punkty kontrolne, wznawianie po awarii, monitorowanie zużycia GPU i pamięci
Metodyka badawcza
- Samodzielnie przeprowadzony pełny cykl badawczy: hipoteza → projekt eksperymentu → metryki → analiza → raport. Wystarczy jeden — także dyplomowy lub własny — ale Twój i do obrony.
- Angielski: czytanie publikacji naukowych (ACL, NAACL, NeurIPS) ze zrozumieniem metody oraz dokumentacja techniczna w piśmie
- Świadome podejście do licencji modeli i zbiorów danych; podstawowa higiena bezpieczeństwa: sekrety poza repozytorium, praca w reżimie poufności
Jak czytać tę listę
Nie oczekujemy równego opanowania wszystkich punktów. Nieusuwalne są cztery obszary: Python z biegłością w NumPy i Pandas, PyTorch z dostępem do wnętrza modelu, praca z modelami 7–8B przy ograniczonej pamięci karty oraz odtwarzalność potwierdzona własnym cyklem badawczym. Pozostałe elementy oceniamy łącznie — luki w kilku punktach nie przekreślają aplikacji, jeśli te cztery obszary masz solidnie opanowane.
Doświadczenie komercyjne w AI/ML nie jest wymagane — wystarczy udokumentowane doświadczenie badawcze lub projektowe: publiczne repozytorium, praca dyplomowa, projekt uczelniany o realnej skali, udział w projekcie badawczym.
Mile widziane:
Badania nad modelami językowymi
- Praktyczna praca z narzędziami do interpretowalności modeli — TransformerLens, nnsight, baukit lub własne rozwiązania oparte na hookach PyTorcha. Jeśli już cache'owałeś lub cache'owałaś aktywacje i podmieniałeś je w trakcie inferencji, to najmocniejszy punkt, jaki możesz mieć w tej aplikacji
- Orientacja w literaturze z obszarów: interpretowalność i probing reprezentacji, knowledge editing (ROME, MEMIT), disentangled representation learning
- Pełny cykl prac z modelami generatywnymi: dobór architektury, tokenizacja, fine-tuning, ewaluacja jakości generacji metrykami typu F1, ROUGE, BLEU
- Fine-tuning parametrycznie oszczędny: LoRA, QLoRA, PEFT, adaptery
- Proceduralne generowanie zbiorów zadań: szablony, generatory ograniczeniowe, kontrola rozkładu trudności i rozłączności kategorii
- Narzędzia do systematycznej ewaluacji modeli na benchmarkach, np. lm-evaluation-harness, oraz praca z biblioteką HF Datasets
- Potoki ekstrakcji i destylacji wiedzy ustrukturyzowanej z heterogenicznych źródeł, z mechanizmami walidacji jakości
- Lokalne uruchamianie modeli: vLLM, llama.cpp, bitsandbytes, biblioteka accelerate z rozproszeniem pamięci i offloadingiem
Warsztat inżynierski i odtwarzalność
- Doświadczenie konkretnie z Weights & Biases — to nasz system zarządzania eksperymentami
- Testowanie kodu badawczego: pytest, testy regresyjne na wynikach numerycznych, automatyzacja weryfikacji odtwarzalności
- Praca z zewnętrznymi zasobami GPU rozliczanymi za czas użycia
- Praca z systemami kolejkowania zadań obliczeniowych lub na klastrach
- SQL na poziomie swobodnego pisania zapytań analitycznych
- Wkład w projekty open source
Profil naukowy
- Publikacje, preprinty lub udział w konferencjach naukowych z obszaru uczenia maszynowego
- Umiejętność napisania rozdziału metodycznego: opisania protokołu tak, aby ktoś inny mógł go odtworzyć
- Doświadczenie w prowadzeniu zajęć, mentoringu lub wdrażaniu innych osób w metodykę pracy
Atutem w dalszej współpracy będzie podstawowa znajomość:
Backend i API: NestJS, TypeScript
PostGIS, TypeORM, zapytania przestrzenne, układy współrzędnych
Frontend: React, TypeScript, Vite
Mapy: Leaflet, React-Leaflet, usługi WMS i WMTS
React Native, TypeScript
Ogólniej: doświadczenie backendowe lub full-stack w optymalizacji wydajności, zarządzaniu danymi i diagnostyce środowisk produkcyjnych
Poza tym
Jupyter Notebook lub Google Colab jako codzienne narzędzie pracy eksploracyjnej
Jak czytać tę sekcję
Nie oczekujemy nawet połowy tych punktów. Najwięcej waży blok „Badania nad modelami językowymi" — to on różnicuje kandydatów na tym stanowisku. „Warsztat inżynierski i odtwarzalność" oraz „Profil naukowy" są przewagą, nie warunkiem. Znajomość technologii z bloku o dalszej współpracy nie wpływa na ocenę aplikacji na to stanowisko. Jeśli masz mocne dwa lub trzy punkty z pierwszego bloku, warto napisać.
O projekcie:
Pierwszym zadaniem osoby, którą zatrudnimy, będzie pełnoskalowa faza eksperymentalna projektu badawczego dotyczącego reprezentacji wewnętrznych modeli transformerowych — praca prowadzona w rygorze metodologicznym na trzech rodzinach otwartych modeli (m.in. klasy 7–8B). Wyniki tej fazy bezpośrednio zasilają dalsze prace B+R i rozwój naszego produktu — to badania z zastosowaniem, nie eksperymenty do szuflady. Kolejnym etapem współpracy jest udział w rozwoju produktu i dalszych pracach badawczo-rozwojowych.
Proces rekrutacji
- Aplikacja — CV oraz odpowiedzi na trzy krótkie pytania w formularzu (każda do 150 słów, przygotowanie zajmie ok. 15 minut). Nie prosimy o zdjęcie, list motywacyjny ani o informacje o wynagrodzeniu w obecnej lub poprzedniej pracy.
- Zadanie techniczne — praktyczne, do wykonania w ok. 3–4 godzinach, oddawane w formie notatnika.
- Rozmowa techniczna z prowadzącym badania oraz krótka rozmowa organizacyjna.
- Decyzja i oferta.
Decyzje w procesie rekrutacji podejmują wyłącznie osoby — nie stosujemy automatycznej selekcji ani automatycznego oceniania kandydatów.
Warunki formalne
- Łączne zaangażowanie zawodowe we wszystkich formach (etat, B2B, zlecenie, własna działalność) nie może przekraczać 276 godzin miesięcznie — przy pełnym etacie u nas nie jest możliwe równoległe utrzymanie drugiego pełnego etatu. Poprosimy o pisemne oświadczenie w tym zakresie.
- Przed zawarciem umowy poprosimy o dokumenty potwierdzające wykształcenie i kwalifikacje.
- Badania wstępne medycyny pracy przed rozpoczęciem pracy, na nasz koszt.
- Prace objęte są umową o poufności; publikacja wyników wymaga uprzedniej pisemnej zgody spółki — zasady chętnie omówimy na rozmowie.
- Osoby niebędące obywatelami Polski, UE, EOG lub Szwajcarii prosimy o informację o posiadanym tytule pobytowym i uprawnieniu do wykonywania pracy w Polsce.
Zakres obowiązków:
Eksperymenty na modelach językowych
- Implementacja i wykonanie eksperymentów badawczych na modelach klasy 7–8B z rodzin Llama-3, Mistral i Qwen-2.5: probing classifiers, causal mediation analysis, analiza reprezentacji warstw
- Implementacja narzędzi i mechanizmów pomiarowych wykorzystywanych w eksperymentach, w tym mechanizmów interwencji na aktywacjach modelu
- Ekstrakcja aktywacji z wybranych warstw i pozycji sekwencji, z kontrolą poprawności i powtarzalności pomiaru
- Implementacja procedur statystycznych stanowiących część protokołu badawczego: walidacja krzyżowa, wiele niezależnych przebiegów z kontrolą seedów, testy permutacyjne, przedziały ufności metodą bootstrap
Dane eksperymentalne
- Budowa zbiorów danych eksperymentalnych na bazie publicznych benchmarków oraz implementacja generatorów zadań syntetycznych kontrolowanych proceduralnie
- Kontrola jakości zbiorów: deduplikacja, kontrola rozłączności kategorii, przygotowanie zbiorów do weryfikacji merytorycznej
- Wersjonowanie zbiorów danych i powiązanie każdej wersji z konkretnymi przebiegami eksperymentalnymi
Skala i infrastruktura obliczeniowa
- Prowadzenie kampanii pomiarowych rzędu setek do tysiąca przebiegów: kolejkowanie zadań, wznawianie po awariach, monitorowanie zużycia GPU i pamięci, optymalizacja czasu przebiegu
- Współudział w konfiguracji i utrzymaniu środowiska eksperymentalnego oraz odtwarzalnych obrazów obliczeniowych
- Zarządzanie artefaktami badawczymi: repozytorium wyników, kopie zapasowe, spójność między systemem śledzenia eksperymentów a repozytorium kodu
- Weryfikacja licencji modeli i zbiorów danych przed ich wykorzystaniem w pracach
Wyniki, dokumentacja i ciągłość prac
- Przetwarzanie danych pomiarowych i przygotowanie wizualizacji wyników
- Udział w przeglądach wyników i dyskusji metodycznej z prowadzącym badania
- Prowadzenie dokumentacji eksperymentalnej i technicznej na poziomie umożliwiającym odtworzenie każdego wyniku oraz płynne przejęcie prac przez inną osobę
- Praca w reżimie poufności: kontrola dostępu do artefaktów badawczych i właściwe oznaczanie materiałów
Samodzielność
- Samodzielna diagnostyka i rozwiązywanie problemów technicznych w środowisku eksperymentalnym
- Praca z ograniczonym nadzorem w okresach, w których prowadzący badania jest zaangażowany równolegle w inne etapy prac
- Elastyczne przejmowanie bieżących zadań technicznych zależnie od aktualnych priorytetów zespołu
Zakres i elastyczność stanowiska
Stanowisko jest z założenia elastyczne. Pracujemy w małym zespole nad zagadnieniami, w których priorytety zmieniają się wraz z wynikami — zakres zadań technicznych będzie się przesuwał zależnie od etapu prac i bieżących potrzeb. Szukamy osoby, która ma kompetencje szersze niż bieżący zakres obowiązków i jest gotowa je wykorzystać, gdy pojawi się taka potrzeba. Metodyka badawcza powstaje we współpracy z prowadzącym badania, a obszar Twojej samodzielności rośnie wraz z rozwojem współpracy.
Kierunek rozwoju stanowiska
Docelowo widzimy na tym stanowisku osobę przejmującą coraz szerszy zakres samodzielności: współprojektowanie eksperymentów i metodyki badawczej, formułowanie hipotez i dobór metryk ewaluacyjnych, samodzielną analizę i raportowanie wyników, a także udział w projektowaniu i rozwoju komponentów produktowych spółki. To nie jest stanowisko wykonawcze na stałe — to punkt wejścia.
Oferujemy:
Wynagrodzenie 12 500 – 14 500 zł brutto miesięcznie przy pełnym etacie, w zależności od potwierdzonego poziomu kompetencji
Pracę zdalną lub hybrydową — do uzgodnienia — oraz elastyczne godziny pracy
Umowę o pracę i perspektywę stałej współpracy — szukamy osoby, która zostanie z nami na dłużej i będzie rosła razem ze spółką
Pracę badawczą z realną treścią naukową: interpretowalność modeli transformerowych, a nie utrzymanie cudzego pipeline'u
Dostęp do infrastruktury GPU
Mały zespół, krótką drogę decyzyjną, realny wpływ na kierunek prac
Dwa różne obszary rozwoju: badania nad modelami językowymi oraz inżynieria produktu
🔍 Dekoder Ogłoszenia
🔴
Studia magisterskie w trakcie akceptujemy przy odpowiednio silnym portfolio technicznym.
Portfolio jest kluczowe, a brak ukończonego magistra może być znaczącą przeszkodą, jeśli nie zostanie zrekompensowane wyjątkowymi umiejętnościami.
🔴
Architektura Transformer od wewnątrz: warstwy, strumień rezydualny, bloki uwagi i MLP, semantyka stanów ukrytych — rozumienie, co dzieje się w modelu, nie tylko umiejętność jego uruchomienia
Oczekuje się głębokiego teoretycznego zrozumienia działania modeli, a nie tylko umiejętności korzystania z gotowych bibliotek.
🔴
PyTorch w praktyce: pętla treningowa, autograd, hooki na warstwach i aktywacjach, modyfikowanie przepływu danych w trakcie inferencji, praca na GPU z CUDA
Wymagana jest zaawansowana znajomość PyTorch, pozwalająca na modyfikację i debugowanie procesów treningowych i inferencyjnych na niskim poziomie.
🔴
Hugging Face Transformers: inferencja modeli klasy 7–8B, dostęp do stanów ukrytych wszystkich warstw, konfiguracje modeli i Hub
Oczekuje się umiejętności pracy z konkretnymi, dużymi modelami językowymi i analizy ich wewnętrznych struktur.
🔴
Optymalizacja przy ograniczonych zasobach: kwantyzacja, dobór typów danych, zarządzanie pamięcią VRAM
Konieczne jest doświadczenie w efektywnym wykorzystaniu zasobów sprzętowych, co może oznaczać pracę z mniej wydajnym sprzętem lub bardzo dużymi modelami.