Hugging Face のモデル(GGUF)を ollama で使うまでの5ステップ

May 30, 2024, 6:35 AM
おはようございます。 現在 May 30, 2024, 6:05 AM です。
microAIのバックグラウンドの一部に、ollama を使わせて頂いています。日本のサービスですので、日本語が得意なLLMを探す旅が続いています。
Hugging Face では日々、日本語にチューニングされたモデルが公開されていますが、それらを ollama で使用するまでの流れを忘れがちなのでメモとして残しておきます。

Step1: Hugging Face クライアントのインストール

$ pip install huggingface-hub
最初に、Hugging Face で色々できるツールをインストールしておきます。

Step2: モデルをダウンロード

$ cd
$ huggingface-cli download \
lightblue/suzume-llama-3-8B-japanese-gguf \
ggml-model-Q4_K_M.gguf \
--local-dir downloads \
--local-dir-use-symlinks False
:
ggml-model-Q4_K_M.gguf: 100%|█████████| 4.92G/4.92G [01:00<00:00, 81.8MB/s]
Download complete. Moving file to downloads/ggml-model-Q4_K_M.gguf
今回は、
https://huggingface.co/lightblue/suzume-llama-3-8B-japanese-gguf
の lightblue/suzume-llama-3-8B-japanese-gguf の ggml-model-Q4_K_M.gguf をダウンロードしました。実行すると Downloads/ggml-model-Q4_K_M.gguf にファイルが保存されました。
書式は、以下のとおりです。
$ huggingface-cli download \
{{リポジトリ名}} \
{{ダウンロードするモデル名}} \
--local-dir downloads \
--local-dir-use-symlinks False

Step3: Modelfile の作成

$ nano SuzumeModelFile
ファイル名は好きに付けます。

FROM ./Downloads/ggml-model-Q4_K_M.gguf

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|>
"""

PARAMETER num_ctx 4096
PARAMETER repeat_penalty 1.1
PARAMETER temperature 0.7
PARAMETER top_k 40
PARAMETER top_p 0.9
ダウンロードしたモデルのパス、TEMPLATE, PARAMETER を指定。

Step4: モデルの読み込み

$ ollama create suzume -f SuzumeModelFile
transferring model data
using existing layer sha256:01fbc7f9eddf50c50defdfdb43723c40c544b4060227d521661fa0fbab532c6e
creating new layer sha256:d87712d407372b1aa3c4610291a89b74dd776c8ae7fc34d207b5aa947a738cea
writing manifest
success
モデルファイルを読み込みます

Step5: 推論実行

$ ollama run suzume "AIについて小学生でもわかるようにおしえて"

推論結果

AIってなに?


AIは、人工知能の略で、人間が計算機を使って作ったプログラムやシステムです。このシステムは、人の知識や意図を模倣し、人工的に学習して、自分で決定を行うことができます。


AIを使った例:
1. **Google翻訳**: 日本語から英語に翻訳する機能などがあります。
2. **音声認識のAIアプリ**: 音声でテキストメッセージを入力できるサービスがあります。
3. **ロボット**: 人間の動作や言葉を理解し、人と一緒に働くことができる。

これらのシステムは、人間の知識や行動を模倣して、仕事を手伝います。


AIを使う利点:
1. **効率的な仕事**: AIが行う仕事は、人間よりも速い速度で行えることがあります。
2. **高精度なデータ分析**: AIは大量のデータから重要な情報を抽出することができます。

しかし、AIの使い方は、適切に使用することが重要です。


AIを使った例:


- **自律運転車**: 人間の指示なくしても、安全に運行できる車。
- **診断支援ツール**: 医療機関が医師の助けとして使うシステム。

これらの例は、AIを利用して効率的な仕事を行い、人間の生活を楽にするものです。


AIを使って、地球環境保護にも貢献できます。
1. **エネルギー効率化**: AIを使った家電や交通機関が活用されることで、エネルギー消費削減に寄与します。
2. **環境モニタリング**: AIを利用したシステムで、自然環境のデータをリアルタイムで収集し分析できます。

これらの例は、AIを活用して、地球環境保護にも貢献するものです。


AIを使って、教育も向上します。
1. **オンライン教育プラットフォーム**: オンラインで学習できるプラットフォームの登場により、教育機会が広がります。
2. **個別学習支援AIツール**: 学生の理解度合いを分析し、適切な教材や方法を提案するシステム。

これらの例は、AIを使って教育環境の向上に貢献します。


AIは人間と協力して、効率的な仕事や地球環境保護など、様々な分野で活躍しています。これらは、AI技術がどのように人生を変えるかを示す一例です。


これからも、AI技術の進化によって、新たな分野での貢献が見られるでしょう。 AIを使って、地球環境保護や教育機会向上など、様々な分野で活躍してみてください。
素晴らしい!🍺

ollama でアップしておきました

自分用に
https://ollama.com/microai/suzume-llama3
で共有しておきました。
1台のGPUのVRAMに収まらないLLMモデルを 2台で分散してみたら動いた話1台のGPUのVRAMに収まらないLLMモデルを 2台で分散してみたら動いた話
より良い回答を得るための LLM プロンプトエンジニアリング