見出し画像

ollamaにデフォルトモデル以外を利用したい


はじめに

前回の記事でDockerエンジン版 ollama環境はセットアップできました。デフォルトモデルでも良いのですが、色んなファインチューニングされたGGUF形式のモデルがアップロードされています。

今回、Googleのローカライズ戦略でGemma 2 2Bをファインチューニングしたモデルが2024年10月3日開催されたGemma Developer Day in Tokyoにて公開されました。
このモデルは、ollamaのモデルには入っていませんので、これを例に進めていきます。

とはいえ、Googleの公式huggingfaceではsafetensors形式ですから、gguf形式にコンバートする必要があります。
今回は、あるふさんがコンバート済のものを公開して頂けていますので、これを利用することにします。

Googleさんのgemma-2-2b-jpn-itを量子化したものたちです。 ライセンスをよく読んだうえでお好きな方法で使ってください。

あるふさんのREADME

ちゃんとライセンスは良く見て利用しましょう。

gemma2 2b jpnを利用する

モデルのダウンロード

あるふさんがアップロードして頂いているGemma 2 2b jpnモデルをollamaに登録します。

なぜあるふさんのを利用するかというと、gguf形式変換済であるのと、量子化していると軽量PCでも動作可能になるという話です。
つまり、自分で行うならばgguf変換方法を学び、量子化方法も合わせて行い動作検証までする必要があるという意味です。
(後日回ではそれも公開予定です)
今回は単に、ollamaサイトに未登録モデルを個人が登録するという部分のみです。

用意するのは、huggingfaceの上記リンクから「Files and versions」をクリックし、利用PCのスペックに応じた量子化モデルを選択します。

選択基準としてはGPU搭載PCであればどれを選んでも良いと思います。そうでない方はファイルサイズを見ながら、メインCPUのメモリ量も見ながら決めることになります。

私の場合、GPUメモリが6GB以上あるのでbf16でも良いのですが、q8_0版を選択しています。

Modelfileの作成

以下のようなModelfileを作成します。

FROM /root/.ollama/gemma-2-2b-jpn-it-Q8_0.gguf
SYSTEM """
"""

SYSTEMはシステムプロンプトを作成しておく場合はここに記述することになります。とりあえず私は省略しました。
Modelfileには追加パラメタの記述もあるらしいのですが、特にgemma 2では省略値で大丈夫です。

モデルの登録

ollamaには以下のコマンドで登録します。
とその前に、Dockerファイルにファイルを送り込む必要があります。
Dockerコマンドのcpの後にggufファイル名, コンテナ名, ユーザ名, ディレクトリ名です。

$ docker cp gemma-2-2b-jpn-it-Q8_0.gguf ollama:/root/.ollama/
$ docker cp Modelfile ollama:/root/

以下のコマンドでollamaに登録します。

$ docker exec ollama ollama create gemma-2-2b-jpn-it-q8_0 -f /root/Modelfile
transferring model data
using existing layer sha256:6dd55240b4d43fa38682ae2cd893e65d85826c308b523784d0ac7c8e8f9f5a4d
using autodetected template gemma-instruct
creating new layer sha256:01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
using existing layer sha256:2490e7468436707d5156d7959cf3c6341cc46ee323084cfa3fcf30fe76e397dc
creating new layer sha256:259a86d20b6c65219f447493691c2e95ebef0035a28fcb8631e2450008c25f0c
writing manifest
success

こんな感じでsuccessが出れば無事終了です。
Open WebUIをリロードするか起動するかで、モデル選択名に追加したモデル名(この例ではgemma-2-2b-jpn-it-q8_0)が選択できるようになります。

自分でファインチューニングした場合でも、こんな風に登録すれば利用できるようになります。

なお、以降ではollama登録は既にできるようになった前提としますので、宜しくお願い致します。

追記

Macの方はぬこぬこさんの記事に記載されていますので、こちらもどうぞ。


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