1fe26279c451b8921d864a4dc509412a35481dd7
.redirects.gollum
| ... | ... | @@ -48,3 +48,4 @@ polar/polar-ble-sdk/androidBleSdkTestAppが実行出来ない.md: polar/polar-bl |
| 48 | 48 | latex/複数行コメントアウトする.md: latex/LaTexで複数行コメントアウトする.md |
| 49 | 49 | latex/LaTexで複数行コメントアウトする.md: latex/LaTeXで複数行コメントアウトする.md |
| 50 | 50 | ffmpeg/動画を複数の画像に分割する.md: ffmpeg/ffmpegで動画を複数の画像に分割する.md |
| 51 | +llm/ollamaでllm-jp-3を動かす.md: llm/ollamaでllm-jp-3 (llm-jp-3-13b-instruct)を動かす.md |
llm/ollama\343\201\247llm-jp-3 (llm-jp-3-13b-instruct)\343\202\222\345\213\225\343\201\213\343\201\231.md
| ... | ... | @@ -0,0 +1,102 @@ |
| 1 | + |
|
| 2 | +1. `safetensor`形式から`gguf`形式に変換する。 |
|
| 3 | + |
|
| 4 | + 参考: <https://note.com/npaka/n/n3e99d2a45a4b> |
|
| 5 | + 各クローン先は任意の場所でOK。 |
|
| 6 | + |
|
| 7 | + 1. Hugging Faceからモデルをクローンする。 |
|
| 8 | + |
|
| 9 | + ``` |
|
| 10 | + $ cd |
|
| 11 | + $ git clone https://huggingface.co/llm-jp/llm-jp-3-13b-instruct |
|
| 12 | + ``` |
|
| 13 | + |
|
| 14 | + モデルが大きいので、待ってる間に以下を進める。 |
|
| 15 | + |
|
| 16 | + 1. `llama.cpp`のセットアップ |
|
| 17 | + |
|
| 18 | + 1. レポジトリをクローンする。 |
|
| 19 | + |
|
| 20 | + ``` |
|
| 21 | + $ cd |
|
| 22 | + $ git clone https://github.com/ggerganov/llama.cpp.git |
|
| 23 | + $ cd llama.cpp |
|
| 24 | + ``` |
|
| 25 | + |
|
| 26 | + 1. Python 3.10のセットアップ |
|
| 27 | + |
|
| 28 | + ``` |
|
| 29 | + $ mise use [email protected] |
|
| 30 | + ``` |
|
| 31 | + |
|
| 32 | + 1. venvの構築 |
|
| 33 | + |
|
| 34 | + ``` |
|
| 35 | + $ python3 -m venv .venv |
|
| 36 | + $ source .venv/bin/activate |
|
| 37 | + ``` |
|
| 38 | + |
|
| 39 | + 1. 必要なパッケージのインストール |
|
| 40 | + |
|
| 41 | + ``` |
|
| 42 | + $ pip install -r requirements.txt |
|
| 43 | + ``` |
|
| 44 | + |
|
| 45 | + 1. モデルをsafetensor形式からgguf形式に変換する。 |
|
| 46 | + |
|
| 47 | + ``` |
|
| 48 | + $ cd $HOME/llama.cpp |
|
| 49 | + $ python3 convert_hf_to_gguf.py ~/llm-jp-3-13b-instruct/ --outfile llm-jp-3-172b-instruct3.gguf |
|
| 50 | + ``` |
|
| 51 | + |
|
| 52 | + |
|
| 53 | +1. `Modelfile`を以下の内容で作成する。 |
|
| 54 | + |
|
| 55 | + <https://github.com/ollama/ollama/blob/main/docs/modelfile.md>と<https://huggingface.co/llm-jp/llm-jp-3-13b-instruct/blob/main/tokenizer_config.json>を元にChatGPT o1に作らせた。 |
|
| 56 | + |
|
| 57 | + ``` |
|
| 58 | + FROM ./llm-jp-3-13b-instruct.gguf |
|
| 59 | + |
|
| 60 | + # 推論時のパラメータを調整 |
|
| 61 | + PARAMETER num_ctx 4096 |
|
| 62 | + PARAMETER temperature 1 |
|
| 63 | + PARAMETER top_k 40 |
|
| 64 | + PARAMETER top_p 0.9 |
|
| 65 | + |
|
| 66 | + # システムメッセージを設定(任意の役割やトーンを指定可能) |
|
| 67 | + SYSTEM """あなたは日本語で質問に答えるアシスタントです。文体は丁寧かつ簡潔にしてください。""" |
|
| 68 | + |
|
| 69 | + # テンプレート例 |
|
| 70 | + # - .System : 上記の SYSTEM メッセージが入る |
|
| 71 | + # - .Prompt : ユーザが入力したプロンプトが入る |
|
| 72 | + # - .Response : モデルが生成する出力が入る |
|
| 73 | + TEMPLATE """{{ if .System }}以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。 |
|
| 74 | + |
|
| 75 | + {{ .System }} |
|
| 76 | + {{ end }} |
|
| 77 | + |
|
| 78 | + {{ if .Prompt }}### 指示: |
|
| 79 | + {{ .Prompt }} |
|
| 80 | + {{ end }} |
|
| 81 | + |
|
| 82 | + ### 応答: |
|
| 83 | + {{ .Response }}""" |
|
| 84 | + |
|
| 85 | + |
|
| 86 | + # 追加で会話の履歴を与えたい場合は MESSAGE を使う |
|
| 87 | + # MESSAGE user "こんにちは、調子はいかがですか?" |
|
| 88 | + # MESSAGE assistant "はい、快適に動作しています。何をお手伝いできますか?" |
|
| 89 | + |
|
| 90 | + ``` |
|
| 91 | + |
|
| 92 | +1. ollamaでモデルを構築する |
|
| 93 | + |
|
| 94 | + ``` |
|
| 95 | + $ ollama create llm-jp-3-13b-instruct -f ./Modelfile |
|
| 96 | + ``` |
|
| 97 | + |
|
| 98 | +1. ollamaで実行する。 |
|
| 99 | + |
|
| 100 | + ``` |
|
| 101 | + $ ollama run llm-jp-3-13b-instruct |
|
| 102 | + ``` |
|
| ... | ... | \ No newline at end of file |
llm/ollama\343\201\247llm-jp-3\343\202\222\345\213\225\343\201\213\343\201\231.md
| ... | ... | @@ -1,102 +0,0 @@ |
| 1 | - |
|
| 2 | -1. `safetensor`形式から`gguf`形式に変換する。 |
|
| 3 | - |
|
| 4 | - 参考: <https://note.com/npaka/n/n3e99d2a45a4b> |
|
| 5 | - 各クローン先は任意の場所でOK。 |
|
| 6 | - |
|
| 7 | - 1. Hugging Faceからモデルをクローンする。 |
|
| 8 | - |
|
| 9 | - ``` |
|
| 10 | - $ cd |
|
| 11 | - $ git clone https://huggingface.co/llm-jp/llm-jp-3-13b-instruct |
|
| 12 | - ``` |
|
| 13 | - |
|
| 14 | - モデルが大きいので、待ってる間に以下を進める。 |
|
| 15 | - |
|
| 16 | - 1. `llama.cpp`のセットアップ |
|
| 17 | - |
|
| 18 | - 1. レポジトリをクローンする。 |
|
| 19 | - |
|
| 20 | - ``` |
|
| 21 | - $ cd |
|
| 22 | - $ git clone https://github.com/ggerganov/llama.cpp.git |
|
| 23 | - $ cd llama.cpp |
|
| 24 | - ``` |
|
| 25 | - |
|
| 26 | - 1. Python 3.10のセットアップ |
|
| 27 | - |
|
| 28 | - ``` |
|
| 29 | - $ mise use [email protected] |
|
| 30 | - ``` |
|
| 31 | - |
|
| 32 | - 1. venvの構築 |
|
| 33 | - |
|
| 34 | - ``` |
|
| 35 | - $ python3 -m venv .venv |
|
| 36 | - $ source .venv/bin/activate |
|
| 37 | - ``` |
|
| 38 | - |
|
| 39 | - 1. 必要なパッケージのインストール |
|
| 40 | - |
|
| 41 | - ``` |
|
| 42 | - $ pip install -r requirements.txt |
|
| 43 | - ``` |
|
| 44 | - |
|
| 45 | - 1. モデルをsafetensor形式からgguf形式に変換する。 |
|
| 46 | - |
|
| 47 | - ``` |
|
| 48 | - $ cd $HOME/llama.cpp |
|
| 49 | - $ python3 convert_hf_to_gguf.py ~/llm-jp-3-13b-instruct/ --outfile llm-jp-3-172b-instruct3.gguf |
|
| 50 | - ``` |
|
| 51 | - |
|
| 52 | - |
|
| 53 | -1. `Modelfile`を以下の内容で作成する。 |
|
| 54 | - |
|
| 55 | - <https://github.com/ollama/ollama/blob/main/docs/modelfile.md>と<https://huggingface.co/llm-jp/llm-jp-3-13b-instruct/blob/main/tokenizer_config.json>を元にChatGPT o1に作らせた。 |
|
| 56 | - |
|
| 57 | - ``` |
|
| 58 | - FROM ./llm-jp-3-13b-instruct.gguf |
|
| 59 | - |
|
| 60 | - # 推論時のパラメータを調整 |
|
| 61 | - PARAMETER num_ctx 4096 |
|
| 62 | - PARAMETER temperature 1 |
|
| 63 | - PARAMETER top_k 40 |
|
| 64 | - PARAMETER top_p 0.9 |
|
| 65 | - |
|
| 66 | - # システムメッセージを設定(任意の役割やトーンを指定可能) |
|
| 67 | - SYSTEM """あなたは日本語で質問に答えるアシスタントです。文体は丁寧かつ簡潔にしてください。""" |
|
| 68 | - |
|
| 69 | - # テンプレート例 |
|
| 70 | - # - .System : 上記の SYSTEM メッセージが入る |
|
| 71 | - # - .Prompt : ユーザが入力したプロンプトが入る |
|
| 72 | - # - .Response : モデルが生成する出力が入る |
|
| 73 | - TEMPLATE """{{ if .System }}以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。 |
|
| 74 | - |
|
| 75 | - {{ .System }} |
|
| 76 | - {{ end }} |
|
| 77 | - |
|
| 78 | - {{ if .Prompt }}### 指示: |
|
| 79 | - {{ .Prompt }} |
|
| 80 | - {{ end }} |
|
| 81 | - |
|
| 82 | - ### 応答: |
|
| 83 | - {{ .Response }}""" |
|
| 84 | - |
|
| 85 | - |
|
| 86 | - # 追加で会話の履歴を与えたい場合は MESSAGE を使う |
|
| 87 | - # MESSAGE user "こんにちは、調子はいかがですか?" |
|
| 88 | - # MESSAGE assistant "はい、快適に動作しています。何をお手伝いできますか?" |
|
| 89 | - |
|
| 90 | - ``` |
|
| 91 | - |
|
| 92 | -1. ollamaでモデルを構築する |
|
| 93 | - |
|
| 94 | - ``` |
|
| 95 | - $ ollama create llm-jp-3-13b-instruct -f ./Modelfile |
|
| 96 | - ``` |
|
| 97 | - |
|
| 98 | -1. ollamaで実行する。 |
|
| 99 | - |
|
| 100 | - ``` |
|
| 101 | - $ ollama run llm-jp-3-13b-instruct |
|
| 102 | - ``` |
|
| ... | ... | \ No newline at end of file |