27Bパラメータのニューラルネットワークを通常のiPhoneや家庭用PCで実行する方法
最近、私はふと思っていました:本格的なLLM(Large Language Models)を実行するには、A100搭載のサーバーラック、または少なくとも最高クラスのRTX 4090が必要という概念に我们已经习惯了。しかし、27Bレベルのモデルを离散GPUのない通常のスマートフォンやノートPCのRAMに「押し込める」ことができるとしたらどうでしょうか?PrismMLチームのBonsai-demoプロジェクトは、まさにこれを実現しており、1ビットおよび三元量子化の魔法を活用しています。
プロジェクトの核心とは
大規模モデルの主な問題は、その「貪欲さ」です。標準的な27Bモデルを16ビット形式で保存すると、約50GBの容量になります。 인기のある4ビット圧縮(Q4_K_M)でも、重みだけで16〜17GBのビデオメモリが必要です。Bonsai-demoは極端なレベルへの移行を提案しています:1ビットおよび三元(1.58〜2ビット)モデルです。
結果として、Bonsai-27Bの1ビット設定ではわずか3.5GBしか占有しません。これは一般的なモバイルゲームのサイズと同程度です。開発者は、モデルが推論能力、画像の認識、さらにはツール呼び出しの能力を保持していると主張しています。
この「木」ができること
リポジトリを調査して、特に注目すべき点をいくつか見つけました。
ビジョンとドキュメント処理
这里的27Bシリーズモデルは単なるテキストベースではありません。これらはマルチモーダルシステムです。スクリーンショット、写真、PDFファイルを入力できます。内部では、視覚データをモデルが理解できるトークンに変換する特別なプロジェクターが使用されています。CPUで動作するローカルシステムとしては、まるで魔法のようです。
エージェント的な動作とMCP
デモには、MCP(Model Context Protocol)の本格的なクライアントが含まれています。知らなかった方のために説明すると、これはAnthropicからの新しい規格で、モデルが外部データに接続できるようにします。Bonsai-demoにはすでにDeepWikiやHugging Faceと連携する箱出しのツールが設定されています。つまり、モデルは単に幻觉を生成するだけでなく、インターネットから事实を取得します。
「思考」モード
27Bモデルにはチェーン・オブ・ソート推論機能があります。インターフェースでは、思考バジェットを設定できます:素早い回答から8,000トークン以上の深い分析まで。ハードウェアが弱い場合はLowに設定することをお勧めします。そうしないと、モデルがバックグラウンドで思考を「回転させている間、長い時間待たされることになります。
极端なコンテキスト節約
通常、100,000トークンのコンテキストは数GBのメモリを消費します。在这里、作者たちは4ビットKVキャッシュの実験的サポートを追加しました。これにより、長い会話時のメモリ消費が3.5分之1になります。数字で示すと、100kトークンは通常の6.3GBではなく約1.8GBになります。
技術的な詳細
このプロジェクトはllama.cppのフォークとApple Silicon用のMLXフレームワークに依存しています興味深いことに、1ビット量子化サポート(Q1_0)はすでにメインのllama.cppアップストリームに流れ込んでいます。三元重み(Q2_0)の状況はもう少し複雑です:現在移行作業中のため、プロジェクトは異なるプラットフォーム用の独自のプリコンパイル済みバイナリを出荷しています。
Mチップ搭載のMacをお持ちの場合、ビルドスクリプトがMLXをプルして、アーキテクチャ向けにすべてのコンポーネントをコンパイルします。WindowsとLinuxの場合は、CUDAとVulkanの自動検出を備えたスクリプトが提供されています。
試す方法
開発者はプロセスをできるだけ「シームレス」にしました。Hugging Faceから重みを手動でダウンロードしたり、環境を設定したりする必要はありません。
macOSまたはLinuxの場合、たった3行で十分です:
git clone https://github.com/PrismML-Eng/Bonsai-demo.git
cd Bonsai-demo
./setup.sh
スクリプトは自動的にパッケージマネージャーであるuvをインストールし、仮想環境を作成し、必要なモデル(デフォルトではTernary-Bonsai-27B)をダウンロードし、バイナリを準備します。
その後、ローカルサーバーを起動できます:
./scripts/start_llama_server.sh
ブラウザでlocalhost:8080を開くと、ビジョンと生成速度の両方をテストできる、おなじみのチャットが表示されます。
試す価値はあるか
Bonsai-demoは「GPT-4を倒す」ためのものではなく、アクセシビリティのためのものです。グラフィックカードのないオフィス用ノートPCでインテリジェントアシスタントを実行する必要がある場合や、モバイルアプリケーションにLLMを埋め込む必要がある場合、このプロジェクトは готовую基盤を提供します。
もちろん、1ビットモデルはフルサイズのモデルよりも性能は低くなります。複雑な論理タスクでより多くの間違いをする可能性があります。しかし、基本的な自動化、テキスト分類、または256kトークンのコンテキストを持つシンプルなチャットボットには、現在利用可能な最も効率的なソリューションの1つです。
リポジトリの主な利点は、その「パッケージ化された」性質です。三元モデルを実行するために量子化の専門家である必要はありません。コンパイルやパラメーターチューニングに関するすべての面倒なハックは、すでにbashスクリプトの中に隠されています。
関連プロジェクト