🐋 Llama.cppでDeepSeek R1 Dynamic 1.58-bitを実行
UnslothAIに大感謝!彼らの素晴らしい努力のおかげで、Llama.cppで完全なDeepSeek-R1 671Bパラメーターモデルを動的1.58ビット量子化形式(わずか131GBに圧縮)で実行できるようになりました!しかも最高なことに、大規模なエンタープライズ向けGPUやサーバーを必要とせず、自宅のマシンで実行可能になりました(多くの一般消費者向けハードウェアでは遅い可能性がありますが)。
Ollama上で利用可能な唯一真正のDeepSeek-R1モデルは、以下の671Bバージョンのみです:https://ollama.com/library/deepseek-r1:671b。他のバージョンは蒸留版モデルです。
このガイドは、Open WebUI統合のLlama.cppを使用して完全なDeepSeek-R1 Dynamic 1.58-bit量子化モデルを実行する方法に焦点を当てています。本チュートリアルは、M4 Max + 128GB RAMマシンを使用した手順を示していますが、自身の構成に合わせて設定を調整することが可能です。
ステップ1: Llama.cppをインストール
以下のどちらかを行います:
- プリビルドバイナリをダウンロード
- 自分でビルドする: 以下のガイドを参照してください: Llama.cpp ビルドガイド
ステップ2: UnslothAI提供のモデルをダウンロード
UnslothのHugging Faceページにアクセスし、DeepSeek-R1の適切な動的量子化版をダウンロードしてください。本チュートリアルでは、**1.58-bit (131GB)**版を使用します。この版は高度に最適化さ れていながら、驚くべきことに非常に機能的です。
「作業ディレクトリ」を把握しておいてください — Pythonスクリプトまたはターミナルセッションが動作している場所のことです。モデルファイルはデフォルトでそのディレクトリのサブフォルダにダウンロードされるため、そのパスを確認しておきましょう。例えば、以下のコマンドを/Users/yourname/Documents/projects
で実行している場合、ダウンロードされたモデルは/Users/yourname/Documents/projects/DeepSeek-R1-GGUF
に保存されます。
UnslothAIの開発プロセスや、これらの動的量子化版がなぜ効率的であるのかについて詳しく知りたい場合は、彼らのブログ投稿をチェックしてください:UnslothAI DeepSeek R1 動的量子化。
以下はプログラムを使用してモデルをダウンロードする方法です:
# Hugging Faceの依存関係を実行する前にインストールします:
# pip install huggingface_hub hf_transfer
from huggingface_hub import snapshot_download
snapshot_download(
repo_id = "unsloth/DeepSeek-R1-GGUF", # Hugging Faceリポジトリを指定
local_dir = "DeepSeek-R1-GGUF", # このディレクトリにモデルをダウンロード
allow_patterns = ["*UD-IQ1_S*"], # 1.58-bit版のみをダウンロード
)
ダウンロードが完了すると、以下のようなディレクトリ構造でモデルファイルが見つかります:
DeepSeek-R1-GGUF/
├── DeepSeek-R1-UD-IQ1_S/
│ ├── DeepSeek-R1-UD-IQ1_S-00001-of-00003.gguf
│ ├── DeepSeek-R1-UD-IQ1_S-00002-of-00003.gguf
│ ├── DeepSeek-R1-UD-IQ1_S-00003-of-00003.gguf