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 などの大規模言語モデルまで、TPUベースのアクセラレータに最適化されたAIモデルをデプロイする必要があるAIエンジニアおよびハードウェア開発者向けに設計されています。

主な特徴

  • マルチフレームワーク対応:PyTorch、ONNX、TFLite、Caffe からのモデルを直接変換可能。
  • LLM最適化:HuggingFace LLM に特化したワンショット変換と KVキャッシュ処理をサポート。
  • 包括的な量子化:F32、BF16、F16、INT8(対称/非対称)に加え、AWQ、GPTQ、AutoRound もサポート。
  • プロダクション用ツール:シミュレータ、ビジュアライザー、精度検証ツール、bmodelの検査ツールを含む。
  • MLIRベースのパイプライン:レイヤーグループメモリ計画を備えたクリーンな下位変換パイプラインにより、効率的なハードウェア利用を実現。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト