見出し画像

mac で gemma.cpp を試す

macで「gemma.cpp」を試したので、まとめました。


1. gemma.cpp

gemma.cpp」は、Googleの「Gemma」用の軽量スタンドアロンC++推論エンジンです。

2. gemma.cpp のモデル

「gemma.cpp」のモデルは、8つ提供されています。

・2b-it : 2Bの指示モデル(bfloat16)
・2b-it-sfp : 2Bの指示モデル (8bit)
・2b-pt : 2Bの事前学習モデル (bfloat16)
・2b-pt-sfp : 2Bの事前学習モデル (8bit)

・7b-it : 7Bの指示モデル(bfloat16)
・7b-it-sfp : 7Bの指示モデル (8bit)
・7b-pt : 7Bの事前学習モデル (bfloat16)
・7b-pt-sfp : 7Bの事前学習モデル (8bit)

ダウンロード手順は、次のとおりです。

(1) 「the Gemma model page on Kaggle」を開く。
Kaggleにログインします。

(2) 「Gemma C++」タブの「2b-it-sft」を選択し、ダウンロードボタンを押す。
archive.tar」がダウンロードされます。

(3) 以下のコマンドで解凍。
2b-it-sfp.sbs」「tokenizer.spm」を取得できます。

$ tar -xf archive.tar  

3. gemma.cpp の実行

「gemma.cpp」の実行手順は、次のとおりです。

(1) cmakeのインストール。

$ brew install cmake

(2) リポジトリのクローン。

$ git clone https://github.com/google/gemma.cpp
$ cd gemma.cpp

(3) ビルド。

$ cmake -B build

「bfloat」の場合は「cmake -B build -DWEIGHT_TYPE=hwy::bfloat16_t」のようにオプションを付加します。

(4) 実行ファイルのビルド。

$ cd build
$ make gemma

(5) buildフォルダに「2b-it-sfp.sbs」「tokenizer.spm」を配置。

(6) 実行。

$ ./gemma \
  --tokenizer tokenizer.spm \
  --compressed_weights 2b-it-sfp.sbs \
  --model 2b-it

パラメータは、次のとおりです。

・--model : モデル (2b-it-sptなど)
・--compressed_weights : ウェイト (2b-it-sfp.sbs)
・--tokenizer : トークナイザー (tokenizer.spm)

関連



この記事が気に入ったらサポートをしてみませんか?