sophgo/tpu-mlir

Machine learning compiler based on MLIR for Sophgo TPU.

해결하는 문제

TPU-MLIR는 PyTorch, ONNX, TFLite, Caffe와 같은 인기 있는 프레임워크에서 사전 훈련된 신경망을 가져와 TPU 하드웨어에서 효율적으로 실행할 수 있도록 최적화된 특수 형식인 bmodel 파일로 변환할 수 있는 머신러닝 컴파일러입니다. 이는 고수준 AI 모델 설계와 하드웨어 특화 실행 사이의 격차를 메웁니다.

작동 방식

MLIR(Multi-Level Intermediate Representation) 프레임워크 기반으로 구축되었으며, 고수준 모델 설명을 하드웨어 특화 명령어로 낮추기 위해 "다이얼렉트"와 패턴 리라이트의 파이프라인을 사용합니다. 모델의 양자화(F32에서 BF16, F16, 또는 INT8로 변환) 및 정확도 유지를 위한 캘리브레이션을 포괄적으로 지원하는 도구 체인을 포함합니다. 대규모 언어 모델(LLM)의 경우, HuggingFace 모델을 한 번의 작업으로 변환할 수 있는 전용 llm_convert.py 도구를 제공하며, KV 캐시 관리 및 청크 기반 추론과 같은 고급 기능을 지원합니다.

대상 사용자

YOLOv5와 같은 비전 모델에서 Qwen과 같은 LLM까지 TPU 기반 가속기로 최적화된 AI 모델을 배포해야 하는 AI 엔지니어 및 하드웨어 개발자에게 적합합니다.

주요 특징

  • 다양한 프레임워크 지원: PyTorch, ONNX, TFLite, Caffe에서 모델을 직접 변환 가능.
  • LLM 최적화: HuggingFace LLM에 특화된 한 번의 작업 변환과 KV 캐시 처리 지원.
  • 포괄적인 양자화: F32, BF16, F16, INT8(대칭/비대칭)에 더해 AWQ, GPTQ, AutoRound도 지원.
  • 생산용 도구: 시뮬레이터, 시각화 도구, 정확도 검증 및 bmodel 검사 도구 포함.
  • MLIR 기반 파이프라인: 레이어 그룹 메모리 계획을 갖춘 깔끔한 하향 변환 파이프라인으로 효율적인 하드웨어 활용을 실현.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트