FPGA実装のための機械学習Python実習

머신러닝을 배우면 정확도를 높이는 방법을 익히게 됩니다. 하지만 그 모델을 실제 칩에 올리려는 순간, 아무도 알려주지 않았던 질문이 남게 됩니다. 이 모델은 곱셈을 몇 번 수행합니까? 무엇을 얼마나 기억하고 있어야 합니까? 현재 목표로 하는 칩 스펙이 그 요구사항을 감당할 수 있습니까? 머신러닝 교재는 정확도를 다루고 반도체 교재는 회로를 다루지만, 그 사이를 잇는 자료는 드뭅니다. 저는 RISC-V CPU와 NPU를 FPGA로 구현하면서 이 간극을 반복해서 마주쳤습니다. 정확도가 가장 높은 모델이 정작 보드에는 들어가지 않는 상황 말입니다. 본 과정에서는 여섯 개의 알고리즘을 파이썬으로 직접 만들어보면서, 만들 때마다 곱셈, 비교, 메모리 사용량, 정확도를 측정합니다. 그리고 그 값을 실제 FPGA 보드의 자원으로 환산합니다. '곱셈 몇 번'이라는 표현만으로는 그 크기를 가늠하기 어렵지만, '보드의 몇 퍼센트'라고 하면 판단이 서기 때문입니다. 아홉 개의 Lab을 거쳐 여섯 개의 모델을 한 표에 모아보면 예상과 다른 그림이 드러납니다. 곱셈을 세는 데 아홉 편을 할애했지만, 정작 발목을 잡는 것은 곱셈이 아니었습니다. 이후 실수를 정수로 낮추고, 자릿수를 관리하며, 회로를 채점할 기준까지 마련합니다. FPGA 보드는 필요하지 않습니다. 파이썬만으로 진행하며, 보드는 측정값을 환산하는 기준으로만 사용됩니다.

3名 が受講中です。

難易度 中級以上

受講期間 無制限

Python
Python
Machine Learning(ML)
Machine Learning(ML)
Artificial Neural Network
Artificial Neural Network
Numpy
Numpy
Scikit-Learn
Scikit-Learn
Python
Python
Machine Learning(ML)
Machine Learning(ML)
Artificial Neural Network
Artificial Neural Network
Numpy
Numpy
Scikit-Learn
Scikit-Learn

受講後に得られること

  • 機械学習モデルを参照し、チップ上で要求されるリソースを4つの項目で算出することができます。

  • 演算回数とメモリ要件を実際のボードリソースに対する百分率に換算し、実装の可否を判断することができます。

  • 乗算器の数とサイクル数を交換する面積・時間のトレードオフを、設計の観点から説明することができます。

  • 実数重みを整数に量子化し、アキュムレータのビット幅を計算して決定することができます。

  • 回路を検証するためのPythonゴールデンモデルを作成し、値単位で照合する手順を確立することができます。

  • 6つのアルゴリズムのコストを同じ基準で比較した表を、ご自身で完成させることになります。

  • 実行して値を変更しながら試せるPythonスクリプト15個と、検証ツールをご利用いただけます。

■講義紹介

精度98.4%。しかし、このモデルはチップに収まりません。

머신러닝을 배우면 정확도를 높이는 방법을 익히게 됩니다. 그런데 그 모델을 실제 칩에 올리려는 순간, 아무도 알려주지 않은 질문이 남게 됩니다. 이 모델은 곱셈을 몇 번 수행해야 할까요? 무엇을 얼마나 기억해 두어야 할까요? 현재 목표로 하는 칩 스펙이 그 요구를 감당할 수 있을까요?

機械学習の教材は精度を、半導体の教材は回路を扱います。しかし、その両者を結びつける資料は乏しいのが実情です。機械学習を学んだ方は、自身が作ったモデルがチップに何を要求するのかを知らず、回路を学んだ方は、そのチップ上に何を載せればよいのかを知りません。本コースは、そのようなギャップを埋めるために作られました。

6つのアルゴリズムを自ら作成し、その都度、乗算回数、比較回数、メモリ使用量、そして精度を測定します。そして、その値を実際のFPGAボードのリソースに換算します。「乗算何回」という表現だけではその規模を直感的に把握しにくいですが、「ボードの何パーセントを消費するか」と言えば、明確な判断ができるようになるからです。

そうして9つのLabを経て6つのモデルを1つの表にまとめると、予想とは異なる様相が浮かび上がります。乗算の数を数えるのに9編も費やしたのに、実際に足かせとなったのは乗算ではありませんでした。最も精度の高いモデルこそ、チップに最も収まりにくいモデルだったのです。

これらは精度の背後に隠された、目に見えないものです。

