Repolode
fastmachinelearning

fastmachinelearning/hls4ml

Keras、PyTorch、ONNXのニューラルネットワークを、FPGAでのML推論向けHLSコードに変換するPythonパッケージです。

スター
2,197
フォーク
615
未解決の Issue
62
最終コミット
昨日

これは何?

hls4mlは、機械学習モデルを高位合成(HLS)コードに変換し、FPGA向けファームウェアを生成します。一般的なフレームワークで学習済みのモデルを用意し、設定ファイルを使ってHLSプロジェクトを生成した後、対応するベンダーのツールチェーンでビルドしてハードウェアを作成します。

超低遅延の推論を目的としており、高エネルギー物理学、特に大型ハドロン衝突型加速器のL1トリガーシステムを起源とします。量子コンピューティングの制御、核融合のフィードバックループ、衛星による環境モニタリング、生体信号処理などの分野でも利用されています。

Vivado HLSに加え、ビルドバックエンドとしてVitis HLS、Intel HLS、Catapult HLS、Altera HLS IP Genに対応しています。PyPIまたはconda-forgeからインストールでき、プロファイリング用の追加機能も用意されています。

主な機能

  • 01Keras、PyTorch、ONNXのモデルをHLSプロジェクトに変換します。
  • 02Vivado、Vitis、Intel、Catapult、Alteraなど、複数のHLSバックエンドに対応しています。
  • 03設定ファイルを使って生成するデザインを構成できます。
  • 04プロジェクトを合成するビルド工程と、結果を読み取るレポートリーダーを備えています。
  • 05pipまたはconda-forgeからインストールできます。

ユースケース

  • FPGAハードウェア上でニューラルネットワークを動かし、リアルタイムのトリガー判定を行う。
  • 組み込みFPGAボード上で、低遅延の制御モデルや信号処理モデルを実行する。
  • 設計を確定する前に、学習済みモデルがFPGAリソースにどのように割り当てられるかを評価する。

クイックスタート

  1. 1

    PyPIからhls4mlをインストールする

    pip install hls4ml
  2. 2

    Kerasモデルのサンプルとその設定を取得する

    import hls4ml
  3. 3

    モデルをHLSプロジェクトに変換する

    hls_model = hls4ml.converters.keras_v2_to_hls(config)
  4. 4

    Vivado HLSまたはその他の対応HLSツールでプロジェクトをビルドする

    hls_model.build()

使う前に知っておきたいこと

  • 生成されたファームウェアのビルドには、Vivado HLS、Vitis HLS、Intel HLSなどの別途用意したHLSツールチェーンが必要です。
  • 対象はFPGAでの推論のみで、汎用的なモデルの学習や実行には対応していません。

トピック

よくある質問

hls4ml とは?
Keras、PyTorch、ONNXのニューラルネットワークを、FPGAでのML推論向けHLSコードに変換するPythonパッケージです。 hls4mlは、機械学習モデルを高位合成(HLS)コードに変換し、FPGA向けファームウェアを生成します。一般的なフレームワークで学習済みのモデルを用意し、設定ファイルを使ってHLSプロジェクトを生成した後、対応するベンダーのツールチェーンでビルドしてハードウェアを作成します。
hls4ml は無料で使えますか?ライセンスは?
hls4ml は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
hls4ml は今もメンテナンスされていますか?
活発にメンテナンス中。hls4ml の最終コミットは 2026年11月4日 です。
hls4ml は何に使えますか?
FPGAハードウェア上でニューラルネットワークを動かし、リアルタイムのトリガー判定を行う。 組み込みFPGAボード上で、低遅延の制御モデルや信号処理モデルを実行する。 設計を確定する前に、学習済みモデルがFPGAリソースにどのように割り当てられるかを評価する。
hls4ml のインストール方法は?
PyPIからhls4mlをインストールする: pip install hls4ml Kerasモデルのサンプルとその設定を取得する: import hls4ml モデルをHLSプロジェクトに変換する: hls_model = hls4ml.converters.keras_v2_to_hls(config) Vivado HLSまたはその他の対応HLSツールでプロジェクトをビルドする: hls_model.build()
hls4ml はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/fastmachinelearning/hls4ml

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト