MLIR - AI 연출 가속화
출처 O'Reilly TensorFlow World Presneted with TensorFlow
발표자 Chris Lattner(Google), Tatiana Shpeisman(Google)
한글화 JKIsaacLee
최근 수정일 2019년 11월 5일
MLIR은 세 가지 성격을 가집니다: 데이터, 알고리즘, 그리고 컴퓨팅
데이터
는 ML 모델의 지속적인 개선 주기를추진
합니다연구원들
은 새로운 알고리즘 혁신을 통해 새로운 기술과 모델을제공
합니다컴퓨팅
은 데이터셋이 커질수록 모든 것을확장시켜주며
알고리즘도 이에 따라 확장해야 합니다
모델이 점점 더 복잡해지고 있다
모델 크기
: 모델이 클수록 방대한 누적 연산이 필요합니다모델 복잡성
: 모델 복잡성이 증가함에 따라 하드웨어를 완전히 활용하기가 더 어려워집니다출처: OpenAI - AI & Compute
무어의 법칙 종말 : 새로운 하드웨어 필요
하드웨어 스타트업 및 맞춤형 칩의 폭발적 증가
- 새로운 ML ASIC을 향해
수십억 달러
의 자금 - 여러 종류의 하드웨어 솔루션의
빠른 확장
엣지 하드웨어의 지속적인 폭발적 성장
이기종 컴퓨팅
- 이기종 하드웨어는 이제 표준
- 휴대폰에서 마이크로 컨트롤러로 확장
- 메모리, 에너지, 성능 및 지연 시간 제약이 가장 중요
데이터 센터
GPU, CPU, TPU, 그 외의 하드웨어 가속기
더 많은 하드웨어 기능 : 복잡성
- ML 중점의 다양한 하드웨어 가속기
- 다양한 유형과 아키텍처: 4비트/16비트/32비트…
- 일관적으로 빠르게 확장 및 축소 불가능한 하드웨어와 추상화의 수준 다양화
활기차고 성장하는 소프트웨어 생태계
- 다양한 프레임워크와 표준 제안
- 다양한 그래프 구현
- 각 프레임워크는 각각의 유용성과 성능 우위를 얻으려고 함
하지만, 이 중 어떤 것도 스케일링, 즉 확장이 아니다 - 무엇이 틀렸는가
- 시스템이 상호 운용되지 않음
- 모든 하드웨어에서 모든 연산자와 유형을 동일하게 처리할 수 없음
- 개발자의 유용성이나 하드웨어 디버깅 가능성이 낮음
- 소프트웨어 및 하드웨어 확장을 보장하기 위한 일반적인 표준이 없음
- 모두가 고비용으로 같은 물건을 만들고 싶어함
- 현재 시장의 모든 곳에 조각화가 존재
그래서 원하는 것이 무엇인가 - 공통 인프라: 설계 블록
- 동급 최고의 그래프 및 컴파일러 기술
- 학습과 추론,
모바일
과서버
모두를 위한 설계 - 엣지에서 서버까지 ML을 확장하는 기능
- 유형 및 연산자, 사용자 지정 작업에 대한 대표적 표준
- 프레임워크 독립적
- 중립 거버넌스
MLIR - 산업은 현재
- 세계 최대의 하드웨어 파트너
- 세계 데이터 센터 가속기 하드웨어의 95%
- 40억 개의 휴대 전화와 셀 수 없는 IoT 장치
- 거버넌스가 LLVM으로 이전
MLIR이란?
머신러닝 모델을 모든 유형의 하드웨어에서
동일하게 표현하고 실행할 수 있는 새로운 컴파일러 인프라
MLIR의 차별점
최신 컴파일러 기술
: MLIR은 단순한 그래프 직렬화 형식이 아니며 이와 유사한 것이 없다모듈식 및 확장가능
: 그래프 표현에서 최적화, 코드 생성에 이르기까지의견이 없음
: 장치에 맞는 표현 수준을 선택
MLIR 컴파일러 인프라
TLDR : 공통 그래프 표현 및 합법적인 프레임 워크, 공통 최적화 및 상태 변환 세트 및 전체 코드 생성 파이프 라인
다양한 접근 가능
필요에 따라 시스템의 다른 구성 요소를 자유롭게 사용할 수 있습니다.
MLIR은 TensorFlow Lite와 마찬가지로 그래프 재작성 도구로 모듈화할 수도 있습니다.
TensorFlow에서의 의미 - 더 나은 설계
동일한 공용 인터페이스
: 모든 공용 인터페이스를 유지(GraphDef, SavedModel, Python APIs, HLO, XLA, XRT, xprof, …)대표적 하드웨어
: 모든 하드웨어에서 향상된 유연성 및 연출, 더 높은 성능과 더 안정적스택 수렴
: 스택 수렴 증가, 더 좋고 일관된 UX, 새로운 하드웨어를 쉽게 사용 가능
Python 개발자에게 어떤 의미인가 - 더 나은 TensorFlow 개발자 경험
MLIR은 TensorFlow 개발 경험을 훨씬 향상시킵니다.
- 다른 하드웨어에서 일관된 모델 사용
- 즉시 사용 가능한 성능 향상
- Python 코드 라인으로 다시 실수를 찾아내기
MLIR: 산업 추진 - LLVM을 통한 중립 거버넌스
MLIR은 비영리 LLVM 재단의 일환으로 승인되었습니다. 이를 통해 업계 전체에서 MLIR을 더욱 빠르게 선택할 수 있습니다.
MLIR은 모든 사람을 위한 ML을 개선하기 위해 글로벌 컴파일러 커뮤니티를 구축하고 있습니다 - 함께, ML의 상태를 발전시킵시다
MLIR은 개방형 인프라를 통해 데이터, 알고리즘 및 하드웨어 혁신을 가속화하여 모델이 올바르게 연출, 실행 및 확장시킵니다.
MLIR에 대한 문의사항 mlir@tensorflow.org