Fugaku-LLMをollamaで利用する
国産LLMであるFugaku-LLMが2024-05-10に公開されました。
LLMのチャットアプリとしてインストールが簡単で人気のollamaに、Fugaku-LLMのモデルを登録して使うことができたので、その手順を紹介します。
動作確認環境
- OS
Ubuntu 22.04 Desktop
およびWSL上のUbuntu-22.04
- ollama v0.1.34 (2024-05-10時点の最新バージョン)
(1) ollamaをインストールする
(まだollamaをインストールしていなければ)
ollamaの公式サイトに行って「Download↓」をクリックし、
OSに応じたインストーラーを入手してインストールします。
(WSL上のUbuntu-22.04の場合はもちろんLinux
です)
(2) Fugaku-LLMのGGUFファイルをダウンロードする
Fugaku-LLMには2024-05-10現在3種類のモデルが公開されています。
- Fugaku-LLM-13B (ベースモデル)
- Fugaku-LLM-13B-instruct (インストラクトモデル)
- Fugaku-LLM-13B-instruct-gguf (インストラクトモデルをGGUFフォーマットに変換したもの)
このうちで、ollamaで利用するのは3つめのFugaku-LLM-13B-instruct-ggufモデルです。
Hugging Faceの該当ページに行って
Fugaku-LLM-13B-instruct-0325b-q5_k_m.gguf というファイルをダウンロード します。
(3) ollamaにFugaku-LLMを登録するためのモデルファイル(設定ファイル)を用意する
ollamaにモデルを登録するためには、モデルファイルを作成する必要があります。
モデルファイルの作り方は、githubにあるollamaのページに説明があります。
また、Fugakuのパラメータやプロンプトは、Hugging FaceのFugaku-LLMのページのコード例から取得できます。
両者をにらみつつモデルファイルを作ると次のようになります。
FROM ./Fugaku-LLM-13B-instruct-0325b-q5_k_m.gguf
PARAMETER temperature 0.1
PARAMETER repeat_penalty 1.0
PARAMETER top_p 0.9
PARAMETER top_k 0
SYSTEM """以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。""""
TEMPLATE """{{ if .System }}{{ .System }}
{{ end }}{{ if .Prompt }}### 指示:
{{ .Prompt }}
{{ end }}### 応答:
"""
上記の内容のテキストファイルを、モデルファイルをダウンロードしたディレクトリに作成します(ファイル名をModelfile
とします)。
(4) ollamaにFugaku-LLMを登録する
ターミナルでモデルファイルをダウンロードしたディレクトリに移動して、次のコマンドを実行 します。「transferring ...」という行で始まるメッセージが表示され、最後に 「success」と表示されたら成功 です。
ollama create fugaku-llm -f Modelfile
登録が終わった段階では(ollamaが管理するディレクトリにモデルファイルがコピーされているので)ダウンロードしたファイルは削除しても大丈夫です。
ちなみにollamaへの登録を解除(コピーされたファイルも削除される)する場合は次のようにしてください。
ollama rm fugaku-llm
(5) 実行
実行は他のモデルと同様です。モデル名はステップ(4)のコマンドラインで指定した fugaku-llm
になります。
ollama run fugaku-llm
えんじょい!
付録: WSL上のUbuntu-22.04で実行したときの様子
ollamaにモデルファイルを登録したところ
質問してるところ(島根にも詳しいです!)
Macで試された方の記事
Kaito Sugimotoさん、ollamaで Fugaku-LLM を動かす
- Macで動作確認されています。dockerも利用されています。
- モデルファイルが微妙に異なりますが、同様の動作になっているようです。
Discussion