■ この過程で直面する瞬間

  • 教科書に必ず載っている計算ステップを一つ、まるごと取り除きます。全テストを通じて結果が変わらないことを確認した上で削除します。

  • 乗算を一度も行わない分類器を作ります。乗算器の枠が空く代わりに、そのコストがどこへ移っていくのかを目の当たりにすることになります。

  • たった1ビット不足するだけで精度が崩壊する場面を目にします。徐々に悪化するのではなく、まるで断崖のように急落し、エラーメッセージすら表示されません。

  • 減らそうとしてかえって増えてしまうケースに直面します。減らす行為自体が演算だからです。

  • データが大きくなった瞬間にその手法が通用しなくなる限界点を見つけ出します。作ってからではなく、作る前に計算によって見極めるのです。

教材に記載されている値は、すべて提供されたPythonの実行ログから取得したものです。推測で記入した数字は一つもありません。

■ 何を学ぶのか

アルゴリズムを作成するたびに、4つの項目を記入します。

乗算:掛け算と足し算の演算回数、専用乗算器を使用。比較:2つの値の大きさを比べる回数、論理リソースを使用。メモリ:保持しておくべきバイト数、内蔵メモリブロックを使用。精度:正解した割合。

前述の3つは互いに代替できません。乗算器が余っていても、メモリが不足していれば、その設計は成立しません。そこで、4つを個別に計測し、総合的に検討します。

第1部では、学習が掛け算、足し算、比較といった算数の繰り返しであることを確認します。配列から出発して乗算と累算を実装し、誤差を減らす方向を探り、判定を10クラスへと拡張します。

第2部では、アルゴリズムごとに必要なリソースが異なることを確認します。乗算を用いない分類器、それを複数組み合わせたアンサンブル、学習を一切行わない手法、そして標本と次元を削減する2つの方向性を構築してみます。最後に、6つのモデルを1つの表にまとめて読み解きます。

第3部では、選択したものをチップに実装する形式に変換します。実数を整数に落とし、桁あふれが起きないように管理し、回路を評価する基準を作成します。そして、実際に回路となる形式の分類器を作成した後、データが大規模になった際にこの手法がどこで行き詰まるのかを計算します。

■ このプロセスが守る原則

  • 精度は常にベースラインと併記します。不均衡な問題では、数字一つだけでは何の意味もありません。

  • テーブルに記載する値はすべて実際に実行して得られたものです。測定できなかった項目は空欄のままにし、記憶で埋めることはありません。

  • 仮定はそれを立てた箇所に明示し、黙って変更してはなりません。

  • 調整する値は検証セットで決定し、テストセットは最後に一度だけ開きます。

15台のノートPCを同時に実行して正解ログと照合するスクリプトも同梱されています。皆様の実行結果が教材の値と一致しているかどうか、直接ご確認いただけます。

■ こんな方におすすめです

  • 機械学習は知っているが、そのモデルがハードウェアに何を要求するのか気になる方

  • FPGAや半導体を扱っているが、その上で何を動かせるのか知りたい方

  • AI半導体設計に向けて準備を進めながら、アルゴリズムとリソースの関係を学ぼうとする方

  • モデルを選ぶ際、精度だけでなく他の基準も必要だと感じてきた方

■ 前提知識

  • Pythonの基本文法

  • NumPy配列を扱った経験があるとスムーズに進められます。

  • 머신러닝에 대한 사전 지식은 필요하지 않습니다. 알고리즘은 과정에서 직접 만듭니다.

  • ハードウェアの事前知識も必要ありません。必要な概念はその都度説明します。

■ 実習環境

  • アナコンダとJupyter Notebook

  • numpy, scikit-learn, matplotlib — 初回のLab実行時に自動インストール

  • FPGAボードは必要ありません。

ボードは測定値を換算する基準としてのみ使用されます。

■ 一緒に提供されるもの

  • Python実習スクリプト15個

  • 固定された学習およびテストデータセット

  • 正解ログと一括検証スクリプト

  • 各ラボの応用実践3項目には、修正箇所と変更後の結果が併記されています。

応用演習に記載されている結果は、実際に値を変更して実行することで得られたものです。同じ値に変更すれば、同じ結果が得られます。

■ 本コースで扱わないこと

  • Verilogコードの作成 — 本コースではPythonのみを使用します

  • FPGAボードに実装して動作させる

  • 合成とタイミング解析

  • 回路とPythonを照合するビットレベルの検証——その基準策定にまで踏み込みます

  • 深層学習の最新アーキテクチャ ― 6つの古典的アルゴリズムを取り上げます

本コースでは、回路を構築する前に何を作るかを決定する段階について取り上げます。Verilog実装とボード実装は、FPGAを利用した実践演習へと続きます。

