AIアクセラレータコースでは、AIハードウェア開発フローにおける種々のプロセスを身に着けます。
事前トレーニング
メインプログラムへの参加に必要な技術的スキルを身につけること、及びTenstorrentにおけるコミュニケーションや仕事の進め方、ツールの使い方を身につけることを目指します。トレーニング中は、次の2つの課題に取り組みます。
1. AI数値フォーマット変換ユニットの設計 | 2.Tensix IP向けAIコンパイラ最適化 | ||
研修内容 | 浮動小数点の変換を行うハードウェアユニットを設計し、基本的なハードウェア設計スキルを習得する。 このプログラムでは、任意の整数および浮動小数点フォーマットからTensixの数学ユニットがサポートするフォーマットへの変換を行うカスタムハードウェアユニット、さらにサポートされているフォーマットから任意の整数および浮動小数点フォーマットへの変換を行うユニットを設計する。設計仕様書の作成、RTLコードの記述、テストベンチの作成が含まれる。この課題を通じて、整数および浮動小数点フォーマットの仕組みを学び、多様な入力および出力をサポートするロジックを最適化・最小化する方法を習得することができる。 | Tenstorrent IP Tensix向けに、効果的なカーネル開発とオペレーション(op)の記述を通じてAIモデルのパフォーマンスと効率を向上させるコンパイラ最適化フレームワークを開発する。インターンは、コンパイラ設計、カスタムハードウェアとのインターフェース、およびAIモデルの最適化に関する実践的な経験を積むことができる。 | |
到達目標 | AIに適用する数値のフォーマット変換を行うハードウェアユニットを設計し、基本的なハードウェア設計スキルを習得する。具体的には、任意の整数、浮動小数点フォーマットから、テンストレントAIでサポートされているフォーマットへの返還を行うハードウェアユニットの設計。多様な入力および出力をサポートするロジックの最適化、最小化する方法を習得する。 | Tenstorrent IP Tensix 向けに、AIモデルのパフォーマンスと効率を向上させる最適化フレームワークを開発する。具体的には、コンパイラ設計、カスタムハードウェアとのインターフェース、AIモデルの最適化に関する実践的な経験を通じ、AIワークロードとハードウェアとの相互作用を理解する。 | |
スケジュール | Week1 | オンボーディング ラップトップやアカウントのセットアップ、社内システムの導入、情報管理及びセキュリティ教育を行う。 | |
Week2 | オンボーディング ツールやワークフローの導入を完了させ、作業環境の確認を行う。 | ||
Week3 | アーキテクチャの理解 仕様書を読み、Tensixの既存のアンパッカーおよびパッカーロジックを参照し、システム全体のアーキテクチャを理解し、設計フローを把握する。 | セットアップ Tensixのアーキテクチャとその機能を学習する。 IPに関連する既存のドキュメントやリソースを確認し、AIワークロード向けの特定の機能に焦点を当てる。 | |
Week4 | RTL & MAS RTLコードの記述を開始し、マイクロアーキテクチャ仕様書を作成する。 | 設計 AIワークロードにおける一般的なオペレーション(例: 畳み込み、活性化関数)を特定し、ハードウェア向けに最適化可能なものを抽出する。Tensixアーキテクチャに最適化されたカスタムカーネルを設計する。 | |
Week5 | テストベンチ テストベンチの環境を構築し、テストの準備を行う。 | カーネル実装 開発したカーネルを実装し、テストを行う。カーネルの機能と性能向上について詳細に説明するドキュメントを作成する。 | |
Week6 | RTLの完成 残りのRTLを記述する。 | ||
Week7 | オペレーション作成 Tensixの独自の機能を活用する新しいオペレーション(op)を作成する。基本的なオペレーション(例: 行列積、プーリング)を実装し、コンパイラフレームワークに適切に統合されることを確認する。 | ||
Week8 | |||
Week9 | 検証 ランダムテストを実行し、不具合の修正を行う。 | テスト 開発したオペレーションのテストを行い、ハードウェアへの効率的なマッピングを確認し、実行時間の改善を実証する。 コンパイラのバックエンドを改良し、開発したカーネルとオペレーションを既存のAIコンパイラフレームワークに統合する。サンプルAIモデルを使用して徹底的にテストを行い、既存の実装と比較してその性能をベンチマークする。 | |
Week10 | |||
Week11 | 品質保証 テストベンチとRTLの品質確認を行う。 | 総括 Tensixアーキテクチャ上で新しく実装したカーネルおよびオペレーションの性能を評価するためのベンチマークを作成する。結果を分析し、ボトルネックやさらなる最適化の可能性がある箇所を特定する。 性能評価を最終化し、結果をドキュメントとしてまとめる。 | |
Week12 | 総括 プロジェクトをまとめ、成果物を整理する。 | ||
評価方法 | 課題ごと | 1. マイクロアーキテクチャ仕様書の完成度 2. RTLコードの品質 3. テストベンチの機能 4. 動作検証のためのランダムテスト結果 | 1. 性能評価レポートの完成度 2. 分析結果の妥当性 3. プレゼンテーションの内容 |
共通 | 1. 英語でのテキスト・口頭によるコミュニケーション能力 (仕様書などの成果物は全て英語、EmailやSlackのコミュニケーションも全て英語を用いる) 2. 一般的な問題解決能力 |
メインプログラム
メインプログラムでは、実際にプロジェクトチームに入り、次の課題テーマを経験します。
アーキテクチャ
性能シミュレータに対する新規機能の追加等の課題を通じて、アーキテクチャに関する理解を深める。最初に既存の性能シミュレータのコードを理解することからはじめ、性能評価の手法について段階的に理解を進める。具体的な課題例として、設計検証に利用するシミュレータを性能シミュレータと組み合わせ動的に実行する命令を選択できる環境の構築などが挙げられる。
RTL設計
実際の製品で要求される機能仕様を調査して、RTLでの実装を行なう。仕様に記載されている要件をマイクロアーキテクチャに翻訳し、検証や物理的に実現可能なRTLへと実装する方法を学ぶ。具体的な課題例としては Advanced Interrupt Architectureの調査とその機能を実現するRTLの設計などが挙げられる。
設計検証
既存のRTLに対する検証方法を様々な面から検討し、実装する。そのうえで不具合の修正までを行う。具体的な課題例としてはLLMを使ったフォーマル検証環境の構築などが挙げられる。
物理設計
検証済みのRTLに対して物理的に動作可能なレイアウトを設計し、製造可能な状態にする。単に動作するのみではなく、物理検証ツールを用いて設計データを解析し、物理的な製造に最適な設計を目指す。課題例としては、パワー消費の最適化や信号遅延の改善などが挙げられる。
評価環境、評価
単に動作検証だけでなく、実際の様々なアプリケーションを想定した性能評価動作評価や目標に対する性能評価を行う。
到達目標 | プログラム全体を通じて、下記を身につけることを目標とする。 1. AIハードウェアの設計プロセスの習得 2. Tensixアーキテクチャの理解 3. プロフェッショナルなビジネスマナーとチームワークの習得 4. AIに使用される高性能な数学およびデータ移動ハードウェアの設計および検証を独立して行う経験 | ||
課題プロセス | オンボーディング | 技術メンターから課題として取り組む内容について研修を受ける。実際の開発チームに参加し、システム部門のサポートを受けつつ、開発環境の整備を進める。トレーニング資料を活用しながらプロジェクトへの理解を深める。同様の課題テーマに以前取り組んでいたインターンからの引き継ぎを受ける。 | |
課題取組み (前半) | メンターやチームのサポートを受けながら課題に取り組む。必要に応じて社員の業務のシャドーイング等を行い、実際の開発業務フローに対する実践的な理解を深める。 また、同様の課題テーマに以前取り組んでいたインターンからもサポートを受ける。中間レビューに向けて成果をまとめる。 | ||
中間技術レビュー | 課題の取り組みについて技術的な発表をマネージャーやメンター、チームメンバーに向けて実施し、進捗の評価が行われる。 メンターやマネージャーからフィードバックと技術指導を受け、以降どのように課題を進めるか、活動内容や目標の方針を立てる。 また、技術発表を通じてレポーティングやコミュニケーションについてのアドバイスも受ける。 | ||
課題取組み (後半) | 中間レビューのフィードバックを受けて、課題の最終発表に向けた取り組みを行う。 | ||
総括 | 成果物の整理をし、最終レポートを作成する。そのうえでプレゼンテーションを行い、課題を総括する。また、課題を通じて得られたインサイト等もチームと共有する。 課題を次のメンバーに引き継ぐためのドキュメントの整理や成果物のクリーンアップ(コードの整理等)を行なう。 インターンプログラムの残り期間に応じて、次の課題の選択をする。 | ||
評価方法 | 週次のマネージャーチェックインにより、課題進捗を継続的に評価・管理する。月単位、期単位の評価を行いフィードバックを行う。 また、課題ごとの包括的な評価と、インターンの最終プレゼンテーションによる総合評価を行なう。インターンの最終プレゼンテーションではインターン期間を通じておこなった課題に対する報告に加えて、インターンを通じて感じた課題感や将来の展望をチームに共有する。主な評価項目としては、下記の2点となる。 1. AIハードウェア設計・検証タスクの80%以上を独立して遂行できるか 2. プロフェッショナルなコミュニケーション能力を身に着けているか 以上の評価と最終プレゼンテーションの結果を踏まえ本トレーニング修了の認証を授与する。 |