見出し画像

覚え書き:tokyotech-llm/Llama-3-Swallow-8B-Instruct-v0.1, 70BをOllama用に変換して使う方法


必要なファイルをダウンロードする。

上記の設定をした上で、下記の例を参考にしてください。

huggingface-cli download mmnga/Llama-3-Swallow-70B-Instruct-v0.1-gguf Llama-3-Swallow-70B-Instruct-v0.1-Q4_K_M.gguf --local-dir .

ダウンロード元は下記のgguf化されたHuggingfaceから

上は8Bモデル、下は70Bモデルの量子化されたもの

必要なのは、Swallow用modelfile 
(modelfileforswallowという名前にしました)

FROM ./Llama-3-Swallow-70B-Instruct-v0.1-Q4_K_M.gguf


SYSTEM """"
あなたは誠実で優秀な日本人のアシスタントです。特に指示が無い場合は、常に日本語で回答してください。
"""
PARAMETER stop <|start_header_id|>
PARAMETER stop <|eot_id|>

TEMPLATEは略して大丈夫。Ollamaのバージョンアップで、自動的に、using autodetected template llama3-instruct と働いて、modelfileにChatTemplateが書き込まれる。

自動的に書き込まれるのは以下です。

TEMPLATE "{{ if .System }}<|start_header_id|>system<|end_header_id|> {{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|> {{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|> {{ .Response }}<|eot_id|>"

Ollama用に変換の例

ollama create llama-3-swallow-70b:q4_k_m -f modelfileforswallow

こんな感じで成功すればよし。

transferring model data
using autodetected template llama3-instruct
creating new layer
writing manifest
success

これで、ollama run llama-3-swallow-70b:q4_k_m でTerminalで動きます。
ただ、このサイズだと、M3Max MacbookPro 64GBでは、ファンが動きながらギリギリ動くという感じなので、自分のPCのスペックと相談して、量子化モデルを選んでください。

おまけ
モデル名の変更
ollama cp llama-3-swallow-70b:q4_k_m 好きに変えたい名前

モデルの削除
ollama rm llama-3-swallow-70b:q4_k_m

ollama libraryにpushしたので、70bは以下で動かせます。

ollama run lucas2024/llama-3-swallow-70b:q4_k_m

8Bは

ollama run lucas2024/llama-3-swallow-8b-v0.1:q5_k_m

#AI #AIとやってみた #やってみた #大規模言語モデル #ローカルLLM #Huggingface

この記事を最後までご覧いただき、ありがとうございます!もしも私の活動を応援していただけるなら、大変嬉しく思います。