■ カリキュラム

セクション1 始める前に 9分 無料公開

セクション2 データと演算 29分 無料公開

セクション3 学習と多クラス分類 31分

セクション4 乗算なしのアルゴリズム 48分 セク

セクション5 削減と6つのモデル 44分

セクション6 整数への切り捨て 45分

セクション7 ボードへの移行 31分

合計約4時間

最初の2つのセクションをすべて無料で公開します。環境の案内にとどまらず、本コースにおけるモデルの測定方法や、最初の2つのLabをそのままご確認いただけます。今すぐPythonコードをダウンロードして、ご自身で実行してみてください。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 機械学習モデルの構築方法は知っているものの、そのモデルをFPGAやASICに実装できるかどうかの判断基準がなく、毎回感覚に頼って決めてきた方

  • 半導体やFPGAに携わりながらAIアクセラレータを担当することになったものの、アルゴリズム関連のドキュメントを読んでも、具体的に何を回路化すべきか見当がつかない方

  • AI半導体設計職を目指して準備を進める中で、精度重視の機械学習知識とリソース重視のハードウェア知識をどう結びつければよいか途方に暮れている方

  • モデルを完成させてからメモリ不足で最初からやり直した経験がある方

  • 論文のMAC数値は読めるものの、それが自社チップで何サイクル、何パーセントになるのか換算したことがない方

前提知識、
必要でしょうか?

  • Pythonの基本文法

  • NumPy配列を扱った経験(なくても受講可)

  • 機械学習の事前知識は必要ありません。アルゴリズムはコース内で直接作成します。

  • ハードウェアの事前知識も必要ありません。必要な概念はその都度説明します。

こんにちは
EdgeChipLabです。

キャリア認証

現職の大学教授として、システム半導体30年のノウハウを詰め込みました。

サムスン電子DS部門のシステム半導体研究員を皮切りに、英国およびドイツ法人のディレクター、システムLSIマーケティング・営業グループ長を経て、半導体工学を教える教授が自ら設計・検証した実務型カリキュラムです。

 

理論を超え、実際のハードウェア実装へ。あなたのエンジニアリング能力をレベルアップさせます。

散らばった断片的な知識だけでは、決して到達できない領域があります。受講生は、完成されたブラックボックスIPを使用するユーザーではなく、NPUとCPUを設計し、周辺機器を統合して、最終的には自分だけのAI SoCを構築できるシステムアーキテクト(供給者)へと成長することになります。

 

目で見るだけの講義ではありません。100%のハードウェア実装とBit-True検証を約束します。

理論や単純なシミュレーションだけで終わることはありません。講師自身のKCI登載学術研究と自ら設計した回路が、実際のFPGAハードウェア上で誤差なく動作する快感をぜひ体感してください。独自開発したRISC-V CPUを含むすべてのソースコードは透明に公開されており、普及型FPGA(Arty S7-25)と無料ツール(Vivado)だけで、誰でも自由に再現・検証することができます。

 

途切れのないフルスタックロードマップ:基礎からmini LLMアクセラレータまで

すべての講義は独立した断片ではなく、一つの巨大なシステムを完成させていく道のりです。

  • Step 1: AI理論および画像処理の基礎 (Machine Learningを含む)

  • Step 2: AIアクセラレータ(NPU)の設計および検証 (Machine Learningを含む)

  • Step 3: RISC-V CPU設計およびシステム統合

  • Step 4: 高度なAI SoCの実装およびmini LLM加速プラットフォームへの拡張(継続的なコンテンツアップデート)

     

 

客観的検証指標

本コースのすべての設計成果物は、グローバル標準と学界の厳格な検証を経ています。

  • RISC-Vアーキテクチャ検証:自社開発RISC-V CPU、国際財団公式コンプライアンステスト(ACT)通過およびソースコード公開(GitHub)

  • 学術的権威:単独著者による学術論文4編(KCI A等級の著名学術登載誌 IJIBC)

  • 世界的な評価:Amazonにて技術書2冊を出版(ベストセラー3位達成)

  • 実機動作検証済み:RV32I CPU、NPU、ビジョンシステム、GPS、Transformer、AURA-Edge SoCなど主要IPのArty S7環境における完全動作

ぜひ挑戦してください。自らコードをボードに実装し、結果を確認するというこのプロセスが終わる頃には、皆さんは以前とは全く異なる視点を持ったハードウェアエンジニアとしてレベルアップしているはずです。

もっと見る

カリキュラム

全体

7件 ∙ (3時間 23分)

講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価を受けていない講座です。
みんなの役に立つ受講レビューを書いてください!

EdgeChipLabの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥63,530

24%

¥11,136