Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Backend.AI 와 AI 반도체 - 서상현

Lablup Inc.
November 28, 2023
34

Backend.AI 와 AI 반도체 - 서상현

Lablup Conf 2023

Lablup Inc.

November 28, 2023
Tweet

More Decks by Lablup Inc.

Transcript

  1. AI 반도체 § 과거 – Nervana Systems 인텔 2016년 인수

    350M – Habana Labs 인텔 2019년 인수 2B
  2. AI 반도체 § 현재 – Meta MTIA v1 2023년 5월

    공개 – AWS Inferentia2 2023년 6월 공개 – Google TPU – Apple Neural Engine
  3. AI 반도체 § 미래 – 불확실성 CNN? RNN? Transformer? –

    확실성 행렬곱, 정밀도 – programmability
  4. Backend.AI 가속기 플러그인 § 공개 – 깃헙 lablup/backend.ai 저장소 –

    src/ai/backend/accelerator 디렉토리 아래 – Mock 플러그인 실제 하드웨어 없이 개발 및 테스트를 하기 위한 플러그인 TOML 파일로 설정 configs/accelerator 디렉토리 참고 – CUDA 플러그인 기본적인 기능을 지원하는 NVIDIA GPU 플러그인 fGPU GPU 분할 가상화 기능은 엔터프라이즈 버전에만 있음
  5. Backend.AI 가속기 플러그인 § 비공개 – 깃헙 lablup 조직 아래

    비공개 저장소들 – CUDA 엔터프라이즈 플러그인 – ROCm 플러그인 AMD GPU – TPU 플러그인 Google TPU – IPU 플러그인 Graphcore IPU – NPU 플러그인 Rebellions ATOM FuriosaAI Warboy
  6. Backend.AI 가속기 플러그인 인터페이스 § 파이썬 표준 플러그인 인터페이스 사용

    Entry points § backendai accelerator v21 § src/ai/backend/agent/resources.py에 타입 정의 § AbstractComputeDevice – device id, hw location, numa node § AbstractComputePlugin – list devices 장치 감지 – generate docker args 컨테이너 실행 – gather * measures 통계 수집 – get metadata UI 정보
  7. 장치 감지 § 에이전트 노드에 연결되어 있는 장치 감지 –

    예: lspci PCI 버스 장치 나열, vendor ID로 필터링, device ID로 지원 확인 § 장치 정보 획득 – 장치 ID, 장치 위치, 장치 종류, 전체 메모리... § NUMA
  8. 컨테이너 실행 § docker run에 넘겨줄 옵션 실제로는 OCI configuration

    JSON § 장치명 device, devices – /dev/npu1 § 환경 변수 e, env – LD PRELOAD § 파일 시스템 v, volume, mounts – /opt/hook.so § 권한 capabilities, seccomp § 네트워크
  9. 통계 수집 § 스케줄링 정보 – 사용량 – 메모리 §

    모니터링 정보 – 전력 – 온도 § 장치별 통계 – 로드 밸런싱 § 컨테이너별 통계 – 자원 회수
  10. UI 정보 § 아이콘 SVG 선호, PNG 가능 § 텍스트

    NVIDIA GPU A100 § 오픈소스로 재배포 가능한 리소스
  11. 라이선스 § 모델명 § 시리얼 번호 § 장치 감지의 일부로

    동작 – 라이선스 서버와 통신 – 라이선스 파일 – 만료일 검사