見出し画像

ローカルで推論を始めるためのLLMをダウンロードする方法について

前提

  • Windows 11

  • Core i5 もしくは Ryzen 5程度のCPU

  • メモリ 16GB 以上

  • 十分な空き容量 (※ダウンロードするモデルのサイズ * 3倍程度)

  • gitのインストールを完了している

  • llama.cppインストールを完了している

Hugging Faceよりオフィシャルのモデルをダウンロードする

Sakana AIのEvoLLM-JP-A-v1-7Bを例にダウンロードを行う。まずは、HuggingFaceでモデルを検索して、Files and versionsをクリックする

clone repositoryをクリックすると、クローンする方法が書いてあるので実行する。インターネット回線にもよるが、他のことでもして気長にダウンロードの完了を待とう。(例:下り速度、100Mbpsで15分〜30分程度)

画像
clone repository
# 一度だけでOK
git lfs install
# ダウンロードのコマンドはこちら
git clone https://huggingface.co/SakanaAI/EvoLLM-JP-A-v1-7B

llama.cppのggufモデルに変換する

llama.cppのディレクトリにSakanaAIというフォルダが置かれており、その直下にモデルファイルがあるとする

⚪︎ディレクトリ構造

  • llama.cpp (DIR)

    • convert.py (FILE)

    • SakanaAI (DIR)

      • git cloneしたファイル一式(FILES)

Poweshellやコマンドプロンプトなどを使用して実行する
(※既存のファイルやディレクトリはある程度入力してからtabキーを押せば補完してくれるので全て手打ちで入力する必要はない)

# 実行するとggml-model-f16.ggufが作成される
python .\convert.py .\SakanaAI\

# 実行するとmodel.gguf(Q4)が作成される
.\quantize.exe .\SakanaAI\ggml-model-f16.gguf .\SakanaAI\model.gguf q4_0

作成したggml-model-f16.gguf、またはmodel.ggufは、llama-cpp-pythonを介してGPU不要で使うことが出来るが、動作としては4bitでQuantizeしたmodel.ggufの方が動作は軽い

従って、推論するか動作確認を終えたらmodel.gguf以外のダウンロードしたファイルやggml-model-f16.gguf は削除してよい。使用しているハードディスクもしくはSSDの容量を取り戻そう

なお、Hugging Faceよりユーザーがコンバートしたモデル(gguf)をダウンロードする方法もある。自分でコンバートする必要はなくなるので手間は減るが、llama-cpp-pythonを使用する場合はllama.cppのセットアップが必要となるので手間は変わらないこと。また、データの安全性など含めてユーザーを信用できるか確認しないとならない。それ自体はオフィシャルも変わりはしないのだが、いずれにしても使用するときには自分の判断(責任)が重要となるカテゴリだと思っている

推論について

本件は推論するところまでは議論しないが、llama-cpp-pythonなどを活用して試すことが出来る

llama-cpp-pythonのインストールと推論(手間は掛かるがコードを自分で書きたい人向け)↓

自作した推論サーバ、modelフォルダにmodel.ggufを入れるだけで動作する(とりあえず、手軽に推論したい人向け、アプリケーション)↓

画像
推論の例

おわり!

この記事が参加している募集

ピックアップされています

#最近の学び 記事まとめ

  • 1,233本

コメント

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。
ざっくり、IT関連全般をサポートする人。過去に「ICT / Office / プログラミング / 情報処理」講座の講師、ソフトウェア開発技術者 / プログラマー / 個人的備忘録→https://educator.tokyo/
ローカルで推論を始めるためのLLMをダウンロードする方法について|e
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1