
Cześć, jestem Abhik Sarkar.
Jestem dyrektorem ds. uczenia maszynowego w Cloudastructure Inc, gdzie przeskalowałem naszą platformę widzenia komputerowego ze 100 tys. do 12 milionów filmów dziennie i opiekuję się lokalnym klastrem GPU, na którym działa.
Jeśli przychodzisz tu z artykułu albo recenzji publikacji: cześć, to mój tekst. Na tej stronie wyjaśniam to, czego uczę się po drodze, od optymalizacji GPU i transformerów po kodeki wideo i publikacje, które za nimi stoją, zwykle z czymś, co można kliknąć i samodzielnie sprawdzić.
Przetłumaczono z angielskiego.
Obserwuj mnie
Od czego zacząć
Wybierz format, który ci odpowiada. Każdy zaczyna się od tekstu, który warto przeczytać najpierw. Artykuły, koncepcje i recenzje publikacji są po angielsku.
Artykuły
Obszerne teksty z pracy produkcyjnej: GPU, kodeki wideo i wnętrze Pythona.
How TensorRT WorksKoncepcje
Krótkie interaktywne objaśnienia o ML, GPU i systemach, pogrupowane tematycznie.
Flash Attention: IO-Aware Exact AttentionPublikacje
Recenzje publikacji z uczenia maszynowego, z demami, które uruchomisz w przeglądarce.
ViT: An Image is Worth 16x16 WordsMoja historia
Czym zajmuję się teraz
W Cloudastructure wykorzystuję deep learning i widzenie komputerowe, by poprawiać bezpieczeństwo. Na co dzień oznacza to Pythona, C++, TensorRT, PyTorch, CUDA, Dockera i React.js, a do tego narzędzia MLOps i systemy rozproszone do przetwarzania wideo na dużą skalę. Rekrutuję też i prowadzę zespół rozsiany po 11 krajach, a o tej pracy opowiadam na konferencjach.
Wystąpienia
Wszystkie wystąpienia- EuroPython
- PyCon Italia
- PyCon India
- PyCon Japan
- BangPypers
- DevFest
Dlaczego GPU
Inżynierem od wydajności zostałem przez przypadek.
Zaczęło się od chęci zaoszczędzenia firmie pieniędzy. Potem dowiedziałem się, że dekodery takie jak NVDEC to osobny krzem, niezależny od rdzeni CUDA, więc dekodowanie, wstępne przetwarzanie i inferencja mogą działać jednocześnie na różnych częściach GPU. Połączenie ich w potok dało nam 3-krotne przyspieszenie i tysiące oszczędności na infrastrukturze przy dużej skali. Od tamtej pory jestem wciągnięty: kernele CUDA, wzorce dostępu do pamięci, optymalizacja grafów w TensorRT, aż po wykorzystanie (occupancy) multiprocesorów strumieniowych.
Poza pracą
Jestem mentorem, prowadzę warsztaty i piszę tutaj, żeby dzielić się tym, czego się uczę. Z dala od klawiatury znajdziesz mnie na quizach albo przy testowaniu najnowszego narzędzia.
Moje pasje
- Uczenie maszynowe
- Optymalizacja wydajności GPU
- Inżynieria oprogramowania
- Python
- Open source
- Quizy
- Inżynieria danych
Jak tu trafiłem
Mam ponad 8 lat doświadczenia jako inżynier uczenia maszynowego i full-stack developer. Z wykształcenia jestem informatykiem: tytuł Bachelor of Technology in Computer Science and Engineering zdobyłem w National Institute of Technology, Raipur, w Indiach, a potem ukończyłem kursy na poziomie magisterskim: Introduction to High-Performance Computing w Indian Institute of Science, Bangalore, oraz CS224W: Machine Learning with Graphs w Stanford Center for Professional Development. Pełna lista jest w moim CV i dyplomach, a moje obszary specjalizacji pokazują tematy, którymi się zajmuję.
Artykuły, które polecam
Wybór artykułów, które wpłynęły na moje myślenie i podejście do technologii.
- Making Deep Learning go Brrrr From First Principles — Horace He
- Transformers from Scratch — Brandon Rohrer
Napisz do mnie
E-mail to najlepszy sposób, by się ze mną skontaktować, niezależnie od powodu.
Wyślij e-mail