AIToday

2890万パラメータLLMがESP32-S3で動作

Hacker News3時間前
2890万パラメータLLMがESP32-S3で動作

要点

開発者が2890万パラメータの言語モデルを約8ドルのESP32-S3マイコンに正常にデプロイし、秒間約9トークンのテキスを完全にオンデバイスで生成した。これは同一ハードウェアクラスの従来記録26万パラメータをおよそ100倍上回り、GoogleのPer-Layer Embeddings技術を使用して大部分のモデルパラメータを低速フラッシュメモリに保存しながら、アクティブな計算層のみを高速RAMに保持している。モデルは短く一貫性のあるストーリーを生成するが、一般的な推論と知識に欠ける。

こういう要約が、毎朝あなたのメールに届きます。

無料で登録 →

3つのポイント

  • 何が起きたか

    開発者が2890万パラメータの言語モデルを約8ドルのESP32-S3マイコンで正常に実行し、サーバー接続なしにデバイス上で秒間約9トークンのテキスト生成を実現した。このチップクラスの従来記録は26万パラメータであり、今回のモデルはおよそ100倍の規模である。

  • なぜ重要か

    このブレークスルーはGemmaモデルから採用したGoogleのPer-Layer Embeddings設計を使用し、2500万パラメータの大部分を低速フラッシュメモリに保存し、各トークンに必要な行だけを高速RAMにロードする。このアーキテクチャの転換は、大規模モデルが極度にメモリ制約のあるハードウェア上で動作でき、クラウド依存なしにエッジデバイスでのAIアプリケーション実現の可能性を示している。

  • 注目点

    完全な実装、トレーニングコード、技術結果はプロジェクトリポジトリ(firmware/esp32_llm/README.md、src/、RESULTS.md)で入手可能である。モデルはTinyStoriesでトレーニングされ、短い一貫性のあるストーリーを生成するが、質問への回答、指示の遵守、事実知識の提供はできない。

詳細

開発者が2890万パラメータの言語モデルをおよそ8ドルのESP32-S3マイコンで動作させた。モデルは秒間約9トークンでデバイス上のテキストを直接生成し、サーバーには何も送信されず、小さなワイヤー接続スクリーンに各単語を表示する。これは同一ハードウェアクラスの従来記録(26万パラメータのみ)と比べておよそ100倍のモデルサイズの増加を示している。

このブレークスルーはGemmaモデル向けに元々設計されたGoogleのPer-Layer Embeddings技術に依存している。標準的な言語モデルではすべてのパラメータが高速メモリからアクセス可能である必要があるが、ESP32-S3は512KBのSRAMのみを持つ。これは厳しい制約である。Per-Layer Embeddingsはほとんどの言語モデルパラメータが計算ではなく読み取りを行う埋め込みルックアップテーブルに存在することを認識してこれを解決する。開発者は2500万行の埋め込みテーブルをチップの16MBフラッシュメモリ(低速だが大容量)に保持し、各トークンに必要な行のみをおよそ450バイト単位でロードする。実際の推論を行う小さな部分は高速メモリに留まり、大部分は決してロードされないため、大規模モデルの実行がほぼ無コストになる。最終モデルは4ビット量子化で14.9MBである。

モデルはTinyStoriesでトレーニングされた。これは小規模モデルが一貫性を持つストーリーを書くことを学べるほど単純な短いシンセティックストーリーのデータセットである。その結果、短いストーリーを生成し一貫性を保つが、質問への回答、指示の遵守、コード作成、事実情報の提供はできない。開発者はこの成果の意義がモデルの能力ではなくアーキテクチャとメモリレイアウトの革新にあることを強調している。ファームウェア、配線指示、トレーニングコード、アブレーション、量子化コードはプロジェクトリポジトリで入手可能であり、RESULTS.mdの完全な方法論の説明を含む。開発者は意図的にコミット履歴を保持しており、初期パラメータ計算のバグとその修正を含め、数値がどのように推移し なぜそうなったかを示している。この作業はAndrej Karpathyのllama2.cプロジェクトを基盤としており、小規模言語モデルをプレーンなCで訓練・実行できることを確立した。

背景と解説

この成果は言語モデルをハードウェアの極限にデプロイする方法の転換を表している。従来、モデルをマイコンに適合させるには、モデル全体が高速メモリに収まる必要があったため厳しいパラメータ削減が必須だった。ESP32-S3の512KB SRAMという限界により、このチップクラスの従来モデルは26万パラメータが上限だった。GoogleのPer-Layer Embeddingsアーキテクチャを採用することで、開発者はモデルのルックアップテーブル(埋め込み)を推論コアから切り離し、2890万パラメータのうち2500万を低速16MBフラッシュメモリに配置できた。アクティブな計算すなわち「思考」部分のみが高速メモリに存在する必要があり、メモリ制約の方程式が根本的に変わった。

モデルは実用的なパフォーマンスを維持しながらこれを達成している。秒間9トークンはスクリーン上のリアルタイムテキスト生成に十分であり、TinyStoriesでの一貫性のあるストーリー生成は、このアーキテクチャのトレードオフがスケール時の推論品質を損なわないことを証明している。TinyStoriesでの意図的なトレーニングの選択はモデルの制限(質問回答、指示遵守、事実知識なし)を認め、期待値をこのアーキテクチャが実現できることに根ざしている。これは明確に大規模モデルが小さなエッジハードウェア上で動作できることを実証することであり、汎用AI システムとの競争ではない。

よくある質問

このような大規模モデルがこのような小さなチップに収まるのはどうしてか?
モデルはGoogleのGemmaモデルのPer-Layer Embeddingsを使用し、2500万パラメータを高速RAMではなく低速フラッシュメモリに保存している。各トークンに必要なわずかな行(約450バイト)のみがおよそ512KBの高速SRAMに一度にロードされ、小さな推論コアは高速メモリに留まる。
このモデルが実際にできることは何か?
TinyStoriesでトレーニングされ、短く単純なストーリーを書きながらおおむね一貫性を保つ。質問への回答、指示の遵守、コード作成、事実知識の提供はできない。
テキスト生成の速度はどのくらいか?
モデルは秒間約9トークンのテキストをエンドツーエンドで生成し(純計算時秒間9.7トークン)、512KB SRAM、8MB PSRAM、16MBフラッシュを備えたESP32-S3上で完全に動作する。

「大規模言語モデル」の最新ニュースを、毎朝7時にお届けします

AIが要約して、あなたの選んだトピックだけを1日1通。LINE・Email・Slackで届きます。

登録無料・30秒で完了・いつでも解除できます

ディスカッション

まだコメントがありません。最初のコメントを投稿しましょう!

ログインして議論に参加

関連記事

AIニュースを毎日お届け

200以上のソースから厳選したAIニュースを毎日無料でお届けします。

無料で始める

登録無料・30秒で完了・いつでも解除できます